A mental bridge between a hacker and their LLM(s) of choice.

Files
README.md

noid #

noid is a local desktop application and stdio MCP server designed to give you and your agents the ability to express the relationships between files in your projects. While other software focus on providing you with a document editing experience that might happen to also form a relational graph between files, noid is all about the relationships themselves and leaves editing to other software.

You and your agents both work on the same board, and what each of you adds is kept apart. Everything stays on your machine. There are no network services and your data lives in your own folder. There's no special setup required to start using noid in your projects except to install the electron app and the MCP server.

Features #

  • Display files in directories as nodes in a graph.
  • Edges are labeled relations with arbitrary values.
  • Human and agents each write notes attached to relations.
  • Text file preview.

Install #

You need:

  • Linux
  • Node.js with npm
  • a Java runtime (shadow-cljs uses it to compile ClojureScript)

Then:

git clone <repo-url> noid && cd noid
npm install
npm run install-local

That gives you:

  • noid and noid-mcp in ~/.local/bin (add that folder to your PATH if it isn't there already);
  • a desktop entry;
  • noid-mcp registered with Claude Code at user scope, as agent claude.

To update, pull and run npm run install-local again.

Usage #

noid <path>

Opens noid in the current directory if path is not provided, otherwise in path.

For help:

noid --help
noid-mcp --help

Register the MCP server in Claude Code:

{"mcpServers": {"noid": {"command": "noid-mcp", "args": ["--agent", "noid-dev"]}}}

Development #

  • npm start, npm run build, npm test, npm run e2e, npm run test-install
  • The dev copy is named noid-dev, so it runs alongside the installed one.
  • Conventions are in CLAUDE.md, design notes in docs/memories/, tasks in docs/tasks/, and the vision in docs/vision.md.

License #

GPL v3