Skip to main content

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; pass sections to 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=true keeps 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=true omits 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

memgraph_ingester_mcp-0.1.6.tar.gz (66.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

memgraph_ingester_mcp-0.1.6-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file memgraph_ingester_mcp-0.1.6.tar.gz.

File metadata

  • Download URL: memgraph_ingester_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 66.2 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

Hashes for memgraph_ingester_mcp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 7e0adc6133b51d4217850a9c925b732c1306ddb2de1e0ada98e148c13d27f884
MD5 b636d4dfcdf533a3092330f018ca2ee7
BLAKE2b-256 4233a941be9bc97bc00f6e97e0a02fa1394df4cf4d7c59d504091ec185a53946

See more details on using hashes here.

File details

Details for the file memgraph_ingester_mcp-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: memgraph_ingester_mcp-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 20.5 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

Hashes for memgraph_ingester_mcp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d5add76788be58d324f0b493fd105e1c1a1f13559b420156f41fe61b32489990
MD5 7d1d53e9d310e16c05c1298167bd0bd7
BLAKE2b-256 826e21046010a380f083be249afd6f148252da07b0e4f8cbcc3f55550fda299f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page