🚀 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 社区。