MCP server that gives AI full access to your Logseq or Obsidian knowledge graph. 37 tools for navigation, search, analysis, writing, decisions, journals, flashcards, and whiteboards.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"graphthulhu": {
"env": {
"LOGSEQ_API_URL": "http://127.0.0.1:12315",
"LOGSEQ_API_TOKEN": "your-token-here"
},
"command": "graphthulhu"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server that gives AI full access to your knowledge graph. Supports Logseq and Obsidian — both with full read-write support. Navigate pages, search blocks, analyze link structure, track decisions, manage flashcards, and write content — all through the Model Context Protocol.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Official Notion MCP Server
MCP Security Weekly
Get CVE alerts and security updates for Graphthulhu and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server that gives AI full access to your knowledge graph. Supports Logseq and Obsidian — both with full read-write support. Navigate pages, search blocks, analyze link structure, track decisions, manage flashcards, and write content — all through the Model Context Protocol.
Built in Go with the official MCP Go SDK.
Your knowledge graph stores interconnected pages, blocks, and links. But AI assistants can't see any of it — they're blind to your second brain.
graphthulhu fixes that. It exposes your entire knowledge graph through MCP, so Claude (or any MCP client) can:
It turns "tell me about X" into an AI that actually understands your knowledge graph's structure.
37 tools across 9 categories. Most work with both backends; some are Logseq-only (DataScript queries, flashcards, whiteboards).
| Tool | Backend | Description |
|---|---|---|
get_page | Both | Full recursive block tree with parsed links, tags, properties |
get_block | Both | Block by UUID with ancestor chain, children, siblings |
list_pages | Both | Filter by namespace, property, or tag; sort by name/modified/created |
get_links | Both | Forward and backward links with the blocks that contain them |
get_references | Logseq | All blocks referencing a specific block via ((uuid)) |
traverse | Both | BFS path-finding between two pages through the link graph |
| Tool | Backend | Description |
|---|---|---|
search | Both | Full-text search with parent chain + sibling context |
query_properties | Both | Find by property values with operators (eq, contains, gt, lt) |
query_datalog | Logseq | Raw DataScript/Datalog queries against the Logseq database |
find_by_tag | Both | Tag search with child tag hierarchy support |
| Tool | Backend | Description |
|---|---|---|
graph_overview | Both | Global stats: pages, blocks, links, most connected, namespaces |
find_connections | Both | Direct links, shortest paths, shared connections between pages |
knowledge_gaps | Both | Orphan pages, dead ends, weakly-linked areas |
list_orphans | Both | List orphan page names with block counts and property status |
topic_clusters | Both | Connected components with hub identification |
| Tool | Backend | Description |
|---|---|---|
create_page | Both | New page with properties and initial blocks |
append_blocks | Both | Append plain-text blocks (simpler than upsert_blocks) |
upsert_blocks | Both | Batch create with nested children for deep hierarchies |
update_block | Both | Replace block content by UUID |
delete_block | Both | Remove block and all children |
move_block | Both | Reposition before, after, or as child of another block (cross-page supported) |
link_pages | Both | Bidirectional link with optional relationship context |
delete_page | Both | Remove a page and all its blocks |
rename_page | Both | Rename page and update all [[links]] across the graph |
bulk_update_properties | Both | Set a property on multiple pages in one call |
| Tool | Backend | Description |
|---|