Metis MCP Tools について
Metis MCP Toolsは、Metis RAGアプリケーション向けのMCPツール群です。データベース、ベクトルストア、ドキュメント処理、LLM操作を必要とするアプリケーションを対象とし、文書の準備からモデルとの連携までを扱います。
主な機能
- 01PostgreSQLの接続とクエリ実行
- 02ベクトルコレクションと文書の管理
- 03一般的な文書形式の読み込みと分析
- 04LLMによるテキスト生成と埋め込み
活用シーン
- 01PostgreSQLのテーブル確認とSQL実行
- 02ベクトルコレクションから類似文書を検索
- 03PDF、DOCX、TXT、MDファイルの分割
- 04LLMによるテキストや埋め込みの生成
MCP 対応
データベース、ベクトルストア、ドキュメント処理、LLM連携のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Metis MCP ツール
このリポジトリには、Metis RAG アプリケーションを強化するために設計された Model Context Protocol(MCP)ツールが含まれています。これらのツールは、データベース管理、ベクトルストア操作、ドキュメント処理、LLM との対話機能を提供します。
MCP とは?
Model Context Protocol(MCP)は、言語モデルが外部のツールやリソースとやり取りするための標準化された方法です。モデルは、トレーニングデータの範囲を超えて、データへのアクセス、アクションの実行、専門的な機能の活用ができます。
ツールの概要
このリポジトリには、以下の MCP ツールが含まれています。
1. データベース管理ツール
データベース管理ツールは、Metis アプリケーションで PostgreSQL データベースを操作する機能を提供します。
機能:
- データベース接続を初期化する
- SQL クエリを実行する
- テーブルのスキーマを取得する
- データベースのテーブルを一覧表示する
使用例:
// Initialize a database connection
const dbResult = await useMcpTool({
serverName: 'database-tool',
toolName: 'init_database_connection',
arguments: {
host: 'localhost',
port: 5432,
database: 'metis_db',
user: 'metis_user',
password: 'password123'
}
});
// Execute a query
const queryResult = await useMcpTool({
serverName: 'database-tool',
toolName: 'execute_query',
arguments: {
query: 'SELECT * FROM documents LIMIT 10'
}
});
2. ベクトルストアツール
ベクトルストアツールは、Metis アプリケーションで Chroma などのベクトルデータベースを操作する機能を提供します。
機能:
- ベクトルストア接続を初期化する
- コレクションを作成、管理する
- コレクションにドキュメントを追加する
- 類似するドキュメントをコレクションから検索する
- コレクションからドキュメントを削除する
使用例:
// Initialize a vector store connection
const vsResult = await useMcpTool({
serverName: 'vector-store-tool',
toolName: 'init_vector_store',
arguments: {
host: 'localhost',
port: 8000
}
});
// Create a collection
const collectionResult = await useMcpTool({
serverName: 'vector-store-tool',
toolName: 'get_or_create_collection',
arguments: {
name: 'metis_documents'
}
});
// Query the collection
const queryResult = await useMcpTool({
serverName: 'vector-store-tool',
toolName: 'query_collection',
arguments: {
queryTexts: ['How does quantum computing work?'],
nResults: 5
}
});
3. ドキュメント処理ツール
ドキュメント処理ツールは、Metis アプリケーションでドキュメントの読み込み、処理、チャンク分割を行う機能を提供します。
機能:
- さまざまなファイル形式(PDF、DOCX、TXT、MD)からドキュメントを読み込む
- 処理のためにドキュメントをチャンクに分割する
- ドキュメントからコードブロックを抽出する
- ドキュメントの構造を分析する
使用例:
// Load a document
const docResult = await useMcpTool({
serverName: 'document-processing-tool',
toolName: 'load_document',
arguments: {
filePath: '/path/to/document.pdf'
}
});
// Chunk the document
const chunkResult = await useMcpTool({
serverName: 'document-processing-tool',
toolName: 'chunk_document',
arguments: {
text: docResult.document.pageContent,
chunkSize: 1000,
chunkOverlap: 200,
metadata: docResult.document.metadata
}
});
4. LLM 対話ツール
LLM 対話ツールは、Metis アプリケーションで言語モデルとやり取りする機能を提供します。
機能:
- さまざまなプロバイダー(OpenAI、Anthropic)の LLM モデルを初期化する
- LLM でテキストを生成する
- 構造化された生成にプロンプトテンプレートを使用する
- テキストの埋め込みを生成する
使用例:
// Initialize an LLM model
const llmResult = await useMcpTool({
serverName: 'llm-interaction-tool',
toolName: 'init_llm_model',
arguments: {
modelId: 'gpt4',
provider: 'openai',
modelName: 'gpt-4',
apiKey: 'your-api-key',
temperature: 0.7
}
});
// Generate text with a prompt template
const genResult = await useMcpTool({
serverName: 'llm-interaction-tool',
toolName: 'use_prompt_template',
arguments: {
modelId: 'gpt4',
template: 'Summarize the following text: {text}',
variables: {
text: 'Long document content here...'
}
}
});
インストールとセットアップ
Metis アプリケーションでこれらの MCP ツールを使用するには、以下の手順に従います。
-
このリポジトリをクローンします。
git clone https://github.com/dagron78/metis-mcp-demo.git -
依存関係をインストールします。
cd metis-mcp-demo npm install -
使用する MCP サーバーを起動します。
node tools/database-tool.js node tools/vector-store-tool.js node tools/document-processing-tool.js node tools/llm-interaction-tool.js -
MCP クライアントを使用して、アプリケーションから MCP サーバーに接続します。
コントリビューション
コントリビューションを歓迎します。プルリクエストを送信するか、イシューを作成して、これらのツールの改善や新しいツールの追加にご協力ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。