🚀 InfraNodus MCP 服務器
InfraNodus MCP 服務器是一款模型上下文協議(MCP)服務器,它能將 InfraNodus 知識圖譜和文本網絡分析能力集成到大型語言模型(LLM)工作流以及像 Claude Desktop 這樣的 AI 助手之中,助力用戶更好地處理和分析文本。
🚀 快速開始
在使用 InfraNodus MCP 服務器之前,你需要了解它的安裝方式和使用示例。安裝方式有多種,你可以根據自己的需求進行選擇。安裝完成後,便可以在 AI 助手(如 Claude)中使用相關指令調用服務器的各項功能。
✨ 主要特性
功能用途
- 將現有的 InfraNodus 知識圖譜連接到你的 LLM 工作流和 AI 聊天中。
- 識別話語中的主要主題簇,且不會遺漏重要細節(比標準的 LLM 工作流效果更好)。
- 識別任何話語中的內容缺口(對內容創作和研究很有幫助)。
- 從任何文本生成新的知識圖譜,並用於增強你的 LLM 回覆。
- 使用知識圖譜從內存中保存和檢索實體及關係。
可用工具
- generate_knowledge_graph
- 將任何文本轉換為可視化的知識圖譜。
- 提取主題、概念及其關係。
- 識別結構模式和簇。
- 應用人工智能驅動的主題命名。
- 執行實體檢測以生成更清晰的圖譜。
- analyze_existing_graph_by_name
- 從你的 InfraNodus 賬戶中檢索和分析現有的圖譜。
- 訪問以前保存的分析結果。
- 導出帶有完整統計信息的圖譜數據。
- generate_content_gaps
- 檢測話語中缺失的連接。
- 識別未充分探索的主題。
- 生成研究問題。
- 提出內容開發機會。
- generate_topical_clusters
- 使用知識圖譜分析從文本中生成主題和關鍵詞簇。
- 確保超越一般性見解,檢測到較小的主題。
- 使用主題簇為搜索引擎優化(SEO)建立主題權威性。
- generate_contextual_hint
- 生成文本的主題概述,併為 LLM 提供見解以生成更好的回覆。
- 用於對文本有一個高層次的理解。
- 用於在你的 LLM 工作流和 AI 助手中增強提示。
- generate_research_questions
- 生成彌合內容缺口的研究問題。
- 將它們用作你的 LLM 模型和 AI 工作流中的提示。
- 可以使用任何 AI 模型(包含在 InfraNodus API 中)。
- 內容缺口基於主題聚類識別。
- generate_research_ideas
- 根據文本中識別的內容缺口生成創新的研究想法。
- 獲取可操作的想法以改進文本和發展話語。
- 可以使用任何 AI 模型(包含在 InfraNodus API 中)。
- 想法從主題簇之間的缺口生成。
- research_questions_from_graph
- 根據現有的 InfraNodus 圖譜生成研究問題。
- 將它們用作你的 LLM 模型中的提示。
- 可以使用任何 AI 模型(包含在 InfraNodus API 中)。
- 內容缺口基於主題聚類識別。
- generate_responses_from_graph
- 根據現有的 InfraNodus 圖譜生成回覆。
- 將它們集成到你的 LLM 工作流和 AI 助手中。
- 可以使用任何 AI 模型(包含在 InfraNodus API 中)。
- 可以使用任何提示。
- develop_conceptual_bridges
- 分析文本,並根據將此文本與更廣泛話語聯繫起來的概念發展潛在想法。
- 發現將你的文本與更廣泛背景聯繫起來的隱藏主題和模式。
- 可以使用任何 AI 模型(包含在 InfraNodus API 中)。
- 生成有助於發展話語的見解。
- develop_latent_topics
- 分析文本並提取未充分發展的主題,以及關於如何發展它們的想法。
- 識別需要更多關注和闡述的主題。
- 可以使用任何 AI 模型(包含在 InfraNodus API 中)。
- 獲取內容擴展的可操作建議。
- develop_text_tool
- 結合內容缺口想法、潛在主題和概念橋樑進行全面的文本分析。
- 按順序執行多個分析,並跟蹤進度。
- 根據內容缺口生成研究想法。
- 識別要發展的潛在主題和概念橋樑。
- 找到需要深入探索的內容缺口。
- create_knowledge_graph
- 從文本在 InfraNodus 中創建知識圖譜,並提供其鏈接。
- 用於從文本在 InfraNodus 中創建知識圖譜。
- overlap_between_texts
- 從兩個或更多文本創建知識圖譜,並找出它們之間的重疊(相似之處)。
- 用於在不同文本中找到相似的主題和關鍵詞。
- difference_between_texts
- 比較兩個或更多文本的知識圖譜,找出第一個圖譜中不存在但其他圖譜中存在的內容。
- 用於找出如何用其他文本豐富一個文本。
- analyze_google_search_results
- 為特定查詢的 Google 搜索結果生成帶有關鍵詞和主題的圖譜。
- 用於瞭解當前的信息供應(人們找到的內容)。
- analyze_related_search_queries
- 從 Google 為特定查詢建議的搜索查詢生成圖譜。
- 用於瞭解當前的信息需求(人們正在尋找的內容)。
- search_queries_vs_search_results
- 生成人們傾向於搜索但在相同查詢的搜索結果中不容易出現的關鍵詞組合和主題的圖譜。
- 用於瞭解人們搜索但尚未找到的內容。
- generate_seo_report
- 通過將內容與 Google 搜索結果和搜索查詢進行比較,對內容進行搜索引擎優化(SEO)分析。
- 識別內容缺口和提高搜索可見性的機會。
- 獲取對搜索結果中存在但你的文本中不存在的內容的全面分析。
- 發現人們搜索但在當前結果中未找到的內容。
- memory_add_relations
- 從文本向 InfraNodus 內存中添加關係。
- 自動檢測實體或使用 [[wikilinks]] 語法標記它們。
- 將內存保存到指定的圖譜名稱以供將來檢索。
- 支持自動實體提取或手動實體標記。
- 提供創建的內存圖譜的鏈接以便於訪問。
- memory_get_relations
- 從 InfraNodus 內存中檢索特定實體的關係。
- 使用 [[wikilinks]] 語法搜索實體關係。
- 查詢特定的內存上下文或在所有內存圖譜中搜索。
- 從存儲的知識圖譜中提取陳述和關係。
- 支持特定實體搜索和完整上下文檢索。
- search
- 搜索現有的 InfraNodus 圖譜。
- 也可用於搜索特定用戶的公共圖譜。
- 通過開發者模式 > 連接器與 ChatGPT 深度研究模式兼容。
- fetch
- 獲取圖譜的特定搜索結果。
- 可在 ChatGPT 深度研究模式中通過開發者模式 > 連接器使用。
關鍵能力
- 主題建模:自動對概念進行聚類和分類。
- 內容缺口檢測:找出概念簇之間缺失的鏈接。
- 實體識別:清晰地提取名稱、地點和組織。
- 人工智能增強:可選的人工智能驅動的主題命名和分析。
- 結構分析:識別有影響力的節點和社區結構。
- 網絡結構統計:模塊化、中心性、中介性和其他圖譜指標。
- 知識圖譜記憶:保存和檢索知識圖譜記憶,並分析它們以檢索關鍵節點、簇和連接器。
📦 安裝指南
方法一:使用外部提供商 Smithery(最簡單快捷)
- 前提條件
- 從 Smithery 獲取 InfraNodus 服務器的 URL
- 添加到你要使用 InfraNodus 的客戶端工具
- 將上述 URL 添加到你的工具後,它會自動提示你使用 Smithery(通過 Oauth)進行身份驗證,以便能夠訪問託管在其上的 InfraNodus MCP。
- 如果你的客戶端不支持 Oauth,你可以點擊“Get the URL with keys instead”鏈接,使用該鏈接進行無需 Oauth 的身份驗證。
- 最後,如果你使用帶有密鑰的 URL,無論是 Smithery 還是你自己,都會在 MCP 配置文件中添加類似以下內容:
對於 Cursor:
"mcpServers": {
"mcp-server-infranodus": {
"type": "http",
"url": "https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp?api_key=YOUR_SMITHERY_KEY&profile=YOUR_SMITHERY_PROFILE",
"headers": {}
}
}
對於 Claude:
"mcpServers": {
"mcp-server-infranodus": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@infranodus/mcp-server-infranodus",
"--key",
"YOUR_SMITHERY_KEY",
"--profile",
"YOUR_SMITHERY_PROFILE"
]
}
}
注意:在這兩種情況下,當你複製帶有憑據的 URL 時,會自動從 Smithery 獲取 YOUR_SMITHERY_KEY 和 YOUR_SMITHERY_PROFILE 值。這些不是你的 InfraNodus API 密鑰。在最初的 70 次調用中,你可以不使用 API 密鑰使用 InfraNodus API 服務器。之後,你可以將其添加到你的 Smithery 配置文件中,它將通過上述鏈接自動連接到你的賬戶。
4. 在調用中使用 InfraNodus 工具
- 要使用 InfraNodus,查看可用工具並通過聊天界面直接調用它們(例如,“show me the graphs where I talk about this topic” 或 “get the content gaps from the document I uploaded”)。
- 如果你的客戶端在某些操作中未使用 InfraNodus,請明確添加使用 InfraNodus 的指令。
方法二:手動使用 NPX 部署
你可以通過 npx 手動部署 InfraNodus 服務器,npx 是一個允許在你的計算機上執行本地和遠程 Node.js 包的工具。InfraNodus MCP 服務器也作為一個 npm 包提供,可從 https://www.npmjs.com/package/infranodus-mcp-server 下載,你可以使用 npx 在本地計算機上遠程啟動它。它會將其工具暴露給使用此命令啟動服務器的 MCP 客戶端。
對於 Claude Desktop:
只需在你的 Claude 配置文件中(設置 > 開發者 > 編輯配置),在 "mcpServers" 對象(列出不同服務器的地方)中添加以下內容:
"infranodus": {
"command": "npx",
"args": ["-y", "infranodus-mcp-server"],
"env": {
"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"
}
},
方法三:手動將 MCP 作為本地服務器啟動(用於檢查和開發)
- 前提條件
- 克隆並構建服務器:
git clone https://github.com/yourusername/mcp-server-infranodus.git
cd mcp-server-infranodus
npm install
npm run build:inspect
注意,build:inspect 命令將生成 dist/index.js 文件,你將在服務器設置中使用該文件。標準的 npm run build 命令僅構建一個 Smithery 文件。
3. 設置你的 API 密鑰:
在項目根目錄創建一個 .env 文件:
INFRANODUS_API_KEY=your-api-key-here
- 檢查 MCP:
npm run inspect
Claude Desktop 配置(macOS)
- 打開你的 Claude Desktop 配置文件:
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
- 添加 InfraNodus 服務器配置:
a. 通過 npx 遠程啟動:
"infranodus": {
"command": "npx",
"args": ["-y", "infranodus-mcp-server"],
"env": {
"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"
}
},
b. 使用 node 啟動此倉庫:
{
"mcpServers": {
"infranodus": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-infranodus/dist/index.js"],
"env": {
"INFRANODUS_API_KEY": "your-api-key-here"
}
}
}
}
注意:你可以將 INFRANODUS_API_KEY 留空,在這種情況下,你可以進行 70 次免費請求,之後將達到配額限制,需要添加你的 API 密鑰。
3. 重啟 Claude Desktop 以加載新服務器。
Claude Desktop 配置(Windows)
- 打開你的 Claude Desktop 配置文件:
%APPDATA%\Claude\claude_desktop_config.json
- 添加 InfraNodus 服務器配置:
a. 通過 npx 遠程啟動:
"infranodus": {
"command": "npx",
"args": ["-y", "infranodus-mcp-server"],
"env": {
"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"
}
},
b. 使用 node 啟動此倉庫:
{
"mcpServers": {
"infranodus": {
"command": "node",
"args": ["C:\\path\\to\\mcp-server-infranodus\\dist\\index.js"],
"env": {
"INFRANODUS_API_KEY": "your-api-key-here"
}
}
}
}
- 重啟 Claude Desktop。
Cursor 配置
其他支持 MCP 的應用程序
對於其他支持 MCP 的應用程序,使用以下命令通過 npx 啟動服務器:
INFRANODUS_API_KEY=your-api-key npx -y infranodus-mcp-server
或在本地啟動:
INFRANODUS_API_KEY=your-api-key node /path/to/mcp-server-infranodus/dist/index.js
服務器通過標準輸入輸出(stdio)進行通信,因此配置你的應用程序以運行此命令並通過標準輸入/輸出進行通信。
💻 使用示例
安裝完成後,你可以向 Claude 發出以下指令:
- “Use InfraNodus to analyze this text and show me the main topics”(使用 InfraNodus 分析此文本並展示主要主題)
- “Generate a knowledge graph from this document”(從本文檔生成知識圖譜)
- “Find content gaps in this article”(找出本文中的內容缺口)
- “Retrieve my existing graph called 'Research Notes' from InfraNodus”(從 InfraNodus 檢索我名為“Research Notes”的現有圖譜)
- “What are the structural gaps in this text?”(本文本的結構缺口是什麼?)
- “Identify the most influential concepts in this content”(識別此內容中最有影響力的概念)
🔧 技術細節
知識圖譜記憶使用建議
InfraNodus 將任何文本表示為網絡圖譜,以識別主要的想法簇和它們之間的缺口。這有助於根據文本的結構生成高級見解。該網絡實際上是一個知識圖譜,還可用於檢索不同實體和概念之間的複雜本體關係。在 InfraNodus 中,使用 search 和 fetch 工具以及其他分析底層網絡的工具可自動完成此過程。
不過,你也可以輕鬆地將 InfraNodus 用作更傳統的內存服務器來保存和檢索關係。我們使用 [[wikilinks]] 來突出顯示文本中的實體,以使你的內容和圖譜與標記語法和如 Obsidian 這樣的個人知識管理(PKM)工具兼容。默認情況下,InfraNodus 將根據對話的上下文為你生成內存圖譜的名稱。但是,你可以通過在 LLM 客戶端中添加 系統提示 或 項目指令 來修改此默認行為。
具體來說,你可以指定始終使用特定的知識圖譜來保存所有記憶:
Save all memories in the `my-memories` graph in InfraNodus.
或者,你可以要求 InfraNodus 僅保存某些實體,例如用於構建社交網絡:
When generating entities, only extract people, companies, and organizations. Ignore everything else.
開發相關
開發模式運行
npm run dev
使用 MCP 檢查器
使用 MCP 檢查器測試服務器:
npm run build:inspect
npm run inspect
從源代碼構建
npm run build
監聽更改
npm run watch
進度通知
對於長時間運行的操作(如 SEO 分析),MCP 服務器支持 即時進度通知,為 AI 代理提供中間反饋。這使代理能夠:
- 跟蹤多步驟操作的進度。
- 向用戶顯示狀態消息。
- 瞭解長時間分析過程中正在發生的事情。
實現方式
服務器使用以下方式實現 MCP 進度通知:
- ToolHandlerContext:所有工具處理程序都可以接收一個可選的上下文參數,其中包含服務器實例和進度令牌。
- ProgressReporter:一個實用類,簡化了發送帶有百分比和消息的進度更新。
- Wrapped Handlers:工具註冊會自動將服務器上下文注入處理程序。
工具中的示例用法
import { ProgressReporter } from "../utils/progress.js";
import { ToolHandlerContext } from "../types/index.js";
handler: async (params: ParamType, context: ToolHandlerContext = {}) => {
const progress = new ProgressReporter(context);
await progress.report(25, "Fetching data from API...");
await progress.report(75, "Analyzing results...");
await progress.report(100, "Complete!");
return results;
};
generate_seo_report 工具在多步驟分析過程中通過 6 個主要進度檢查點展示了這種模式,提供詳細的狀態更新。
📚 詳細文檔
API 文檔
generate_knowledge_graph
分析文本並生成知識圖譜。
參數:
text(字符串,必需):要分析的文本。
includeStatements(布爾值):在響應中包含原始陳述。
modifyAnalyzedText(字符串):文本修改選項(“none”,“entities”,“lemmatize”)。
analyze_existing_graph_by_name
從你的 InfraNodus 賬戶中檢索和分析現有的圖譜。
參數:
graphName(字符串,必需):現有圖譜的名稱。
includeStatements(布爾值):在響應中包含陳述。
includeGraphSummary(布爾值):包含圖譜摘要。
generate_content_gaps
識別文本中的內容缺口和缺失的連接。
參數:
📄 許可證
本項目採用 MIT 許可證。
支持與反饋
故障排除
服務器未在 Claude 中顯示
- 驗證配置文件路徑是否正確。
- 檢查 API 密鑰是否有效。
- 確保 Node.js 已添加到系統路徑中。
- 完全重啟 Claude Desktop。
API 密鑰問題
構建錯誤
rm -rf node_modules package-lock.json
npm install
npm run build
資源鏈接
支持途徑
- 此 MCP 服務器相關問題:在此倉庫中提交問題。
- InfraNodus API 相關問題:聯繫 support@infranodus.com。
- MCP 協議相關問題:訪問 MCP 社區。