MCP tools for Memgraph graphs created by memgraph-ingester
Project description
memgraph-ingester-mcp
memgraph-ingester-mcp exposes safe, high-level MCP tools for Memgraph graphs produced by
memgraph-ingester. It keeps agents out of long
Cypher instruction blocks for normal work while still offering a project-scoped read-only Cypher
escape hatch for unusual lookups.
The package is intended to be published to PyPI as memgraph-ingester-mcp under the
ousatov-ua account.
Tools
Code graph tools:
server_status: graph inventory, memory counts, and vector index status.code_orientation: compact package/type/call overview; passsectionsto keep it focused.code_quality_stats: graph-wide code quality and quantity metrics.code_hot_paths: compact hot-path candidates from size and call graph metrics.code_search: CodeChunk vector search for broad discovery; text is omitted by default.code_lookup_type: exact class/interface/annotation lookup; member expansion is opt-in.code_lookup_methods: exact method lookup with source ranges;compact=truekeeps range output small.code_callers,code_callees: compact, paginated call graph lookups.code_hierarchy: class ancestry, children, interfaces, and interface implementors.
Memory tools:
memory_orientation: rules plus open findings, tasks, questions, and risks;compact=trueomits body fields.memory_schema: allowed memory types, upsert fields, controlled values, and CodeRef targets.memory_search: MemoryChunk vector search with index-only hit metadata.memory_get: canonical memory node plus resolved CodeRefs.memory_upsert: create/update Decision, ADR, Rule, Context, Finding, Task, Risk, Question, or Idea.memory_update_status: lifecycle status update.delete_memory: delete one memory node plus its derived chunk and orphan CodeRefs.memory_link_code_ref: link memory to a resolved CodeRef target.memory_refresh_chunk,memory_refresh_embeddings: maintain derived memory RAG data.
Fallback:
raw_read_cypher: read-only, project-scoped Cypher for edge cases.
Configuration
Use namespaced environment variables so this server does not collide with generic shell settings:
| Variable | Default | Purpose |
|---|---|---|
MEMGRAPH_INGESTER_MCP_BOLT_URI |
bolt://127.0.0.1:7687 |
Memgraph Bolt URI |
MEMGRAPH_INGESTER_MCP_USERNAME |
unset | Optional username |
MEMGRAPH_INGESTER_MCP_PASSWORD |
unset | Optional password |
MEMGRAPH_INGESTER_MCP_DATABASE |
unset | Optional database name |
MEMGRAPH_INGESTER_MCP_PROJECT |
unset | Default project name |
MEMGRAPH_INGESTER_MCP_QUERY_TIMEOUT_SECONDS |
30 |
Query timeout |
MEMGRAPH_INGESTER_MCP_READ_ONLY |
false |
Disable write tools when true |
MEMGRAPH_INGESTER_MCP_EMBEDDING_MODEL |
default |
Metadata stamped on refreshed chunks |
MEMGRAPH_INGESTER_MCP_EMBEDDING_DIMENSIONS |
384 |
Expected memory embedding dimension |
Run Locally
uv sync --dev
uv run memgraph-ingester-mcp
Run tests:
uv run ruff check .
uv run pytest
Build the package:
uv build --no-sources
Client Setup
Replace my-project with the project name used when running memgraph-ingester.
Codex
Add this to ~/.codex/config.toml:
[mcp_servers.memgraphIngester]
command = "uvx"
args = ["memgraph-ingester-mcp"]
startup_timeout_ms = 20_000
[mcp_servers.memgraphIngester.env]
MEMGRAPH_INGESTER_MCP_BOLT_URI = "bolt://127.0.0.1:7687"
MEMGRAPH_INGESTER_MCP_PROJECT = "my-project"
Claude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"memgraphIngester": {
"type": "stdio",
"command": "uvx",
"args": ["memgraph-ingester-mcp"],
"env": {
"MEMGRAPH_INGESTER_MCP_BOLT_URI": "bolt://127.0.0.1:7687",
"MEMGRAPH_INGESTER_MCP_PROJECT": "my-project"
}
}
}
}
Claude Code can also add the same stdio server directly:
claude mcp add-json memgraphIngester \
'{"type":"stdio","command":"uvx","args":["memgraph-ingester-mcp"],"env":{"MEMGRAPH_INGESTER_MCP_BOLT_URI":"bolt://127.0.0.1:7687","MEMGRAPH_INGESTER_MCP_PROJECT":"my-project"}}'
GitHub Copilot in VS Code
Create .vscode/mcp.json in the workspace or add the server to your user MCP configuration:
{
"servers": {
"memgraphIngester": {
"type": "stdio",
"command": "uvx",
"args": ["memgraph-ingester-mcp"],
"env": {
"MEMGRAPH_INGESTER_MCP_BOLT_URI": "bolt://127.0.0.1:7687",
"MEMGRAPH_INGESTER_MCP_PROJECT": "my-project"
}
}
}
}
Gemini CLI
Add this to Gemini CLI settings.json:
{
"mcpServers": {
"memgraphIngester": {
"command": "uvx",
"args": ["memgraph-ingester-mcp"],
"env": {
"MEMGRAPH_INGESTER_MCP_BOLT_URI": "bolt://127.0.0.1:7687",
"MEMGRAPH_INGESTER_MCP_PROJECT": "my-project"
},
"trust": false
}
}
}
Agent Guidance
Prefer the dedicated tools over raw_read_cypher. Use RAG search tools only for broad discovery,
then follow up with exact lookup tools before making claims or edits. Keep responses compact:
prefer code_quality_stats, code_hot_paths(include_evidence=false),
code_orientation(sections=[...]), compact callers/callees, code_lookup_methods(compact=true),
and code_lookup_type(include_members=false). Use memory_orientation(compact=true) for status
checks and memory write tools for task lifecycle changes and CodeRef links so derived MemoryChunks
stay refreshable.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memgraph_ingester_mcp-0.1.7.tar.gz.
File metadata
- Download URL: memgraph_ingester_mcp-0.1.7.tar.gz
- Upload date:
- Size: 67.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
635b6ddb5adc026977f62a71bdbdd81f484ac95494af860b795f7656a5702b2c
|
|
| MD5 |
f5a38c33bfe21d5fd946d46528a09468
|
|
| BLAKE2b-256 |
53345f4fde7d1ec5baef000ff56d8f4734c0f0a48a821783772efa3776067d1c
|
File details
Details for the file memgraph_ingester_mcp-0.1.7-py3-none-any.whl.
File metadata
- Download URL: memgraph_ingester_mcp-0.1.7-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
633acef94a7b1b661cef7fd697f31898fefe6d77acff8e5a17a8326b19ffe6e3
|
|
| MD5 |
4dd7062b2d2a0f235ceacb9ca9c91513
|
|
| BLAKE2b-256 |
45ca4a1a73d3741bf543777b14ac8926ef277e200d8d1e5203950291c8fd6995
|