FastMCP server for surgical queries against a vault knowledge graph (NetworkX no

io.github.adelaidasofia由 GitHub 帳號 adelaidasofia 發布v0.1.0更新於 Oct 25, 2026

FastMCP server for surgical queries against a vault knowledge graph (NetworkX node-link JSON).…

發布方自己的服務:Fastio

概覽

AI 產生的概覽

本機 MCP 伺服器,一次載入知識庫圖譜,並針對節點、鄰居、路徑與社群回答精準問題。

可以做什麼
依名稱模糊搜尋節點,依完全符合、前綴符合、包含符合排序。探索關聯:N 跳內的鄰居、概念間最短路徑、圍繞一組概念的子圖。檢視單一節點的中繼資料與主要鄰居,或列出其社群叢集中的全部節點。列出圖中連結度最高的節點。可查詢主圖譜或次圖譜範圍。
適用情境
當你已從 Obsidian 或類似知識庫產生 graph.json,並希望助理在不把龐大圖譜報告讀入上下文的情況下,回答概念及其關聯的具體問題時使用。最好搭配能產生 NetworkX node-link JSON 的建圖工具。
執行需求
本機 Python 3.10+ 程序,需安裝 FastMCP 與 NetworkX,透過 stdio 執行。需要一個 NetworkX node-link JSON 格式的圖譜檔案,由 GRAPH_JSON_PATH 指定(清單標為必填,README 視為選用並有預設路徑)。可透過 SECONDARY_GRAPH_JSON_PATH 設定第二個圖譜。不需帳號或 API 金鑰。
安裝前請注意
首次載入時,每台機器會向外部站點送出一次匿名安裝訊號,可用 MYCELIUM_NO_PING=1 關閉。它會讀取你指定路徑的本機圖譜檔案,請只指向你願意讓助理看到的資料。查詢為唯讀,不會建立或修改圖譜。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 FastMCP server for surgical queries against a vault knowledge graph (NetworkX no,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

graph-query-mcp

[License] [GitHub stars] [Last commit] [Open issues] [PyPI version] [PyPI downloads] [Built by Mycelium AI]

Surgical queries against an Obsidian / vault knowledge graph. Loads a graph.json (NetworkX node-link format) once at startup and answers targeted questions without making Claude read a 50K-line graph report.

Designed to pair with graphify (the graph-building skill in ai-brain-starter), but the server accepts any graph in NetworkX node-link JSON. Supports up to two scopes (primary + secondary, e.g. personal + team).

Why use this

If you've already run graphify on a vault, you've got a graph.json and a GRAPH_REPORT.md. Reading the full report into Claude burns thousands of tokens for every question. This MCP loads the graph once at startup, answers in <50ms, and never spills the whole graph into context.

Tools

ToolWhat it does
search_nodes(query, scope, limit)Fuzzy match against node names. Returns node IDs ranked by exact / starts-with / contains.
get_neighbors(node_id, scope, max_hops, limit)Connected nodes within N hops, sorted by degree.
find_path(source, target, scope)Shortest path between two concepts. Auto-fuzzy-matches both ends.
get_top_nodes(scope, n)Highest-degree nodes (the "god nodes").
query_subgraph(concepts, scope, max_hops, limit)Subgraph around a list of concepts; reports node + edge counts.
get_node_info(node_id, scope)Full metadata + top neighbors for one node.
get_community_members(node_id, scope, limit)All nodes in the same community-detection cluster.

Scope defaults to personal; pass scope="onde" (or whatever secondary scope name you've configured) for the second graph.

Configuration

Two env vars, both optional:

Env varDefaultUse for
GRAPH_JSON_PATH~/Documents/Vault/Meta/graphify-out/graph.jsonPrimary graph (the personal scope)
SECONDARY_GRAPH_JSON_PATH~/Documents/Vault/Team/Meta/graphify-out/graph.jsonSecondary graph (the onde scope, historical name)

ONDE_GRAPH_JSON_PATH is also accepted as a backward-compat alias for SECONDARY_GRAPH_JSON_PATH.

If a path doesn't exist at startup, the server logs a warning and the tools return a friendly error when that scope is queried. The server still starts — a missing secondary graph never blocks the primary.

Install

Open Claude Code, paste:

/plugin marketplace add adelaidasofia/graph-query-mcp/plugin install graph-query-mcp@graph-query-mcp
Legacy install
bash
git clone https://github.com/adelaidasofia/graph-query-mcp.git ~/.claude/graph-query-mcpcd ~/.claude/graph-query-mcppip3 install --break-system-packages -r requirements.txt

Register in your project .mcp.json:

json
{  "mcpServers": {    "graph-query": {      "type": "stdio",      "command": "fastmcp",      "args": ["run", "/Users/YOU/.claude/graph-query-mcp/server.py"],      "env": {        "GRAPH_JSON_PATH": "/path/to/your/vault/Meta/graphify-out/graph.json"      }    }  }}

Restart Claude Code, then claude mcp list should show graph-query connected.

Generating the graph

This MCP doesn't build the graph; it queries one. Use graphify (a skill in ai-brain-starter) to produce a graph.json from your vault, or any other NetworkX-compatible builder. The expected format is the output of networkx.node_link_data(G).

Verification

bash
python3 tests/integration/test_smoke.py# expected: PASSED — graph-query-mcp smoke (4 steps green)

Architecture

FastMCP, stdio transport, Python 3.10+. Graphs are loaded once at startup and cached in memory. No daemons, no listeners, no external services. NetworkX in-memory for query primitives.

Related MCPs

Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):

Telemetry

This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.

What is sent:

  • Plugin name (e.g. slack-mcp)
  • Plugin version (e.g. 0.1.0)

What is NOT sent:

  • No user identifiers, names, emails, tokens, or API keys
  • No file paths, message content, or anything from your work
  • No IP address is stored after dedup processing

Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.

Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> — delete it if you want to reset state.

License

MIT. See LICENSE.

來源:README.md,提交 9d1c461

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Fast 整合