mcpField
N
NeuroDock Cognitive Graph

NeuroDock Cognitive Graph

Local
neurodock.orgMemory & Knowledge18Updated 18w ago

About NeuroDock Cognitive Graph

NeuroDock Cognitive Graph is a local, persistent entity-memory MCP server for people, projects, decisions, and concepts. It stores typed facts in SQLite and provides lookups and activity summaries without network access or telemetry.

Key features

  1. 01本地 SQLite 持久化图谱
  2. 02实体与别名查询
  3. 03记录带类型的事实
  4. 04按项目检索决策
  5. 05生成每周活动摘要

Use cases

  1. 01跨会话回忆人物与项目背景
  2. 02记录并检索项目决策
  3. 03整理依赖、阻碍与关联事实
  4. 04汇总近七天的项目活动

MCP support

The MCP server exposes tools to recall entities and decisions, record typed facts, and produce weekly rollups. It uses a local SQLite file and does not access the network.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"tlennon-ie-neurodock-mcp-cognitive-graph": {
"command": "uvx",
"args": [
"neurodock-mcp-cognitive-graph"
]
}
}
}
Run commanduvx neurodock-mcp-cognitive-graph

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypineurodock-mcp-cognitive-graph0.0.6

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

neurodock-mcp-cognitive-graph

Persistent entity memory for the NeuroDock substrate, exposed as an MCP server. Externalises the user's working memory of people, projects, decisions, and concepts so a hyperfocused or context-switched session does not start from zero.

This is v0.0.3 — the current release. Vector recall, fastembed embeddings, and sqlite-vec are deferred to a future version; see CHANGELOG.md.

Install

uv add neurodock-mcp-cognitive-graph
# or
pip install neurodock-mcp-cognitive-graph

Use as an MCP server

Add to your ~/.claude.json (Claude Code) or claude_desktop_config.json (Claude Desktop):

{
  "mcpServers": {
    "neurodock-cognitive-graph": {
      "command": "uv",
      "args": ["run", "neurodock-mcp-cognitive-graph"]
    }
  }
}

Quickstart

# From the workspace root.
uv sync --all-packages

# Start the server on stdio (Claude Desktop / Claude Code MCP config).
uv run neurodock-mcp-cognitive-graph

The server stores its graph at ~/.neurodock/cognitive-graph.sqlite by default. Override with the NEURODOCK_GRAPH_DB_PATH environment variable.

Tools (v0.0.3)

ToolPurpose
recall_entity(name_or_alias)Look up a person/project/decision/concept. Returns the entity, its facts (capped at 500), first-degree neighbours (capped at 20), and a resolution diagnostic.
record_fact(subject, predicate, object, source?, confidence?)Persist a typed-edge fact. Auto-creates entities by (type, name). Enforces the v0.1.0 eight-predicate vocabulary.
recall_decisions(project, since?)Return decisions for a project, ordered by date desc, capped at 200.
weekly_rollup(project?)Server-templated activity summary for the trailing seven UTC days. No LLM call (vendor boundary).

The full input/output contract is in schemas/. The Pydantic v2 models in src/neurodock_mcp_cognitive_graph/types.py mirror those schemas.

Predicate vocabulary

The eight predicates in v0.1.0 are: mentioned_in, decided_in, reports_to, depends_on, resolved_by, blocked_by, tagged, belongs_to. Unknown predicates raise PREDICATE_NOT_IN_VOCABULARY. Extension predicates land via the v0.2 type_extensions mechanism — see ADR 0002 — cognitive-graph tool design.

Privacy

  • Local-first. No network access. No telemetry.
  • source strings are stored verbatim and never fetched by the server.
  • User content (entity names, decision titles, fact text) is never logged. Error logs include only the structured error code.

Storage

SQLite. One file. Migrations live as numbered .sql files in src/neurodock_mcp_cognitive_graph/migrations/ and are applied on first connect. The schema is described in migrations/0001_init.sql.

Architecture

src/neurodock_mcp_cognitive_graph/
├── server.py            FastMCP wiring + CLI entrypoint
├── types.py             Pydantic v2 models (mirror of the JSON Schemas)
├── config.py            Resolves the SQLite path
├── clock.py             SystemClock / FixedClock
├── errors.py            ToolError envelope
├── resolution.py        Entity name/alias cascade (exact, alias only in v0.0.3)
├── rollup.py            Heuristic decision/blocker/next-action assembly
├── storage/
│   ├── base.py          Storage Protocol + row dataclasses
│   ├── memory.py        InMemoryStorage (used by tests)
│   └── sqlite.py        SQLiteStorage (production backing)
├── tools/
│   ├── recall_entity.py
│   ├── record_fact.py
│   ├── recall_decisions.py
│   └── weekly_rollup.py
└── migrations/
    └── 0001_init.sql

ADR pointers

Tests

uv run pytest packages/mcp-cognitive-graph/tests/ -v

25 tests covering: per-tool unit tests, a FastMCP protocol-conformance suite that exercises every tool and validates the response against the JSON Schema using jsonschema, and an end-to-end test that runs against a real file-backed SQLite store.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.