basemind
Local Rust index of a repo's code, docs, git history and memory, served to coding agents over MCP
Five Neo.mjs Agent OS MCP servers: shared agent memory, repo knowledge, GitHub work, live app control
By neo.mjs JavaScript Local · stdio Knowledge and memoryGit and code hostingDeveloper tools
28 popularity score ★ 12 ↓ 60/wk
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
git clone https://github.com/neomjs/neo-agent-brain.git
cd neo-agent-brain
npm installclaude mcp add neo-agent-brain-neo-mjs-agent-os-servers -- node '<ABSOLUTE_PATH_TO_CLONE>/ai/mcp/server/memory-core/mcp-server.mjs'{
"mcpServers": {
"neo-agent-brain-neo-mjs-agent-os-servers": {
"command": "node",
"args": [
"<ABSOLUTE_PATH_TO_CLONE>/ai/mcp/server/memory-core/mcp-server.mjs"
]
}
}
}{
"mcpServers": {
"neo-agent-brain-neo-mjs-agent-os-servers": {
"command": "node",
"args": [
"<ABSOLUTE_PATH_TO_CLONE>/ai/mcp/server/memory-core/mcp-server.mjs"
]
}
}
}{
"servers": {
"neo-agent-brain-neo-mjs-agent-os-servers": {
"type": "stdio",
"command": "node",
"args": [
"<ABSOLUTE_PATH_TO_CLONE>/ai/mcp/server/memory-core/mcp-server.mjs"
]
}
}
}[mcp_servers.neo-agent-brain-neo-mjs-agent-os-servers]
command = "node"
args = ["<ABSOLUTE_PATH_TO_CLONE>/ai/mcp/server/memory-core/mcp-server.mjs"]gemini mcp add --scope user neo-agent-brain-neo-mjs-agent-os-servers node -- '<ABSOLUTE_PATH_TO_CLONE>/ai/mcp/server/memory-core/mcp-server.mjs'GEMINI_API_KEY |
Optional: Only for the remote Gemini embedding provider; the default route uses a local OpenAI-compatible endpoint. |
|---|---|
NEO_TRANSPORT |
Optional: stdio (default) or streamable-http. |
MCP_HTTP_PORT |
Optional: Port for streamable-http mode, 3001 by default. |
NEO_MCP_ALLOWED_HOSTS |
Optional: Extra comma-separated hostnames allowed in streamable-http mode. |
neo-agent-brain is the repository the Neo.mjs project uses to run its team of coding agents. It holds five separate MCP servers. Each one is a Node script in the checkout, and you start each one on its own.
Memory Core keeps memory across sessions and across agents. It stores turns and session summaries in ChromaDB, keeps a graph of decisions and work in SQLite, and also handles messages between agents, task hand-offs and presence. Knowledge Base indexes source code, guides, issues and pull requests into Chroma, then answers semantic queries or questions about them. GitHub Workflow covers issues, labels, assignees, pull-request diffs, formal reviews, reviewer requests, Projects and Discussions. Neural Link connects to a running Neo.mjs application, where it can inspect components, stores and state and change them: it can create or remove components, set properties, patch code and replay transactions. File System reads, writes and lists files in a sandbox, checks syntax and runs Playwright tests. The README says it is meant for harnesses that lack their own file tools.
In total the servers define 156 tools: 52 in Memory Core, 13 in Knowledge Base, 24 in GitHub Workflow, 60 in Neural Link and 7 in File System. These counts come from each server's openapi.yaml, which is the tool contract the server loads; the README gives no counts. Memory Core talks over stdio by default. Setting NEO_TRANSPORT=streamable-http makes it serve HTTP on port 3001, which MCP_HTTP_PORT can change (memory-core configBase.mjs).
| Runtime | Node.js 24+ |
|---|
Node.js 24 or newer, Git, and a clone of the repository with `npm install` run in it. The package is private and not on npm. Memory Core and Knowledge Base need a running ChromaDB and an embedding provider. The default is a local OpenAI-compatible endpoint; Ollama or Gemini (with GEMINI_API_KEY) can be used instead. GitHub Workflow signs in through an authenticated `gh` CLI. Neural Link needs a running Neo.mjs application connected to its bridge.
There are no releases yet: package.json is version 0.0.0 and work happens on the dev branch. Until Neo.mjs v13.2 ships, the Brain depends on a pinned commit of neomjs/neo. The README calls the Agent Institution app the operator-facing entry point and says running services from this root is a transitional path. The full two-way GitHub sync is not exposed as an MCP tool; it runs only as an npm script. Each server refuses to start when its local config overlay is stale. Chroma is the only vector store Memory Core supports.
It suits teams building on Neo.mjs, or running several long-lived coding agents that need shared memory, a semantic index of their repository and GitHub review tools, and who are willing to run ChromaDB and a local embedding model. Neural Link is useful only for Neo.mjs applications. If you want a single drop-in memory or GitHub server installed with one npx line, this is a poor fit: it is a whole source checkout with daemons, config overlays and no published package.
add_memoryquery_raw_memoriesquery_summariesquery_recent_turnsget_session_memoriesget_all_summariesresume_sessionpurge_sessionget_context_frontiermutate_frontiersearch_nodesget_neighborsquery_hybrid_graphadd_messagelist_messagesdelete_messagetransition_taskwho_is_onlinegrant_permissionask_knowledge_basequery_documentsingest_source_filesmanage_knowledge_baseget_class_hierarchylist_documentsget_document_by_idlist_issuescreate_issuemanage_issue_commentmanage_issue_labelsmanage_issue_assigneesmanage_issue_projectsupdate_issue_relationshiplist_pull_requestscheckout_pull_requestget_pull_request_diffget_conversationmanage_pr_reviewmanage_pr_reviewerscreate_discussionmanage_discussion_commentget_viewer_permissionget_component_treequery_componentget_instance_propertiesset_instance_propertiescreate_componentremove_componentinspect_storemodify_state_providercall_methodpatch_codeget_console_logssimulate_eventreload_pageread_filewrite_filelist_directorycheck_syntaxrun_playwright_test