MCP server · Org-owned · Audited from source
Graphiti MCP server
by getzep/graphitiApache-2.0 licenceAudited 19 Sep 2026 · source 5ac3b52f6cf3
Is it safe? Yes — SAFE, grade B (89/100). It exposes 13 tools: 8 read, 2 write and 3 destructive. The audit recorded 10 findings (0 critical, 0 high, 1 medium, 7 low). Maintainer's description: Build Real-Time Knowledge Graphs for AI Agents
Cite
Cite this page
ModelsAtlas. “Graphiti MCP server (getzep/graphiti)”. Retrieved 19 Sep 2026. https://modelsatlas.com/mcp/getzep/graphiti
Trust audit
Audit 0.4.1 · full source read 19 Sep 2026
10 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.
What the source does
- FilesystemDeclared5 observations
- NetworkDeclared2 observations
- ShellNone observedNothing seen in the source
- DependenciesNot pinnedSome ranges float
- SecretsNone foundNo keys in source
“Declared” means the server says it does this and the source agrees. Browser, file and shell access are expected of some kinds of server.
Five audit layers
| Layer | What we check | Result |
|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS 2 findings |
L1 Static source | Secrets, path traversal, supply chain | PASS 4 findings |
L2 Instructions | Prompt injection and authority framing in docs and tool descriptions | PASS 3 findings |
L3 Inventory | Declared tools match the source | WARN 1 finding |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED |
Provenance & runtime
Who published it, and what the audit could and could not run
Provenance
- Repository owner
getzepOrganizationAccount type recorded when we read the repository. - PackagePublished on PyPI
graph-service, no version recorded - LicenceApache-2.0From the repository, as read at the audited commit.
- Last pushTodayActivity of the repository when we read it.
- Source commit read5ac3b52f6cf3The audit covers exactly this commit, read on 19 Sep 2026.
Runtime
- Sandbox runNot run yetThis audit read the source only; it did not execute the server.
- Tool inventory13 declaredRead from the source and classed read, write or destructive.
Every value here is read from the record's own repository and audit.Suggest a correction
Findings (10)
Sorted by severity
MEDIUMFilesystem / pathmcp.destructive_tools
clear_graph, delete_entity_edge, delete_episode
- Why
- 3 tool(s) can delete or overwrite
- Fix
- prefer a read-only mode or scoped tokens; the page states the blast radius
LOWCode injectioncode.dynamic_import · mcp_server/tests/run_tests.py:97
__import__(package.replace('-', '_'))- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInsecure cryptocrypto.weak_hash · graphiti_core/llm_client/client.py:157
return hashlib.md5(key_str.encode()).hexdigest()
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · server/tests/test_live_falkordb_int.py:139
base_url = f'http://127.0.0.1:{port}'- Why
- No further detail recorded for this rule.
- Fix
- —
LOWSupply chainsupply.unpinned · examples/quickstart/requirements.txt
graphiti-core, python-dotenv
- Why
- 2 requirement(s) not pinned with ==
- Fix
- pin exact versions
LOWPrompt injectionprompt.credential_read · mcp_server/docker/README.md:183
cat .env | grep API_KEY
- Why
- asks the agent to read credentials
- Fix
- —
LOWSupply chainprompt.pipe_to_shell · mcp_server/README.md:92
curl -LsSf https://astral.sh/uv/install.sh | sh
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWPrompt injectionprompt.transfer_instruction · CONTRIBUTING.md:35
Join the conversation on [GitHub Issues](https://github.com/getzep/graphiti/issues) and pitch in at the helpdesk. Answering questions and helping troubleshoot issues is an incredibly valuable contribu
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
INFOInventory / provenanceinv.oversize · tests/evals/data/longmemeval_data/longmemeval_oracle.json
tests/evals/data/longmemeval_data/longmemeval_oracle.json
- Why
- 15388478 bytes not read
- Fix
- —
INFOInventory / provenanceinv.oversize · uv.lock
uv.lock
- Why
- 1005857 bytes not read
- Fix
- —
Tools it exposes
13 declared in source · 3 destructive
3 tools can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one, so give it a token scoped to what you need.
| Tool | Risk | What it does |
|---|---|---|
clear_graph | destructive | Clear all data from the graph for specified group IDs. |
delete_entity_edge | destructive | Delete an entity edge from the graph memory. |
delete_episode | destructive | Delete an episode from the graph memory. |
add_memory | write | Add an episode to memory. This is the primary way to add information to the graph. |
add_triplet | write | Directly add a single fact triplet (source entity -> fact -> target entity). |
build_communities | read | Detect and build community summaries over the graph |
get_entity_edge | read | Get an entity edge from the graph memory by its UUID. |
get_episode_entities | read | Get the entities (nodes) and facts (edges) created by specific episodes. |
get_episodes | read | Get episodes from the graph memory. |
get_status | read | Get the status of the Graphiti MCP server and database connection. |
search_memory_facts | read | Search the graph memory for relevant facts (entity edges). |
search_nodes | read | Search for nodes (entities) in the graph memory. |
summarize_saga | read | Summarize a saga: an ordered group of related episodes. |
Install
audited commit 5ac3b52
One-click links open your editor with the config below filled in, exactly as the snippets show it. The audit covers commit 5ac3b52 only.
claude mcp add graph-service --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY} --env CHUNK_MIN_TOKENS=${CHUNK_MIN_TOKENS} --env CHUNK_OVERLAP_TOKENS=${CHUNK_OVERLAP_TOKENS} -- uvx graph-service{
"mcpServers": {
"graph-service": {
"command": "uvx",
"args": [
"graph-service"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"AZURE_OPENAI_API_KEY": "${AZURE_OPENAI_API_KEY}",
"CHUNK_MIN_TOKENS": "${CHUNK_MIN_TOKENS}",
"CHUNK_OVERLAP_TOKENS": "${CHUNK_OVERLAP_TOKENS}"
}
}
}
}The command does not pin a version; the audit covers commit 5ac3b52f6cf3. Transport: streamable-http. Reads these environment variables: ANTHROPIC_API_KEY, AZURE_OPENAI_API_KEY, CHUNK_MIN_TOKENS, CHUNK_OVERLAP_TOKENS, CHUNK_TOKEN_SIZE, FALKORDB_PASSWORD, GOOGLE_API_KEY, NEO4J_PASSWORD and 1 more. Give it the narrowest token it needs.
Audit history
- ✓SAFE B 89 / 100
Source changed, verdict held ·
5ac3b52f6cf3 - ✓SAFE B 89 / 100
First audit ·
d7b2f46412da
README badge
For maintainers · updates on every re-audit
[](https://modelsatlas.com/mcp/getzep/graphiti/)
The badge always shows the latest audit; a maintainer cannot pin an old verdict.
Other ratings
Cited, never blended into our score
No third-party security ratings are recorded for this server yet. When they exist they appear here with their source and date, beside, not inside, our grade.
Questions about Graphiti MCP server
What is the Graphiti MCP server?
What tools does Graphiti expose?
Is Graphiti safe to connect to an agent?
What credentials does Graphiti need?
How does Graphiti run?
How current is this page?
Sources
- getzep/graphiti on GitHub — the source we read, its licence, stars and activityObserved · 19 Sep 2026
- ModelsAtlas trust audit — SAFE verdict for commit 5ac3b52f6cf3Observed · 19 Sep 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What is the Graphiti MCP server?
- What tools does Graphiti expose?
- Is Graphiti safe to connect to an agent?