MCP Tools Overview
Graph Memory exposes 70 MCP tools that let AI assistants read, search, and write to your project's knowledge base. These tools are the primary interface between your AI assistant and Graph Memory.

What is MCP?
Model Context Protocol (MCP) is an open protocol that lets AI assistants call tools on external servers. When your assistant (Claude, Cursor, Windsurf, etc.) connects to Graph Memory, it discovers the available tools and can call them to search docs, manage tasks, save notes, and more.
Transport
Graph Memory uses Streamable HTTP transport. Each project gets its own MCP endpoint:
POST /mcp/{projectId}
Each request creates a session. Sessions share graph instances and are automatically cleaned up after 60 minutes of inactivity (configurable via server.sessionTimeout).
Authentication
When users are configured in graph-memory.yaml, MCP endpoints require an API key:
Authorization: Bearer <apiKey>
Without users configured, MCP is open (no authentication required). See Authentication for details on API key setup.
Tool visibility
Not all 70 tools are always visible. The tools available in a given session depend on three factors:
| Factor | Effect |
|---|---|
| Graph enabled | Disabled graphs have no tools registered at all |
| Graph readonly | Readonly graphs hide mutation tools (create, update, delete) for all users |
| User access level | Users with r (read) access see only read tools; users with deny see no tools for that graph |
This means your AI assistant only sees the tools it is allowed to use. Mutation tools that would fail due to permissions are simply not registered.
Response format
All tools return JSON. Successful responses contain the result data. Errors are flagged with isError: true.
Mutation serialization
Write operations (create, update, delete) are automatically serialized through a queue. This prevents race conditions when multiple AI sessions write to the same graph concurrently. Read operations (list, get, search) run freely without queueing.
All tools by category
| Group | Tools | Count | Requires |
|---|---|---|---|
| Context | get_context | 1 | Always available |
| Docs | docs_list_files, docs_get_toc, docs_search, docs_get_node, docs_search_files | 5 | Docs graph enabled |
| Code Blocks | docs_find_examples, docs_search_snippets, docs_list_snippets, docs_explain_symbol | 4 | Docs graph enabled |
| Cross-Graph | docs_cross_references | 1 | Docs + Code graphs enabled |
| Code | code_list_files, code_get_file_symbols, code_search, code_get_symbol, code_search_files | 5 | Code graph enabled |
| File Index | files_list, files_search, files_get_info | 3 | File Index graph enabled |
| Knowledge | notes_create, notes_update, notes_delete, notes_get, notes_list, notes_search, notes_create_link, notes_delete_link, notes_list_links, notes_find_linked, notes_add_attachment, notes_remove_attachment | 12 | Knowledge graph enabled |
| Tasks | tasks_create, tasks_update, tasks_delete, tasks_get, tasks_list, tasks_search, tasks_move, tasks_reorder, tasks_bulk_move, tasks_bulk_priority, tasks_bulk_delete, tasks_link, tasks_create_link, tasks_delete_link, tasks_find_linked, tasks_add_attachment, tasks_remove_attachment | 17 | Tasks graph enabled |
| Epics | epics_create, epics_update, epics_delete, epics_get, epics_list, epics_search, epics_link_task, epics_unlink_task | 8 | Tasks graph enabled |
| Skills | skills_create, skills_update, skills_delete, skills_get, skills_list, skills_search, skills_recall, skills_bump_usage, skills_link, skills_create_link, skills_delete_link, skills_find_linked, skills_add_attachment, skills_remove_attachment | 14 | Skills graph enabled |
Total: 70 tools