mcpField
I
Infranodus Knowledge Graphs & Text Analysis

Infranodus Knowledge Graphs & Text Analysis

远程服务
github.com/infranodus记忆与知识1041 周前更新
代码仓库

关于 Infranodus Knowledge Graphs & Text Analysis

InfraNodus 知识图谱与文本网络分析 MCP 服务,可将文本转换为概念关系图谱,用于分析主题、内容缺口与结构。适合需要结构化文本洞察的研究人员、内容创作者和 SEO 人员。

主要功能

  1. 01从文本生成知识图谱与主题聚类
  2. 02检测讨论中的内容缺口
  3. 03分析文本的偏见与连贯性
  4. 04基于图谱分析 URL 与 YouTube 字幕
  5. 05对比或合并多个文本的图谱

适用场景

  1. 01为内容创作与研究发现未覆盖的主题
  2. 02基于主题聚类规划 SEO 内容
  3. 03分析搜索结果与搜索查询之间的差距

MCP 相关

向 MCP 客户端暴露大量工具,包括图谱生成、内容缺口分析、主题聚类与 SEO 报告等功能。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp需要授权

工具

32
参数类型必填说明
textstring否要分析的文本。使用换行符分隔文本中的不同陈述或段落(不要分隔句子)。使用 [[wikilinks]] 标记实体(如社交图谱、知识图谱、本体或实体检测需要)。请提供以下其中一项:this、url 或 statements。
urlstring否要获取内容的 URL,或要获取文字记录的 YouTube 视频 URL。请提供 this 或 text,两者不能同时提供。
statementsarray否`text` 的替代选项:已分隔的陈述,每条作为一个分析单元(即 `text` 中每行所起的作用)。仅用于简短、离散的条目,例如笔记、记录、记忆条目、调查回答、关系,尤其是包含 `categories` 或 `timestamps` 的条目。对于散文或长篇内容,请改用 text/url;内容也会按换行符分隔。
categoriesarray否每条陈述对应的元数据标签;每条陈述一个标签(无标签时为空数组,长度必须与 `statements` 相同)。每个标签都会成为一个 [[label]] 节点,并仅关联到该陈述中的概念,因此可在图谱中筛选和分组作者/来源/标签/章节。需要提供 `statements`;没有元数据时请省略。
timestampsarray否每条陈述对应的日期,每条陈述一个日期(空字符串 = 上传时间,长度必须与 `statements` 相同)。仅接受 ISO 8601 格式:'2026-08-02' 或 '2026-08-02T14:30:00Z';其他格式会被拒绝,因为在 13 日之前无法区分日优先和月优先的日期。按服务器时区精确存储到分钟;用于时间筛选和动态图谱视图。需要提供 `statements`;陈述没有日期时请省略。
includeStatementsboolean否在响应中包含已处理的陈述(仅在明确需要或提出请求时设为 true)
includeGraphboolean否在响应中包含完整图谱结构(仅在明确需要或提出请求时设为 true)
addNodesAndEdgesboolean否在响应中包含节点和边(仅在明确需要时设为 true;不建议用于较长文本)
fullGraphboolean否返回完整的未压缩图:所有节点属性(degree、betweenness centrality、community)、所有边属性(包括 context_matrix,即生成每条边的语句及其权重)、节点到语句的映射,以及完整的语句元数据。覆盖 includeGraph / addNodesAndEdges / compaction。此操作会消耗大量 token——仅在明确需要原始图数据时使用(例如导出、渲染或程序化处理)。
maxNodesinteger否生成的图谱中概念(节点)的最大数量。默认值为 150:保留最相关的节点,其余节点会被删除。对于大型文本,若明确需要更完整的图谱,可增加此值(例如 500);响应大小也会相应增加。省略时使用默认值。
modifyAnalyzedTextenum否要使用的文本处理设置:none(用于文本、缺口和主题分析)、detectEntities(混合实体和词语)、extractEntitiesOnly(仅检测实体——用于本体和知识图谱生成以及实体提取)none | detectEntities | extractEntitiesOnly
wikilinksModeenum否文本中的 [[wikilinks]] 如何成为图谱节点。'default':wikilinks 成为 [[entity]] 节点;包含 wikilinks 的陈述仅使用这些链接,不包含任何链接的陈述则逐词处理。'wikilinksOnly':仅 [[wikilinks]] 会成为节点,其他所有词语均会忽略;相邻 wikilinks 通过滑动共现窗口连接——用于实体/本体/链接陈述,例如 '[[alice]] works with [[bob]]' 或 '[[Page A]] links to [[Page B]]'。'obsidianStyle':类似 Obsidian 的图谱视图——Markdown 标题为其下方的陈述设置父页面('## [[Page A]]' 或普通的 '## Section Title'),行也可以通过 '[[Parent Page]]: ' 前缀覆盖其父页面(必须有冒号);父页面会成为一个 [[page]] 节点,并连接到其陈述中的每个概念,而概念之间不会相互连接(围绕页面/章节构成星形拓扑)。'parentAndConcepts':父页面的标题/前缀规则相同,但概念也保留常规的共现连接——适用于同时需要章节/页面来源信息和真实概念图谱的混合内容(笔记、文档、文章)。'plainText':去除方括号,并将所有内容作为普通词语处理。在所有模式下,父页面和 wikilink 节点共用 [[name]] 命名空间,因此图谱仍可比较/合并。直接提供 `statements` + `categories` 时,会跳过父页面提取,并将这些类别用作提及标签('obsidianStyle' 仍采用星形拓扑)。设置在生成图谱或首次创建图谱时生效;已保存的现有图谱会保留原设置。default | wikilinksOnly | obsidianStyle | parentAndConcepts | plainText
contextstring是说明调用此工具的原因,以及它如何契合用户的总体目标。此参数用于分析和用户意图跟踪。必须提供 15–25 个词(请仔细计数)。绝不可使用第一人称('I'、'we'、'you')——保持第三人称视角。绝不可包含凭据、密码或个人数据等敏感信息。示例(20 个词):“Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.”

详细介绍

InfraNodus MCP Server

一种 Model Context Protocol(MCP)服务,可将 InfraNodus 知识图谱和文本网络分析能力集成到大模型工作流以及 Claude Desktop 等 AI 助手中。

npm version

可在 npm 上获取:https://www.npmjs.com/package/infranodus-mcp-server

概述

InfraNodus MCP Server 可帮助大模型工作流和 AI 助手使用先进的网络科学算法分析文本、生成知识图谱、检测内容空白,并识别关键主题和概念。它使用图论和网络分析,将非结构化文本转化为结构化洞见。

InfraNodus MCP Server

功能

可用于
  • 将现有的 InfraNodus 知识图谱连接到大模型工作流和 AI 聊天中
  • 识别话语中的主要主题簇,同时不遗漏重要细节(效果优于标准大模型工作流)
  • 识别任何话语中的内容空白(有助于内容创作和研究)
  • 从任何文本生成新的知识图谱,并用于增强大模型的回答
  • 使用知识图谱保存和检索记忆中的实体与关系
可用工具
  1. generate_knowledge_graph

    • 将任何文本转换为可视化知识图谱
    • 提取主题、概念及其关系
    • 识别结构模式和簇
    • 应用 AI 驱动的主题命名
    • 执行实体检测,以生成更清晰的图谱
  2. analyze_existing_graph_by_name

    • 从你的 InfraNodus 账户中检索并分析现有图谱
    • 访问先前保存的分析结果
    • 导出包含完整统计数据的图谱数据
  3. analyze_text

    • 分析文本、URL 或 YouTube 转录文本
    • 从文本或 URL 中提取并分析图谱;提供文本或 URL 均可
    • 按需获取主题、簇、陈述、图谱结构和 AI 摘要
  4. generate_content_gaps

    • 检测话语中缺失的连接
    • 识别探索不足的主题
    • 生成研究问题
    • 提出内容开发机会
  5. generate_topical_clusters

    • 使用知识图谱分析,从文本中生成主题和关键词簇
    • 确保超越一般性洞见,并检测较小的主题
    • 使用主题簇为 SEO 建立主题权威性
    • 返回 AI 生成的主题簇概述(topicalClusterSummaries),总结每个簇所代表的话语内容,可用于创建 SEO 优化内容。默认启用;设置 generateTopicalSummaries: false 可提高处理速度,或在摘要请求失败时使用
  6. generate_contextual_hint

    • 生成文本的主题概述,并为大模型提供洞见,帮助其生成更好的回答
    • 用于高层次地理解文本
    • 用于增强大模型工作流和 AI 助手中的提示词
  7. generate_research_questions

    • 根据文本、URL 或现有 InfraNodus 图谱生成能够弥补内容空白的研究问题
    • 将其用作大模型和 AI 工作流中的提示词
    • 使用任意 AI 模型(包含在 InfraNodus API 中)
    • 根据主题聚类识别内容空白
  8. generate_research_ideas

    • 根据文本中识别出的内容空白生成创新研究思路
    • 获取可行的思路,以改进文本并拓展话语内容
    • 使用任意 AI 模型(包含在 InfraNodus API 中)
    • 根据主题簇之间的空白生成思路
  9. optimize_text_structure

    • 使用知识图谱分析文本中的偏见程度和连贯性
    • 如果文本偏见过重,则拓展其中呈现的主题,以平衡论述
    • 如果文本聚焦或多元,则拓展内容空白,深化分析
    • 如果文本分散,则聚焦最常见的空白主题,以提升连贯性
    • 选择响应类型:响应、想法、问题或超越
  10. optimize_reasoning

    • 对模型自身的推理过程或与用户的聊天应用相同的偏见和连贯性分析(作为 text 传入)
    • 检测推理是否存在偏见、聚焦、多元或分散
    • 同时引导推理实现最佳多样性和连贯性
    • 如果偏见过重,则拓展代表性不足的主题;如果聚焦或多元,则弥合内容空白;如果分散,则聚焦最常见的空白主题
    • 返回结构化诊断(多样性统计、主题集群、空白)以及后续思考方向的建议
  11. generate_responses_from_graph

    • 基于现有的 InfraNodus 图谱生成响应
    • 将其集成到你的大模型工作流和 AI 助手中
    • 使用任何 AI 模型(包含在 InfraNodus API 中)
    • 使用任何提示词
  12. develop_conceptual_bridges

    • 分析文本,并基于将文本与更广泛论述联系起来的概念拓展潜在想法
    • 发现将文本与更广泛语境联系起来的隐藏主题和模式
    • 使用任何 AI 模型(包含在 InfraNodus API 中)
    • 生成有助于拓展论述的见解
  13. develop_latent_topics

    • 分析文本,提取尚未充分展开的主题,并提供如何拓展这些主题的想法
    • 识别需要更多关注和阐释的主题
    • 使用任何 AI 模型(包含在 InfraNodus API 中)
    • 获取可执行的内容扩展建议
  14. develop_text_tool

    • 综合文本分析,结合内容空白构思、潜在主题和概念桥梁
    • 按顺序执行多项分析,并跟踪进度
    • 基于内容空白生成研究想法
    • 识别可拓展的潜在主题和概念桥梁
    • 找出可供深入探索的内容空白
  15. create_knowledge_graph

    • 在 InfraNodus 中根据文本创建知识图谱,并提供其链接
    • 用它在 InfraNodus 中根据文本创建知识图谱
    • 还接受 statements(离散条目),以及与之并行的 categories 和 timestamps。类别会作为元数据存储在每条陈述上(可据此筛选、分组、删除或重新标注),且不会进入图谱;除非设置 categoriesAsNodes: true,此时每个标签都会变为一个 [[label]] 节点——适用于大型知识库和 Obsidian 库,因为页面之间的连接才是重点。wikilinksMode 的父页面模式(obsidianStyle、parentAndConcepts)始终会将父页面设为节点
  16. generate_ontology_graph

    • 使用 AI 从以下三种来源之一生成推理本体图(实体及其关系):prompt(一个主题,例如“构建一张关于 AI 注意力机制的本体图”)、text(长文档或项目结构摘要,由服务端分块),或 sourceGraphName(现有图,例如已完整摄取的代码库或语料库;其陈述会被读回、分块并浓缩为本体)
    • ontologyMode: 'codebase' 会围绕模块、函数、数据存储、服务及其实现的概念进行提取;ontologyMode: 'procedural' 则生成摘要,即说明项目如何运作的文字陈述,包含 [[wikilinks]],每条都标记为 [principles]、[rules]、[procedures]、[handoffs]、[main_ideas] 或 [gaps](保存为陈述的类别),来源是已上传的文档/结构图;将其保存为 repo-<project>-digest,供 optimize_knowledge_base 使用;chunkSize(默认 12000 个字符)用于控制粒度;每个分块都会附加到同一张图中,响应会报告 chunksProcessed / chunksTotal
    • 默认保存为持久化的 InfraNodus 图,并返回链接;如果用户要求不保存,或只需要针对当前上下文中的主题生成一次性 AI 本体概览且之后不会复用,请设置 saveGraph: false(生成的陈述会直接返回,不会持久化)
    • modelToUse 默认使用 claude-opus-5,以生成更丰富的本体(也可使用 claude-fable-5、gpt-5.6-terra);如需更快、更低成本的生成,请选择 -mini / -lite 变体(或 gpt-4o-mini)
    • 默认返回精简图结构(knowledgeGraph)和分析结果(主要主题集群、内容缺口、最具影响力的节点、主要关系、统计数据)。如果只需要本体陈述或洞察,可设置 includeGraph: false 以节省上下文空间。如果只需要原始本体,而不需要基于图的洞察,可设置 includeAnalytics: false;需要了解结构、缺口或关键概念时,请保持启用
  17. analyze_llm_results

    • 请大模型描述一个主题,并将其回答转换为知识图谱,以揭示模型如何构建该主题的框架——主要概念、集群、内容缺口及其关系
    • 可用于探查模型偏见、呈现大模型对某一主题看法中的隐含结构,或比较不同模型对同一主题的描述
    • modelToUse 默认使用 claude-opus-5;请选择你实际想要研究的模型
    • modifyAnalyzedText 用于控制如何解析大模型输出:'detectEntities'(默认——实体与词语混合)、'extractEntitiesOnly'(仅含实体的图),或 'none'(纯共现)
    • 默认保存图;如需一次性探查,请设置 saveGraph: false。默认返回分析结果,并省略原始图(includeGraph: false)以保持响应精简;需要同时获取节点/边时,请启用 includeGraph
  18. overlap_between_texts

    • 从两篇或更多文本创建知识图谱,并找出它们的重合部分(相似之处)
    • 用于查找不同文本中相似的主题和关键词
  19. merged_graph_from_texts

    • 根据提供的所有文本和 URL 构建一张图,展示由这些文本合并生成的图中的主题集群和内容缺口
    • 用于将多个来源合并到一张图中,并查看合并内容中的集群和内容缺口
  20. difference_between_texts

    • 比较两篇或更多文本的知识图谱,并找出其他图中存在、但第一张图中没有的内容
    • 用于了解如何通过其他文本丰富一篇文本
  21. analyze_google_search_results

    • 为某个查询的 Google 搜索结果生成包含关键词和主题的图
    • 用于了解当前的信息供给情况(人们能找到什么)
  22. analyze_youtube_results

    • 根据 YouTube 搜索结果中的关键词和主题生成图谱,支持查询、频道或播放列表
    • 通过 searchMode 选择要提取的内容:search(搜索词对应的视频元数据)、comments(视频评论)、channel(频道视频——传入用户名、URL 或 @handle)、playlist(播放列表中的视频——传入播放列表 ID 或包含 list= 的 URL)、subtitles / subtitlesChannel / subtitlesPlaylist(视频/频道/播放列表的转录字幕),或 searchVideos(分析找到的视频内容——数量上限硬性限制为 20)
    • 使用 limit(默认值为 100,最大值为 2000)、sortBy(Popular / Oldest / Latest)、excludeDescriptions、importLanguage 和 importRegion 控制结果
    • 用于了解 YouTube 上围绕某个视频、频道、播放列表或搜索词的讨论主题、聚类和内容空白
  23. analyze_related_search_queries

    • 根据 Google 为某个查询建议的搜索词生成图谱
    • 用于了解当前的信息需求(人们正在搜索什么)
  24. search_queries_vs_search_results

    • 生成关键词组合和主题图谱,展示人们常搜索、但在相同查询的搜索结果中不容易找到的内容
    • 用于了解人们搜索什么,却尚未找到什么
  25. generate_seo_report

    • 通过对比 Google 搜索结果和搜索词,分析内容的 SEO 优化情况
    • 找出内容空白和提升搜索可见度的机会
    • 全面分析搜索结果中有、但文本中没有的内容
    • 发现人们在搜索什么,却无法在当前结果中找到什么
  26. memory_add_relations

    • 将文本中的关系添加到 InfraNodus 记忆中
    • 自动检测实体,或使用 [[wikilinks]] 语法标记实体
    • 将记忆保存到指定的图谱名称,以供日后检索
    • 支持自动提取实体或手动标记实体
    • 提供已创建记忆图谱的链接,方便访问
  27. memory_get_relations

    • 从 InfraNodus 记忆中检索特定实体的关系
    • 使用 [[wikilinks]] 语法搜索实体关系
    • 查询特定记忆上下文,或搜索所有记忆图谱
    • 从存储的知识图谱中提取陈述和关系
    • 支持实体专项搜索和完整上下文检索
  28. retrieve_from_knowledge_base

    • 使用 GraphRAG 从现有的 InfraNodus 知识图谱中检索上下文
    • 使用自然语言提示词查询知识库,获取相关陈述
    • 包含图谱摘要,快速了解知识结构
    • 可选择检索完整图谱、陈述或扩展分析
    • 非常适合为 LLM 回复补充特定领域的知识
  29. list_graphs

    • 列出 InfraNodus 账户中的所有图谱,可按名称、类型、日期、语言或收藏状态筛选
    • 在分析、搜索或检索图谱之前,用于查看现有图谱
  30. search

    • 搜索现有的 InfraNodus 图谱
    • 也可用于搜索特定用户的公开图谱
    • 兼容 ChatGPT 的 Deep Research 模式:Developer Mode > Connectors
  31. fetch

    • 获取图谱的特定搜索结果
    • 可在 ChatGPT 的 Deep Research 模式中通过 Developer Mode > Connectors 使用
  32. enable_project_learnings

    • 在你的账户中创建可选择启用、按项目区分、仅追加的学习图谱(learn-<project>)——助手在这里保存其学到的项目操作经验
    • 只有在你明确要求开始为某个项目保存经验时才会调用;此操作具有幂等性,因此再次调用只会返回现有图谱
    • 助手会先告知你将保存哪些内容(仅项目知识,不会保存任何关于你的信息)、保存位置(你随时可以删除的私人图谱),以及保存前会显示每一批内容供你查看
  33. add_project_learnings

    • 将项目相关经验保存为陈述,每条陈述都带有一个 type 类别,供任何客户端在后续会话中使用。内容包括文件所在位置、易踩的坑、惯例、决策、工作流,以及对哪些做法效果良好、下次应该如何改进的自我评估
    • 如果项目尚未启用,则会拒绝操作(不报错),且绝不会自行创建图谱
    • 默认进行试运行:返回将要写入的内容,并将近似重复项标记为 reinforced;只有在 confirm: true 时才会写入,或者在客户端支持 MCP elicitation 且你批准表单时,于同一次调用中写入
    • 在服务端拒绝包含类似机密内容的陈述(仅检查索引,不检查内容)
  34. get_project_learnings

    • 检索项目经验:可通过 prompt(GraphRAG——最相关的陈述以及已知内容概览)、entity(文件路径、模块或概念)检索,也可在两者都不提供时获取结构概览
    • 不指定 project 时调用,可列出你账户中已保存经验的项目
    • 如果项目没有学习图谱,则返回 enabled: false 和空列表,不会报错

    在提供 MCP 提示词的客户端中,也可通过 save-learnings 提示词使用。设置 INFRANODUS_LEARNINGS=0,可从服务中彻底移除这三个工具(参见项目经验)。

  35. optimize_knowledge_base

    • 基于整个代码库、文档库或程序性知识集合(规则、框架、原则)的摘要图谱(repo-<project>-digest / vault-<project>-digest)提供结构反馈;也可以将你编写的摘要作为文本传入,并通过 saveAs 保存
    • 诊断结构(偏向单一主题/聚焦/多元/分散),并根据所选的 focus(codebase、vault、procedural、general)进行分析:哪些内容占主导、哪些领域尚未充分发展(附带潜在主题构想)、哪些集群彼此没有连接——缺少整合、桥接笔记、框架间的衔接——并提供 AI 建议,指出接下来可以发展哪些内容
    • 使用 compareWith 对比同一项目中最多另外两个层级(例如摘要与结构图、文档与代码),了解各自缺少对方的哪些内容:有规则但没有代码、有代码但没有文档、描述了但尚未实现的功能
    • 获取摘要有两种方式:由助手读取项目并编写(使用 infranodus 技能的 digest 构建模式,或在此处使用 text + saveAs),或者通过 generate_ontology_graph,使用 ontologyMode: 'procedural' 根据上传的文档/结构图在服务端生成
    • 可与 infranodus 技能的构建模式配合使用:完整摄取、摘要、结构图、ontology
  36. submit_workflow_feedback

    • 内部遥测:在完成一系列 InfraNodus 调用的工作流后,助手会报告自己实际如何使用输出——使用了多少、是否包含新内容、工具是否选对、调用了多少次,以及具体缺陷;这些内容以观察记录的形式呈现,而非评分,评分由服务端据此生成
    • 自主运行:绝不会向你提问,也不会出现在对话中
    • 报告包含你正在处理内容的简短转述(最多 200 个字符),遵循与 InfraNodus 已记录的提示词相同的策略;MCPCAT_ANONYMOUS=1 会完全跳过按用户记录日志
    • 设置 INFRANODUS_FEEDBACK=0,即可从服务中移除该工具(以及附加到工作流结束结果中的单行提示)
  37. delete_statements

    • 根据由服务端解析的筛选条件,从你自己账户中的图谱删除陈述——只能指定以下一项:categories(在某个来源标签下上传的所有内容:文件路径、页面名称、[[label]] 父级)、statements(精确文本)、query(子字符串或 /regex/)、before/after(ISO 8601 时间范围)、deleteAll(清空图谱,但保留其名称、URL 和设置),或 statementIds
    • 默认先试运行:返回匹配数量、部分陈述示例和按类别划分的明细;只有再次发送相同筛选条件并设置 confirm: true 后才会删除内容;对于支持 MCP elicitation 的客户端,则需在同一次调用中接受表单。筛选条件没有匹配项时,会返回 deleted: 0,不会要求确认
    • 按来源替换的流程:使用该来源的类别调用 delete_statements,然后在同一图谱名称下调用 create_knowledge_graph。deleteAll 后再调用 create_knowledge_graph,即可就地重建图谱
    • 此操作不可逆,仅限自己的账户(不使用 userName),绝不会创建图谱,并且助手被指示不得主动调用。设置 INFRANODUS_DELETE=0,即可从服务中移除该工具
  38. update_statements

    • 在你自己账户中的图谱内就地编辑陈述——修改内容、类别或时间戳,同时保留每条陈述的 ID、日期和位置(不同于删除后重新创建)
    • 有两种模式:edits 用于改写指定陈述,每条陈述通过其当前的精确文本(match,例如来自带有 includeStatements 的 analyze_existing_graph_by_name)或 statementId 指定;也可以使用一个筛选条件(与 delete_statements 相同,但使用 all 而非 deleteAll),再搭配 set(addCategories、removeCategories、categories、timestamp)和/或 replace({ pattern, with },子字符串或 /regex/flags),以批量重标记,或在整个图谱中查找并替换内容——例如重命名所有位置的 [[concept]] 或来源路径
    • 默认先试运行:返回匹配数量以及每项更改的修改前 → 修改后内容;只有再次发送相同参数并设置 confirm: true 后才会写入内容;对于支持 MCP elicitation 的客户端,则需在同一次调用中接受表单。请求没有匹配项时,会返回 updated: 0,不会要求确认
    • 新内容最多为 1000 个字符;更长的文本请使用 delete_statements,然后调用 create_knowledge_graph。此操作不可逆(旧文本仅保留在试运行输出中),仅限自己的账户,绝不会创建图谱,并且助手被指示不得主动调用。设置 INFRANODUS_DELETE=0,即可连同 delete_statements 一起移除该工具
  39. delete_graph

    • 从您自己的账户中彻底删除一个图谱——包括其语句、修订版本、设置和 URL;删除后名称将重新可用。另一种做法是使用 delete_statements 和 deleteAll,这样可以保留图谱以便原地重建。
    • 默认进行试运行:确认图谱存在,并报告其 URL 以及是否为实时图谱;只有再次发送相同的 graphName 并设置 confirm: true 后,才会删除内容。支持征询功能的客户端会直接向您确认,并在同一次调用中完成删除。
    • 此操作不可逆,且仅限本人账户(不使用 userName;根据您的 API 密钥所关联的图谱列表解析图谱,后端会将删除范围限定为同一用户),并且已指示助手绝不主动调用此工具。设置 INFRANODUS_DELETE=0 可将其与另外两个修改工具一并移除。

更多功能即将推出!

核心功能
  • 主题建模:自动聚类和分类概念
  • 内容缺口检测:查找概念簇之间缺失的链接
  • 实体识别:准确提取姓名、地点和组织
  • AI 增强:可选的 AI 驱动主题命名与分析
  • 结构分析:识别有影响力的节点和社区结构
  • 网络结构统计:模块度、中心性、中介中心性及其他图指标
  • 知识图谱记忆:保存和检索知识图谱记忆,并进行分析以提取关键节点、簇和连接点

知识图谱记忆使用建议

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.

安装

启动 InfraNodus MCP 服务最简单、最快捷的方法是:在远程/Web 应用中使用我们的服务 URL https://mcp.infranodus.com,或者在本地运行 LLM 应用时添加手动配置。

您也可以在本地安装服务,以便拥有更多控制权。这样,您还可以编辑源文件,甚至基于 InfraNodus API 创建自己的工具。

下面介绍设置 InfraNodus MCP 服务的两种不同方式。

1. 最简单的设置:InfraNodus MCP 服务(通过 HTTP/SSE)
  1. 前提条件
  1. 获取 URL
  • 目前,我们使用以下 URL 连接部署在我们基础设施中的 MCP 服务:
https://mcp.infranodus.com
  1. 将 MCP 服务 URL 添加到你要使用 InfraNodus 的客户端工具中
  • 将上述 URL 添加到工具后,系统会自动提示你使用 OAuth 进行身份验证,以便访问托管在该 URL 上的 InfraNodus MCP。
  1. 在调用中使用 InfraNodus 工具
  • 如需使用 InfraNodus,请查看可用工具,然后直接通过聊天界面调用它们(例如,“显示我讨论这个主题的图谱”或“获取我上传文档中的内容缺口”)。

  • 如果你的客户端在某些操作中没有使用 InfraNodus,请明确添加使用 InfraNodus 的指令。

2. 手动设置:通过 NPX

你可以通过 npx 手动部署 InfraNodus 服务。npx 是一个可在你的计算机上执行本地和远程 Node.Js 软件包的工具。

InfraNodus MCP 服务作为 npm 软件包发布在 https://www.npmjs.com/package/infranodus-mcp-server,你可以通过 npx 在本地计算机上远程启动它。使用此命令启动服务的 MCP 客户端将能够使用该服务提供的工具。

适用于 Claude Desktop / Cursor IDE:

只需将以下内容添加到 Claude 的配置文件中(Settings > Developer > Edit Config),放在列出不同服务的 "mcpServers" 对象内:

{
	"mcpServers": {
		"infranodus": {
			"command": "npx",
			"args": ["-y", "infranodus-mcp-server"],
			"env": {
				"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"
			}
		}
	}
}
适用于 Claude Code

若要将 InfraNodus MCP 服务连接到 Claude code,请使用以下命令。请务必提供与你的账户对应的正确 InfraNodus API key:

claude mcp add infranodus -s user \
	-- env INFRANODUS_API_KEY=YOUR_INRANODUS_KEY \
		npx -y infranodus-mcp-server
3. 手动设置:将 MCP 启动为本地服务(用于检查和开发)
  1. 前提条件
  1. 克隆并构建服务:

    git clone https://github.com/yourusername/mcp-server-infranodus.git
    cd mcp-server-infranodus
    npm install
    npm run build:inspect
    npm run inspect
    

请注意,build:inspect 会生成 dist/index.js 文件,随后你将在服务设置中使用该文件。标准的 npm run build 命令只会构建 Smithery 文件。

  1. 设置你的 API key:

    在项目根目录中创建 .env 文件:

    INFRANODUS_API_KEY=your-api-key-here
    
  2. 检查 MCP:

    npm run inspect
    
Claude Desktop 配置(macOS)
  1. 打开 Claude Desktop 配置文件:

    open ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
  2. 添加 InfraNodus 服务配置:

a. 通过 npx 远程启动:

{
	"mcpServers": {
		"infranodus": {
			"command": "npx",
			"args": ["-y", "infranodus-mcp-server"],
			"env": {
				"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"
			}
		}
	}
}

b. 使用 node 启动此仓库,并指定仓库的绝对路径 + /dist/index.js:

{
	"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 key。

  1. 重启 Claude Desktop 以加载新服务。
Claude Desktop 配置(Windows)
  1. 打开 Claude Desktop 配置文件:

    %APPDATA%\Claude\claude_desktop_config.json
    
  2. 添加 InfraNodus 服务配置:

a. 通过 npx 远程启动:

{
	"mcpServers": {
		"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"
			}
		}
	}
}
  1. 重启 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 通信,因此请将应用配置为运行此命令,并通过标准输入/输出进行通信。

通过 Smithery 进行旧版设置

InfraNodus 服务也可通过 Smithery 使用。Smithery 是一个 MCP 服务仓库,为大多数大模型客户端提供了简单易懂的安装流程。不过,你需要在 Smithery 单独注册一个账户。

适用于 Cursor:
// e.g. Cursor will access directly the server via Smithery
"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:
// Claude uses a slightly different implementation
// Fot this, it launches the MCP server on your local machine
"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 个人资料中,它便会通过上面的链接自动连接到你的账户。

使用示例

安装后,你可以让 Claude:

  • “使用 InfraNodus 分析这段文本,并向我展示主要主题”
  • “从这份文档生成知识图谱”
  • “找出这篇文章中的内容缺口”
  • “从 InfraNodus 获取我现有的、名为 ‘Research Notes’ 的图谱”
  • “这段文本中有哪些结构性缺口?”
  • “找出这段内容中影响力最大的概念”

开发

在开发模式下运行
npm run dev
使用 MCP Inspector

使用 MCP Inspector 测试服务:


npm run build:inspect
npm run inspect
从源代码构建
npm run build
监视更改
npm run watch

API 文档

generate_knowledge_graph

分析文本并生成知识图谱。

参数:

  • text(string):要分析的文本。请提供此参数、url 或 statements
  • statements(string[]):已分割的语句,可选配套提供 categories(string[][])和 timestamps(ISO 8601 字符串)
  • categoriesAsNodes(boolean,默认 false):将类别标签显示为 [[label]] 节点。仅适用于大型知识库和 Obsidian 库(其中页面之间的连接很重要);否则标签会保留为元数据
  • wikilinksMode(string):[[wikilinks]] 转换为节点的方式——“default”、“wikilinksOnly”、“obsidianStyle”、“parentAndConcepts”或“plainText”
  • includeStatements(boolean):在响应中包含原始语句
  • modifyAnalyzedText(string):实体检测——“none”、“detectEntities”或“extractEntitiesOnly”
analyze_existing_graph_by_name

从你的 InfraNodus 账户中获取并分析现有图谱。

参数:

  • graphName(string,必填):现有图谱的名称
  • includeStatements(boolean):在响应中包含语句
  • includeGraphSummary(boolean):包含图谱摘要
analyze_text

分析文本、URL 或 YouTube 转录文本。从文本或 URL 提取并分析图谱;请提供文本或 URL。

参数:

  • text(string,可选):要分析的文本。请提供此参数或 URL。
  • url(string,可选):要获取内容的 URL(例如网页或 YouTube 转录文本)。请提供此参数或文本。
  • includeStatements(boolean):在响应中包含处理后的语句
  • includeGraph(boolean):在响应中包含完整图谱结构
  • addNodesAndEdges(boolean):在响应中包含节点和边
  • includeGraphSummary(boolean):包含 AI 生成的图谱摘要,用于 RAG 提示词增强
  • modifyAnalyzedText(string):实体检测——“none”、“detectEntities”或“extractEntitiesOnly”
generate_content_gaps

识别文本中的内容缺口和缺失的关联。

参数:

  • text(字符串,必填):要分析内容缺口的文本

进度通知

对于耗时较长的操作(例如 SEO 分析),MCP 服务支持实时进度通知,向 AI Agent 提供中间反馈。这使 Agent 能够:

  • 跟踪多步骤操作的进度
  • 向用户显示状态消息
  • 了解耗时较长的分析过程中正在发生的事情
实现方式

服务通过以下方式实现 MCP 进度通知:

  1. ToolHandlerContext:所有工具处理程序都可以接收一个可选的上下文参数,其中包含服务实例和进度令牌
  2. ProgressReporter:用于简化进度更新发送的工具类,支持百分比和消息
  3. 包装处理程序:工具注册时会自动将服务上下文注入处理程序
工具中的用法示例
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...");
	// Do work

	await progress.report(75, "Analyzing results...");
	// More work

	await progress.report(100, "Complete!");
	return results;
};

generate_seo_report 工具通过 6 个主要进度检查点展示了这种模式,可在多步骤分析过程中提供详细的状态更新。

使用分析与隐私

为了改进产品,此 MCP 服务会记录工具的使用情况(工具名称、错误和延迟)。这有助于我们了解哪些功能有用,以及哪些环节会出问题。我们不会使用你的数据训练任何模型——请参阅 InfraNodus 条款与条件。

如果你不希望这些使用统计信息关联到你的 InfraNodus 账户,请设置 MCPCAT_ANONYMOUS 环境变量:

{
	"mcpServers": {
		"infranodus": {
			"command": "npx",
			"args": ["-y", "infranodus-mcp-server"],
			"env": {
				"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY",
				"MCPCAT_ANONYMOUS": "1"
			}
		}
	}
}

设置 MCPCAT_ANONYMOUS=1 后,工具使用情况仍会被记录,但会保持匿名——不会关联到你的用户账户。此设置还会禁用工具 34 中所述的按用户记录的 submit_workflow_feedback 日志(报告会包含所评分调用的持续时间、错误和重试情况)。

项目经验

enable_project_learnings、add_project_learnings 和 get_project_learnings 工具可让助手维护一个只追加的图谱,记录其在项目中学到的操作经验(位于你的 InfraNodus 账户中的 learn-<project>)。每个项目都需选择启用:只有在你明确要求启用后,图谱才会创建;如果图谱不存在,写入工具会拒绝操作,且绝不会自行创建图谱;每批内容都会在保存前展示给你。如果你不希望这些工具被公开,请在服务的环境中设置 INFRANODUS_LEARNINGS=0(与 MCPCAT_ANONYMOUS 设置在同一处)。若要停止为某个项目收集经验,请在 InfraNodus 中删除其 learn-<project> 图谱。

由于大多数工具都启用了 doNotSave=1 选项,你创建的所有图谱都是临时的,除非你明确要求 MCP 服务保存,否则不会保存到你的 InfraNodus 账户中。我们也不会保留你处理的数据日志。根据 InfraNodus 服务条款,我们也绝不会将你的数据用于大模型训练。

故障排除

Claude 中未显示服务
  1. 确认配置文件路径正确
  2. 检查 API 密钥是否有效
  3. 确保 Node.js 位于系统 PATH 中
  4. 完全重启 Claude Desktop
API 密钥问题
构建错误
# Clean install
rm -rf node_modules package-lock.json
npm install
npm run build

资源

许可证

MIT

支持

关于以下事项:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。