Infranodus Knowledge Graphs & Text Analysis について
InfraNodus Knowledge Graphs MCP サーバーは、テキストを概念間の関係グラフに変換し、トピック、コンテンツギャップ、構造を分析します。構造化された洞察が必要な研究者、コンテンツ制作者、SEO 担当者向けです。
主な機能
- 01テキストからナレッジグラフとトピッククラスターを生成
- 02議論におけるコンテンツギャップの検出
- 03テキストの偏りと一貫性の分析
- 04グラフによる URL と YouTube 字幕の分析
- 05複数テキストのグラフの比較と統合
活用シーン
- 01コンテンツ制作と研究で未カバーのトピックを発見
- 02トピッククラスターをもとにSEO コンテンツを計画
- 03検索結果と検索クエリの差分の分析
MCP 対応
グラフ生成、コンテンツギャップ分析、トピッククラスタリング、SEO レポートなど多数のツールを MCP クライアントに公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcpclaude mcp add --transport http infranodus https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp{"mcpServers":{"infranodus":{"type":"http","url":"https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp"}}}Cursor で開く{"servers":{"infranodus":{"type":"http","url":"https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp"}}}VS Code で開く{"mcpServers":{"infranodus":{"type":"http","url":"https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp"}}}{"mcpServers":{"infranodus":{"serverUrl":"https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp認証が必要ツール
32| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | いいえ | 分析するテキスト。テキスト内の個別の記述または段落は改行で区切ってください(文では区切らないでください)。エンティティを示すには [[wikilinks]] を使用してください(ソーシャルグラフ、ナレッジグラフ、オントロジー、エンティティ検出で必要な場合)。this、url、statements のいずれかを指定してください。 |
| url | string | いいえ | コンテンツを取得する URL、または文字起こしを取得する YouTube 動画の URL。this または text のどちらか一方を指定してください。両方は指定できません。 |
| statements | array | いいえ | `text` の代替入力:すでに区切られた記述で、それぞれが分析単位(`text` の各行が果たす役割)になります。メモ、記録、記憶項目、アンケート回答、関係など、短く独立した項目にのみ使用してください。特に `categories` または `timestamps` を伴う場合に適しています。散文や長文コンテンツには text/url を使用してください。内容は改行でも分割されます。 |
| categories | array | いいえ | 各記述に対応するメタデータラベル。記述ごとに1つ指定します(該当なしの場合は空の配列、長さは `statements` と一致させてください)。各ラベルは [[label]] ノードとなり、その記述内の概念にのみリンクされるため、グラフ内で著者/出典/タグ/セクションを絞り込み、グループ化できます。`statements` が必要です。メタデータがない場合は省略してください。 |
| timestamps | array | いいえ | 各記述の日付。記述ごとに1つ指定します(空文字列 = アップロード時刻、長さは `statements` と一致させてください)。ISO 8601 のみ受け付けます。'2026-08-02' または '2026-08-02T14:30:00Z' の形式を指定してください。13日より前の日付は日月の順序を区別できないため、他の形式は拒否されます。サーバーのタイムゾーンで分単位まで保存され、時間フィルターと動的なグラフ表示に使用されます。`statements` が必要です。記述に日付がない場合は省略してください。 |
| includeStatements | boolean | いいえ | 処理済みの記述をレスポンスに含めます(明示的に必要な場合、または要求された場合のみ true にしてください) |
| includeGraph | boolean | いいえ | 完全なグラフ構造をレスポンスに含めます(明示的に必要な場合、または要求された場合のみ true にしてください) |
| addNodesAndEdges | boolean | いいえ | ノードとエッジをレスポンスに含めます(明示的に必要な場合のみ true にしてください。長いテキストでは推奨されません) |
| fullGraph | boolean | いいえ | 圧縮されていない完全なグラフを返します。すべてのノード属性(degree、betweenness centrality、community)、context_matrix(各エッジを生成したステートメントとその重み)を含むすべてのエッジ属性、ノードとステートメントのマップ、および完全なステートメントメタデータが含まれます。includeGraph / addNodesAndEdges / compaction を上書きします。大量のトークンを消費するため、生のグラフデータが明示的に必要な場合(エクスポート、レンダリング、プログラムによる処理など)にのみ使用してください。 |
| maxNodes | integer | いいえ | 生成するグラフ内の概念(ノード)の最大数。デフォルトは 150 です。関連性の高いノードが保持され、残りは削除されます。大型のテキストで、より完全なグラフが明示的に必要な場合は値を増やしてください(例:500)。それに応じてレスポンスのサイズも大きくなります。省略するとデフォルト値が使用されます。 |
| modifyAnalyzedText | enum | いいえ | 使用するテキスト処理設定:none(テキスト、ギャップ、トピック分析用)、detectEntities(エンティティと単語を混在)、extractEntitiesOnly(エンティティのみを検出。本体やナレッジグラフの生成、エンティティ抽出に使用)none | detectEntities | extractEntitiesOnly |
| wikilinksMode | enum | いいえ | テキスト内の [[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 |
| context | string | はい | このツールを呼び出す理由と、ユーザーの全体的な目標にどう沿うかを説明してください。このパラメーターは分析とユーザー意図の追跡に使用されます。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 サーバー
InfraNodus のナレッジグラフとテキストネットワーク分析機能を、LLM のワークフローや Claude Desktop などの AI アシスタントに統合する Model Context Protocol(MCP)サーバーです。
npm で利用できます:https://www.npmjs.com/package/infranodus-mcp-server
概要
InfraNodus MCP サーバーを使うと、LLM のワークフローや AI アシスタントで、高度なネットワーク科学アルゴリズムを使ったテキスト分析、ナレッジグラフの生成、コンテンツのギャップの検出、主要なトピックや概念の特定ができます。グラフ理論とネットワーク分析を使って、非構造化テキストを構造化されたインサイトに変換します。

機能
できること
- 既存の InfraNodus ナレッジグラフを、LLM のワークフローや AI チャットに接続する
- 重要なニュアンスを見落とさずに、談話の主要なトピッククラスターを特定する(標準的な LLM ワークフローよりも優れています)
- あらゆる談話におけるコンテンツのギャップを特定する(コンテンツ作成やリサーチに役立ちます)
- あらゆるテキストから新しいナレッジグラフを生成し、LLM の応答を補強するために使う
- ナレッジグラフを使って、エンティティや関係をメモリに保存し、取得する
利用可能なツール
-
generate_knowledge_graph
- あらゆるテキストをビジュアルなナレッジグラフに変換する
- トピック、概念、およびそれらの関係を抽出する
- 構造的なパターンやクラスターを特定する
- AI によるトピックの命名を適用する
- グラフを整理するためにエンティティ検出を実行する
-
analyze_existing_graph_by_name
- InfraNodus アカウントにある既存のグラフを取得して分析する
- 保存済みの分析にアクセスする
- すべての統計情報を含むグラフデータをエクスポートする
-
analyze_text
- テキスト、URL、または YouTube の文字起こしを分析する
- テキストまたは URL からグラフを抽出して分析する。テキストまたは URL のいずれかを指定する
- リクエストに応じて、トピック、クラスター、ステートメント、グラフ構造、AI による要約を取得する
-
generate_content_gaps
- 談話におけるつながりの欠落を検出する
- 十分に掘り下げられていないトピックを特定する
- リサーチの質問を生成する
- コンテンツ開発の機会を提案する
-
generate_topical_clusters
- ナレッジグラフ分析を使って、テキストからキーワードのトピックやクラスターを生成する
- 一般的なインサイトにとどまらず、より小さなトピックも検出する
- トピッククラスターを活用して、SEO のトピック領域における権威性を高める
- トピッククラスターの AI 生成による概要(
topicalClusterSummaries)を返します。各クラスターが表す談話を要約したもので、SEO に最適化されたコンテンツの作成に役立ちます。デフォルトで有効です。処理速度を上げたい場合や要約リクエストが失敗する場合は、generateTopicalSummaries: falseを設定してください
-
generate_contextual_hint
- テキストのトピック概要を生成し、LLM がより良い応答を生成するためのインサイトを提供する
- テキストの全体像を把握するために使う
- LLM のワークフローや AI アシスタントのプロンプトを補強するために使う
-
generate_research_questions
- テキスト、URL、または既存の InfraNodus グラフから、コンテンツのギャップを埋めるリサーチの質問を生成する
- LLM モデルや AI ワークフローでプロンプトとして使う
- 任意の AI モデルを使う(InfraNodus API に含まれています)
- コンテンツのギャップは、トピッククラスターに基づいて特定されます
-
generate_research_ideas
- テキストで特定されたコンテンツのギャップに基づいて、革新的なリサーチのアイデアを生成する
- テキストを改善し、談話を発展させるための実行可能なアイデアを得る
- 任意の AI モデルを使う(InfraNodus API に含まれています)
- トピッククラスター間のギャップからアイデアを生成する
-
optimize_text_structure
- ナレッジグラフ分析を使用して、テキストの偏りの度合いと一貫性を分析します
- テキストに偏りが強すぎる場合は、論述のバランスを取るために、取り上げられているトピックを掘り下げます
- テキストに焦点が定まっている、または多様性がある場合は、分析を深めるために内容のギャップを掘り下げます
- テキストが分散している場合は、一貫性を高めるために、最も一般的なギャップトピックに焦点を絞ります
- 回答の種類として、response、idea、question、transcend のいずれかを選択します
-
optimize_reasoning
- テキストとして渡された、モデル自身の推論過程またはユーザーとのチャットにも、同じ偏りと一貫性の分析を適用します
- 推論が偏っているか、焦点が定まっているか、多様性があるか、または分散しているかを検出します
- 多様性と一貫性を同時に最適化する方向へ推論を導きます
- 偏りが強すぎる場合は、取り上げられていないトピックを掘り下げます。焦点が定まっている、または多様性がある場合は、内容のギャップを埋めます。分散している場合は、最も一般的なギャップトピックに焦点を絞ります
- 構造上の診断(多様性の統計、トピッククラスター、ギャップ)と、思考を続ける方法の提案を返します
-
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 にナレッジグラフを作成するために使用します
statements(個別の項目)と、それに対応するcategoriesおよびtimestampsも指定できます。カテゴリは各ステートメントのメタデータとして保存され(カテゴリによるフィルタリング、グループ化、削除、ラベルの変更が可能です)、categoriesAsNodes: trueを指定しない限りグラフには含まれません。指定すると各ラベルが[[label]]ノードになります。これは、ページ間のつながりが重要となる大規模なナレッジベースや Obsidian の保管庫向けです。wikilinksModeの親モード(obsidianStyle、parentAndConcepts)では、常に親ページがノードになります
-
generate_ontology_graph
- 次の3つのソースのいずれかから、AI を使って推論オントロジーグラフ(エンティティとそれらの関係)を生成します。
prompt(トピック。例:「AI の注意メカニズムに関するオントロジーを構築する」)、text(長いドキュメント、またはプロジェクトの構造ダイジェスト。サーバー側でチャンクに分割されます)、またはsourceGraphName(既存のグラフ。例:完全に取り込まれたリポジトリやコーパス。ステートメントを読み戻し、チャンクに分割してオントロジーにまとめます) ontologyMode: 'codebase'では、モジュール、関数、データストア、サービス、およびそれらが実装する概念を中心に抽出します。ontologyMode: 'procedural'では、代わりに ダイジェスト を作成します。すでにアップロードされているドキュメント/構造グラフをもとに、プロジェクトの仕組みを[[wikilinks]]付きの文章で記述し、それぞれを[principles]、[rules]、[procedures]、[handoffs]、[main_ideas]、または[gaps]として分類します(ステートメントのカテゴリとして保存されます)。optimize_knowledge_baseで使用できるよう、repo-<project>-digestという名前で保存します。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を設定します。構造、不足、主要な概念を把握したい場合は、常に有効にしておきます
- 次の3つのソースのいずれかから、AI を使って推論オントロジーグラフ(エンティティとそれらの関係)を生成します。
-
analyze_llm_results
- LLM にトピックの説明を依頼し、その回答をナレッジグラフに変換して、モデルがそのトピックをどのように捉えているかを明らかにします。主な概念、クラスター、内容の不足、およびそれらの間の関係を確認できます
- モデルのバイアスを調査したり、あるテーマに対する LLM の見解に潜む構造を明らかにしたり、異なるモデルが同じトピックをどのように説明するかを比較したりするために使用します
modelToUseのデフォルトはclaude-opus-5です。調査したいモデルを選択しますmodifyAnalyzedTextで LLM の出力の解析方法を指定します。'detectEntities'(デフォルト。エンティティと単語の混合)、'extractEntitiesOnly'(エンティティのみのグラフ)、または'none'(単純な共起)を指定できます- デフォルトではグラフを保存します。一時的な調査の場合は
saveGraph: falseを設定します。デフォルトでは分析結果を返し、レスポンスをコンパクトにするため生のグラフを省略します(includeGraph: false)。ノード/エッジも必要な場合はincludeGraphを有効にします
-
overlap_between_texts
- 2つ以上のテキストからナレッジグラフを作成し、それらに共通する部分(類似点)を見つけます
- 異なるテキスト間で類似するトピックやキーワードを見つけるために使用します
-
merged_graph_from_texts
- 提供されたすべてのテキストと URL からグラフを構築し、統合グラフに含まれるトピッククラスターと不足を示します
- 複数のソースを1つのグラフにまとめ、統合された内容全体のクラスターや内容の不足を確認するために使用します
-
difference_between_texts
- 2つ以上のテキストのナレッジグラフを比較し、最初のグラフにはなく、他のグラフに含まれている内容を見つけます
- 他のテキストを使って1つのテキストをどのように充実させられるかを調べるために使用します
-
analyze_google_search_results
- 特定の検索クエリに対する Google 検索結果から、キーワードとトピックを含むグラフを生成します
- 現在、どのような情報が提供されているか(人々が何を見つけられるか)を把握するために使用します
-
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 上の動画、チャンネル、プレイリスト、または検索語をめぐる言説について、トピック、クラスター、コンテンツの不足箇所を把握するために使用します
-
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]] 構文を使ってエンティティ間の関係を検索します
- 特定のメモリコンテキストをクエリするか、すべてのメモリグラフを横断して検索します
- 保存されたナレッジグラフから記述や関係を抽出します
- エンティティを指定した検索と、コンテキスト全体の取得の両方に対応しています
-
retrieve_from_knowledge_base
- GraphRAG を使用して、既存の InfraNodus ナレッジグラフからコンテキストを取得します
- 自然言語のプロンプトでナレッジベースにクエリを実行し、関連する記述を取得します
- ナレッジ構造の概要をすばやく把握できるよう、グラフの要約を含めます
- 必要に応じて、グラフ全体、記述、または詳細な分析を取得します
- LLM の応答に分野固有の知識を追加するのに適しています
-
search
- 既存の InfraNodus グラフを検索します
- 特定のユーザーの公開グラフを検索する際にも使用できます
- Developer Mode > Connectors 経由で ChatGPT Deep Research モードに対応しています
-
fetch
- グラフの特定の検索結果を取得します
- Developer Mode > Connectors 経由で ChatGPT Deep Research モードでも使用できます
-
enable_project_learnings
- アカウントに、プロジェクトごとのオプトイン方式で追記専用の学習グラフ(
learn-<project>)を作成します。これは、プロジェクトでの作業方法について学んだ内容をアシスタントが保存する場所です - プロジェクトの学習内容の保存を開始するよう明示的に依頼された場合にのみ呼び出されます。冪等性があるため、再度呼び出すと既存のグラフが返されます
- 保存前に、何が保存されるか(プロジェクトの知識のみで、ユーザーに関する情報は一切含まれません)、保存先(いつでも削除できる非公開グラフ)、および保存前にバッチの内容が表示されることをアシスタントが最初に伝えます
- アカウントに、プロジェクトごとのオプトイン方式で追記専用の学習グラフ(
-
add_project_learnings
- プロジェクトに関する学びを、それぞれに
typeカテゴリを付けたステートメントとして保存します。学びには、情報の保存場所、注意点、規約、決定事項、ワークフロー、うまくいったことと次回変更すべきことについての自己評価が含まれます。後のセッションで、どのクライアントからでも利用できます。 - プロジェクトが有効化されていない場合は、エラーを返さずに処理を拒否し、グラフを自動作成することもありません。
- デフォルトではドライランです。書き込まれる内容を返し、類似度の高い重複項目には
reinforcedを付けます。confirm: trueの場合にのみ書き込みます。クライアントがMCPのエリシテーションに対応していて、フォームを承認した場合は、同じ呼び出し内で書き込みます。 - シークレットのような内容を含むステートメントはサーバー側で拒否されます(内容ではなく、インデックスのみ)。
- プロジェクトに関する学びを、それぞれに
-
get_project_learnings
- プロジェクトの学びを取得します。
promptではGraphRAGを使って、最も関連性の高いステートメントと既知の情報の概要を取得します。entityではファイルパス、モジュール、または概念を指定できます。どちらも指定しない場合は、構造の概要を取得します。 projectを指定せずに呼び出すと、アカウント内に学びがあるプロジェクトの一覧を取得します。- プロジェクトに学びのグラフがない場合、エラーではなく
enabled: falseと空のリストを返します。
MCPプロンプトを公開するクライアントでは、
save-learningsプロンプトとしても利用できます。これら3つのツールをサーバーから完全に削除するには、INFRANODUS_LEARNINGS=0を設定します(プロジェクトの学びを参照)。 - プロジェクトの学びを取得します。
-
optimize_knowledge_base
- コードベース全体、ドキュメントの保管庫、または手順に関する知識(ルール、フレームワーク、原則)の集合について、そのダイジェストグラフ(
repo-<project>-digest/vault-<project>-digest)から構造的なフィードバックを提供します。または、作成したダイジェストをテキストとして渡し、saveAsで保存することもできます。 - 構造を診断(偏重/集中/多様/分散)し、選択した
focus(codebase、vault、procedural、general)に沿って内容を読み解きます。何が優勢か、どの領域の開発が遅れているか(潜在トピックのアイデアを含む)、どのクラスターがまったくつながっていないか(統合の不足、ブリッジとなるノートの不足、フレームワーク間の引き継ぎ不足)を示し、次に開発する内容についてAIによる提案を提供します。 - 同じプロジェクトの他のレイヤーを最大2つまで
compareWithで比較できます(例:ダイジェストと構造マップ、ドキュメントとコード)。それぞれにあってもう一方にないもの、つまり、コード化されていないルール、ドキュメントのないコード、説明はあるものの実装されていない機能を確認できます。 - ダイジェストを取得する方法は2つあります。アシスタントがプロジェクトを読み取って作成する方法(infranodusスキルのdigestビルドモード、またはここで
textとsaveAsを使用)と、generate_ontology_graphでontologyMode: 'procedural'を指定し、アップロード済みのドキュメント/構造グラフからサーバー側で作成する方法です。 - infranodusスキルのビルドモード(フル取り込み、ダイジェスト、構造マップ、オントロジー)と組み合わせて使えます。
- コードベース全体、ドキュメントの保管庫、または手順に関する知識(ルール、フレームワーク、原則)の集合について、そのダイジェストグラフ(
-
submit_workflow_feedback
- 内部テレメトリーです。InfraNodusの呼び出しによるワークフローの後、アシスタントが出力を実際にどう使ったかを報告します。どの程度利用したか、新しい情報が含まれていたか、適切なツールだったか、呼び出し回数、具体的な不備などをスコアではなく観察事項として報告し、評価はサーバー側でそれらをもとに算出されます。
- 自律的に動作します。ユーザーに質問したり、会話に表示されたりすることはありません。
- レポートには、作業内容の短い言い換え(最大200文字)が含まれます。InfraNodusがすでにログに記録しているプロンプトと同じポリシーが適用されます。ユーザーごとのログを完全に省略するには、
MCPCAT_ANONYMOUS=1を設定します。 - ツールと、ワークフローの終了時に結果へ追加される1行の通知をサーバーから削除するには、
INFRANODUS_FEEDBACK=0を設定します。
-
delete_statements
- サーバーが解決するフィルターを使用して、自分のアカウントのグラフからステートメントを削除します。指定できるのは、
categories(ファイルパス、ページ名、[[label]]の親など、ソースラベルのもとでアップロードされたすべて)、statements(完全一致するテキスト)、query(部分文字列または/regex/)、before/after(ISO 8601 の期間)、deleteAll(グラフを空にしますが、名前、URL、設定は保持します)、statementIdsのいずれか1つだけです - デフォルトではドライランです。一致した件数、ステートメントのサンプル、カテゴリごとの内訳が返されます。同じフィルターを
confirm: trueとともに再送信するか、MCP エリシテーションに対応したクライアントでは同じ呼び出し内でフォームを承認するまで、削除は行われません。一致するものがないフィルターの場合は、確認を求めずにdeleted: 0を返します - ソースごとに置き換える場合は、
delete_statementsでそのソースのカテゴリを指定し、その後、同じグラフ名でcreate_knowledge_graphを実行します。deleteAllの後にcreate_knowledge_graphを実行すると、グラフをその場で再構築できます - 元に戻せません。自分のアカウントのみが対象です(
userNameは指定しません)。グラフを作成することはなく、アシスタントには、自発的にこのツールを呼び出さないよう指示されています。INFRANODUS_DELETE=0を設定すると、サーバーからこのツールが削除されます
- サーバーが解決するフィルターを使用して、自分のアカウントのグラフからステートメントを削除します。指定できるのは、
-
update_statements
- 自分のアカウントのグラフにあるステートメントをその場で編集します。内容、カテゴリ、タイムスタンプを変更しても、各ステートメントの ID、日付、位置は維持されます(削除して再作成する場合とは異なります)
- モードは2種類あります。
editsは、現在のテキストとの完全一致で指定する個別のステートメント(match。たとえば、includeStatementsを指定したanalyze_existing_graph_by_nameの結果から取得できます)またはstatementIdを使って、特定のステートメントを書き換えます。もう1つは、セレクターを1つ(delete_statementsと同じ形式で、deleteAllの代わりにallを使用)指定し、set(addCategories、removeCategories、categories、timestamp)および/またはreplace({ pattern, with }。部分文字列または/regex/flags)を指定する方法です。この方法では、グラフ全体の一括ラベル変更や検索置換を行えます。たとえば、[[concept]]やソースパスを全箇所で変更できます - デフォルトではドライランです。一致した件数と、すべての変更内容の変更前 → 変更後が返されます。同じ引数を
confirm: trueとともに再送信するか、MCP エリシテーションに対応したクライアントでは同じ呼び出し内でフォームを承認するまで、書き込みは行われません。一致するものがないリクエストの場合は、確認を求めずにupdated: 0を返します - 新しい内容は1000文字までです。それより長いテキストの場合は、
delete_statementsの後にcreate_knowledge_graphを使用してください。元に戻せません(以前のテキストはドライランの出力にのみ残ります)。自分のアカウントのみが対象です。グラフを作成することはなく、アシスタントには、自発的にこのツールを呼び出さないよう指示されています。INFRANODUS_DELETE=0を設定すると、delete_statementsとともにこのツールも削除されます
-
delete_graph
- 自分のアカウントからグラフを完全に削除します。ステートメント、改訂履歴、設定、URL が削除され、名前を再び使用できるようになります。グラフをその場で再構築する場合は、グラフを残せる
delete_statementsのdeleteAllが代替手段です - デフォルトではドライランです。グラフの存在を確認し、URL とライブグラフかどうかを報告します。同じ
graphNameをconfirm: trueとともに再送信するまで、削除は行われません。エリシテーションに対応したクライアントでは、直接確認を求め、同じ呼び出し内で削除します - 元に戻せません。自分のアカウントのみが対象です(
userNameは指定しません。グラフは API キーに紐づく自分のグラフ一覧から解決され、バックエンドは同じユーザーに対象を限定して削除します)。アシスタントには、自発的にこのツールを呼び出さないよう指示されています。INFRANODUS_DELETE=0を設定すると、ほかの2つの変更ツールとともにこのツールも削除されます
- 自分のアカウントからグラフを完全に削除します。ステートメント、改訂履歴、設定、URL が削除され、名前を再び使用できるようになります。グラフをその場で再構築する場合は、グラフを残せる
さらに多くの機能が近日公開予定です!
主な機能
- トピックモデリング:概念を自動でクラスタリングし、分類します
- コンテンツギャップの検出:概念クラスター間の欠けているつながりを見つけます
- エンティティ認識:名前、場所、組織を正確に抽出します
- 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 サーバーを最も簡単かつ迅速に起動するには、リモート/ウェブアプリケーションではサーバー URL https://mcp.infranodus.com を使用するか、ローカルで実行している LLM アプリに手動で設定を追加します。
サーバーをローカルにインストールして、より細かく制御することもできます。その場合は、ソースファイルを編集したり、InfraNodus API を基に独自のツールを作成したりすることもできます。
以下では、InfraNodus MCP サーバーのセットアップ方法を2つ説明します。
1. 最も簡単なセットアップ:InfraNodus MCP サーバー(HTTP/SSE 経由)
- 前提条件
- まだアカウントをお持ちでない場合は、InfraNodus でアカウントを作成し、InfraNodus API キーを取得してください。14日間の無料トライアルを提供しています。
- URL を取得する
- 現在、インフラストラクチャにデプロイされた MCP サーバーには、次の URL を使用しています。
https://mcp.infranodus.com
- InfraNodus を使用するクライアントツールに MCP サーバーの URL を追加する
- 上記の URL をツールに追加すると、InfraNodus MCP にアクセスできるよう、OAuth による認証が自動的に求められます。
- 呼び出しで InfraNodus ツールを使用する
-
InfraNodus を使うには、利用可能なツールを確認し、チャットインターフェースから呼び出すだけです(例:「このトピックについて話しているグラフを表示して」または「アップロードしたドキュメントのコンテンツギャップを取得して」)。
-
クライアントが一部の操作で InfraNodus を使用しない場合は、InfraNodus を明示的に使用するよう指示を追加してください。
2. 手動セットアップ:NPX 経由
npx を使って InfraNodus サーバーを手動でデプロイできます。npx は、Node.Js パッケージをローカルまたはリモートからコンピューター上で実行できるパッケージです。
InfraNodus MCP サーバーは、https://www.npmjs.com/package/infranodus-mcp-server で npm パッケージとして提供されています。このパッケージを使うと、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 キーを指定してください。
claude mcp add infranodus -s user \
-- env INFRANODUS_API_KEY=YOUR_INRANODUS_KEY \
npx -y infranodus-mcp-server
3. 手動セットアップ:MCP をローカルサーバーとして起動する(検査・開発用)
- 前提条件
- Node.js 18 以降がインストールされていること
- InfraNodus API キー(https://infranodus.com/api-access で取得できます)
-
サーバーをクローンしてビルドする:
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 ファイルのみがビルドされる点に注意してください。
-
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 を使ってリモート起動する場合:
{
"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 キーを追加する必要があります。
- 新しいサーバーを読み込むため、Claude Desktop を再起動します。
Claude Desktop の設定(Windows)
-
Claude Desktop の設定ファイルを開きます。
%APPDATA%\Claude\claude_desktop_config.json -
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"
}
}
}
}
- 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 は、ほとんどの LLM クライアントで簡単にインストールできる MCP サーバーのリポジトリです。ただし、Smithery 用のアカウントを別途作成する必要があります。
-
Smithery.Ai でアカウントを作成します(無料です。Google または GitHub のログインを使用できます)。
-
Smithery InfraNodus Server に移動し、右上の「Configure」をクリックして、InfraNodus API キーを追加します。
-
Smithery InfraNodus Server に移動し、サーバー用の Smithery URL リンク https://server.smithery.ai/@infranodus/mcp-server-infranodus/mcp を取得するか、Claude または Cursor 用の自動セットアップツールを使用します。
-
動作させるには、Smithery API キーと 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 キーではありません。InfraNodus API サーバーは、最初の 70 回のリクエストまで 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 strings) を指定できますcategoriesAsNodes(boolean, default false):カテゴリラベルを[[label]]ノードとして表示します。これは、ページ間のつながりが重要な大規模なナレッジベースや Obsidian vault でのみ使用します。それ以外の場合、ラベルはメタデータのままになりますwikilinksMode(string):[[wikilinks]]をノードにする方法です — "default"、"wikilinksOnly"、"obsidianStyle"、"parentAndConcepts"、または "plainText"includeStatements(boolean):レスポンスに元の文を含めますmodifyAnalyzedText(string):エンティティ検出 — "none"、"detectEntities"、または "extractEntitiesOnly"
analyze_existing_graph_by_name
InfraNodus アカウントから既存のグラフを取得して分析します。
パラメーター:
graphName(string, required):既存のグラフの名前includeStatements(boolean):レスポンスに文を含めますincludeGraphSummary(boolean):グラフの概要を含めます
analyze_text
テキスト、URL、または YouTube の文字起こしを分析します。テキストまたは URL からグラフを抽出して分析します。text または url のいずれかを指定してください。
パラメーター:
text(string, optional):分析するテキストです。これまたはurlのいずれかを指定してください。url(string, optional):コンテンツを取得する URL(例:ウェブページまたは YouTube の文字起こし)です。これまたはtextのいずれかを指定してください。includeStatements(boolean):レスポンスに処理済みの文を含めますincludeGraph(boolean):レスポンスにグラフ構造全体を含めますaddNodesAndEdges(boolean):レスポンスにノードとエッジを含めますincludeGraphSummary(boolean):RAG プロンプトの拡張に使用する、AI が生成したグラフの概要を含めますmodifyAnalyzedText(string):エンティティ検出 — "none"、"detectEntities"、または "extractEntitiesOnly"
generate_content_gaps
テキスト内のコンテンツのギャップや欠けているつながりを特定します。
パラメーター:
text(string, required):ギャップを分析するテキストです
進捗通知
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...");
// 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>)。これらのツールはプロジェクトごとにオプトイン方式です。グラフは有効化を明示的に依頼した後にのみ作成され、書き込みツールはグラフがない場合は処理を拒否し、グラフを作成することはありません。また、すべてのバッチは保存前に表示されます。これらのツールを表示させたくない場合は、サーバーの環境変数(MCPCAT_ANONYMOUS と同じ場所)に INFRANODUS_LEARNINGS=0 を設定してください。プロジェクトの情報収集を停止するには、InfraNodus でそのプロジェクトの learn-<project> グラフを削除してください。
ほとんどのツールでは doNotSave=1 オプションが有効になっているため、作成したグラフはすべて一時的なもので、MCP サーバーに明示的に依頼しない限り InfraNodus アカウントに保存されません。また、処理したデータのログも保持しません。InfraNodus の利用規約に従い、お客様のデータを LLM のトレーニングに使用することもありません。
トラブルシューティング
Claude にサーバーが表示されない
- 設定ファイルのパスが正しいことを確認します
- API キーが有効であることを確認します
- Node.js がシステムの PATH に含まれていることを確認します
- Claude Desktop を完全に再起動します
API キーの問題
- API キーは次の場所で取得できます:https://infranodus.com/api-access
- 設定でキーが正しく設定されていることを確認します
- キーの有効期限が切れていないことを確認します
ビルドエラー
# Clean install
rm -rf node_modules package-lock.json
npm install
npm run build
リソース
ライセンス
MIT
サポート
次の問題について:
- この MCP サーバー:このリポジトリで Issue を作成してください
- InfraNodus API:[email protected] にお問い合わせください
- MCP プロトコル:MCP コミュニティをご覧ください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。