🚀 InfraNodus MCP Server
InfraNodus MCP Serverは、InfraNodusの知識グラフとテキストネットワーク分析機能をLLMワークフローやClaude DesktopなどのAIアシスタントに統合する、Model Context Protocol (MCP) サーバーです。これにより、高度なネットワーク科学アルゴリズムを用いてテキスト分析、知識グラフ生成、内容のギャップ検出、重要なトピックと概念の特定が可能になります。
🚀 クイックスタート
InfraNodus MCP Serverを使用することで、LLMワークフローやAIアシスタントは高度なネットワーク科学アルゴリズムを用いてテキスト分析、知識グラフ生成、内容のギャップ検出、重要なトピックと概念の特定ができます。

✨ 主な機能
このサーバーを使ってできること
- 既存のInfraNodus知識グラフをLLMワークフローやAIチャットに接続する
- 重要なニュアンスを見逃すことなく、談話内の主要なトピッククラスターを特定する(標準のLLMワークフローよりも優れています)
- 任意の談話内の内容のギャップを特定する(コンテンツ作成や研究に役立ちます)
- 任意のテキストから新しい知識グラフを生成し、LLMの応答を強化するために使用する
- 知識グラフを使用して、エンティティと関係をメモリに保存し、取得する
利用可能なツール
- generate_knowledge_graph
- 任意のテキストを視覚的な知識グラフに変換する
- トピック、概念、およびそれらの関係を抽出する
- 構造パターンとクラスターを特定する
- AIによるトピック命名を適用する
- クリーンなグラフを作成するためのエンティティ検出を実行する
- 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
- 2つ以上のテキストから知識グラフを作成し、それらの間の重複(類似点)を見つける
- 異なるテキスト間の類似トピックとキーワードを見つけるために使用する
- difference_between_texts
- 2つ以上のテキストの知識グラフを比較し、最初のグラフにはなく他のグラフに存在するものを見つける
- 1つのテキストを他のテキストで充実させる方法を見つけるために使用する
- 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グラフを検索する
- 特定のユーザーの公開グラフも検索するために使用する
- Developer Mode > Connectorsを介してChatGPT Deep Researchモードと互換性がある
- fetch
- グラフの特定の検索結果を取得する
- Developer Mode > Connectorsを介してChatGPT Deep Researchモードで使用できる
主要な機能
- トピックモデリング:概念の自動クラスタリングと分類
- 内容ギャップ検出:概念クラスター間の欠けているリンクを見つける
- エンティティ認識:名前、場所、および組織のクリーンな抽出
- AI強化:オプションのAIによるトピック命名と分析
- 構造分析:影響力のあるノードとコミュニティ構造を特定する
- ネットワーク構造統計:モジュラリティ、中心性、媒介中心性などのグラフメトリック
- 知識グラフメモリ:知識グラフのメモリを保存し、取得し、分析して、主要なノード、クラスター、およびコネクターを取得する
知識グラフメモリの使用アドバイス
InfraNodusは、任意のテキストをネットワークグラフとして表現することで、主要なアイデアのクラスターとそれらの間のギャップを特定します。これにより、テキストの構造に基づいた高度な洞察を生成することができます。このネットワークは実質的に知識グラフであり、異なるエンティティと概念間の複雑なオントロジー関係を取得するためにも使用できます。このプロセスは、search と fetch ツール、および基礎となるネットワークを分析する他のツールを使用して、InfraNodusで自動化されています。
ただし、InfraNodusをより伝統的なメモリサーバーとして使用して、関係を保存したり取得したりすることも簡単にできます。私たちは [[wikilinks]] を使用して、テキスト内のエンティティを強調表示し、コンテンツとグラフをマークアップ構文やObsidianなどのPKMツールと互換性を持たせています。デフォルトでは、InfraNodusは会話のコンテキストに基づいてメモリグラフの名前を自動生成します。ただし、LLMクライアントに システムプロンプト または プロジェクト指示 を追加することで、このデフォルトの動作を変更することができます。
具体的には、すべてのメモリを1つの場所に保存するために、特定の知識グラフを常に使用するように指定することができます。
Save all memories in the `my-memories` graph in InfraNodus.
または、特定のエンティティのみを保存するようにInfraNodusに要求することもできます。例えば、ソーシャルネットワークを構築する場合:
When generating entities, only extract people, companies, and organizations. Ignore everything else.
📦 インストール
方法1:Smitheryを使用した簡単なセットアップ (HTTP/SSE経由)
- 前提条件
- SmitheryからInfraNodusサーバーのURLを取得する
- InfraNodusを使用したいクライアントツールに追加する
- 上記のURLをツールに追加すると、自動的にSmitheryを使用した認証を求められます(Oauth経由)。これにより、そこにホストされているInfraNodus MCPにアクセスできるようになります。
- クライアントがOauthをサポートしていない場合は、「Get the URL with keys instead」リンクをクリックすると、Oauthなしで認証できるURLを取得できます。
- 最後に、キー付きの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回の呼び出しまでは、InfraNodus 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を使用する指示を追加します。
方法2:NPXを使用した手動セットアップ
npx(コンピューター上でローカルおよびリモートのNode.Jsパッケージを実行できるパッケージ)を介して、InfraNodusサーバーを手動でデプロイすることができます。
InfraNodus MCPサーバーは、https://www.npmjs.com/package/infranodus-mcp-serverでnpmパッケージとしても利用可能です。ここからnpxを使用してローカルコンピューター上でリモートで起動することができます。これにより、このコマンドを使用してサーバーを起動するMCPクライアントにそのツールが公開されます。
Claude Desktopの場合:
Claudeの構成ファイル(Settings > Developer > Edit Config)の "mcpServers" オブジェクト内に、異なるサーバーがリストされている場所に次のように追加します。
"infranodus": {
"command": "npx",
"args": ["-y", "infranodus-mcp-server"],
"env": {
"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"
}
},
方法3:ローカルサーバーとして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ファイルのみをビルドします。
-
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"
- "Generate a knowledge graph from this document"
- "Find content gaps in this article"
- "Retrieve my existing graph called 'Research Notes' from InfraNodus"
- "What are the structural gaps in this text?"
- "Identify the most influential concepts in this content"
📚 ドキュメント
開発モードでの実行
npm run dev
MCPインスペクターの使用
MCPインスペクターでサーバーをテストします。
npm run build:inspect
npm run inspect
ソースからのビルド
npm run build
変更の監視
npm run watch
🔧 技術詳細
generate_knowledge_graph
テキストを分析し、知識グラフを生成します。
パラメーター:
text (文字列、必須): 分析するテキスト
includeStatements (ブール値): 応答に元のステートメントを含めるかどうか
modifyAnalyzedText (文字列): テキスト変更オプション ("none", "entities", "lemmatize")
analyze_existing_graph_by_name
InfraNodusアカウントから既存のグラフを取得し、分析します。
パラメーター:
graphName (文字列、必須): 既存のグラフの名前
includeStatements (ブール値): 応答にステートメントを含めるかどうか
includeGraphSummary (ブール値): グラフの概要を含めるかどうか
generate_content_gaps
テキスト内の内容のギャップと欠けている接続を特定します。
パラメーター:
text (文字列、必須): ギャップを分析するテキスト
進捗通知
長時間実行される操作(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つの主要な進捗チェックポイントを持つこのパターンを示しています。
トラブルシューティング
Claudeにサーバーが表示されない場合
- 構成ファイルのパスが正しいことを確認する
- APIキーが有効であることを確認する
- Node.jsがシステムのPATHに含まれていることを確認する
- Claude Desktopを完全に再起動する
APIキーの問題
ビルドエラー
rm -rf node_modules package-lock.json
npm install
npm run build
リソース
📄 ライセンス
MIT
サポート
以下に関連する問題の場合:
- このMCPサーバー: このリポジトリに問題を報告してください
- InfraNodus API: support@infranodus.comに問い合わせてください
- MCP Protocol: MCP communityを訪問してください