SQLite-Anet-MCP Server について
SQLite-Anet-MCP Serverは、AIエージェントにSQLite操作を提供するRust製のMCPサーバーです。クエリやテーブル管理のツールに加え、洞察メモのリソースとデモ用プロンプトを備え、NATSでメッセージを送受信します。
主な機能
- 01データベーステーブルの作成と管理
- 02SELECTクエリの実行
- 03INSERT、UPDATE、DELETEクエリの実行
- 04テーブル一覧とスキーマの確認
- 05ビジネス上の洞察の保存と参照
- 06NATS転送とJSON-RPC 2.0 API
活用シーン
- 01AIエージェント経由でSQLiteデータを検索
- 02データベースレコードの作成と更新
- 03利用可能なテーブルとスキーマの確認
- 04データ分析で得た洞察の記録
MCP 対応
SQLite操作をMCPツールとして公開し、ビジネス洞察メモをリソースとして、MCPデモ用プロンプトも提供します。リクエストにはJSON-RPC 2.0互換APIとNATS転送を使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SQLite-Anet-MCP サーバー
標準化されたプロトコルを通じて SQLite データベース機能を提供する、Model Control Protocol (MCP) サーバーの Rust 実装です。このサーバーを使用すると、AI エージェントが SQLite データベースを直接作成、管理、クエリできます。
このプロジェクトは、Model Context Protocol SQLite Server のリファレンス実装を基にしています。
機能
- 🗃️ SQLite データベースのテーブルを作成・管理
- 🔍 データ取得のための SELECT クエリを実行
- ✏️ データ操作のための INSERT、UPDATE、DELETE クエリを実行
- 📊 テーブルのスキーマを表示し、利用可能なテーブルを一覧表示
- 📝 データからビジネスインサイトを保存・統合
- 🔄 メッセージパッシングのための NATS トランスポート層
- 🛠️ JSON-RPC 2.0 互換 API
- ⚡ Tokio による非同期リクエスト処理
必要条件
- Rust 1.70+
- NATS サーバーがローカルで実行されているか、ネットワーク経由でアクセスできること
- SQLite(Rust の依存関係として含まれています)
インストール
リポジトリをクローンして、サーバーをビルドします。
git clone https://github.com/yourusername/sqlite-anet-mcp.git
cd sqlite-anet-mcp
.env ファイルで環境を設定します。
NATS_URL=nats://localhost:4222
MCP_SUBJECT=mcp.requests
SQLITE_DB_PATH=./data/sqlite.db
RUST_LOG=debug
はじめに
サーバーの実行
# Start a NATS server in another terminal or ensure one is already running
# Example:
nats-server
# Run the SQLite MCP server
cargo run
サーバーのテスト
付属のテストクライアントを使用して、サーバーをテストできます。
cargo run --example test_client
これにより、基本的な顧客データベースが設定され、サーバーの機能を確認できます。
Chinook データベースのテスト
Chinook データベースのテスト例を実行するには、次のようにします。
cargo run --example chinook_test
注記: Chinook のテストを実行する前に、次の手順が必要です。
- Chinook SQLite データベースを次の場所からダウンロードします:https://www.sqlitetutorial.net/sqlite-sample-database/
chinook.dbファイルを./data/ディレクトリに配置します.envファイルまたは例の実行時にSQLITE_DB_PATH=./data/chinook.dbを設定します
利用可能なツール
1. list_tables
SQLite データベース内のすべてのテーブルを一覧表示します。
例:
{
"name": "list_tables",
"arguments": {}
}
2. describe_table
特定のテーブルのスキーマ情報を取得します。
パラメーター:
table_name(必須):スキーマ情報を取得するテーブル名
例:
{
"name": "describe_table",
"arguments": {
"table_name": "customers"
}
}
3. create_table
SQLite データベースに新しいテーブルを作成します。
パラメーター:
query(必須):CREATE TABLE SQL 文
例:
{
"name": "create_table",
"arguments": {
"query": "CREATE TABLE customers (id INTEGER PRIMARY KEY, name TEXT, email TEXT, join_date TEXT)"
}
}
4. read_query
SQLite データベースで SELECT クエリを実行します。
パラメーター:
query(必須):実行する SELECT SQL クエリ
例:
{
"name": "read_query",
"arguments": {
"query": "SELECT * FROM customers WHERE join_date > '2023-01-01'"
}
}
5. write_query
SQLite データベースで INSERT、UPDATE、または DELETE クエリを実行します。
パラメーター:
query(必須):実行する SQL クエリ(INSERT、UPDATE、または DELETE である必要があります)
例:
{
"name": "write_query",
"arguments": {
"query": "INSERT INTO customers (name, email, join_date) VALUES ('John Doe', '[email protected]', '2023-01-15')"
}
}
6. append_insight
メモにビジネスインサイトを追加します。
パラメーター:
insight(必須):データ分析から得られたビジネスインサイト
例:
{
"name": "append_insight",
"arguments": {
"insight": "Customer acquisition is stable and growing over time."
}
}
利用可能なリソース
ビジネスインサイトメモ
発見したビジネスインサイトを蓄積するドキュメントです。
URI: memo://insights
例:
{
"method": "readResource",
"params": {
"uri": "memo://insights"
}
}
利用可能なプロンプト
MCP デモ
データベースに初期データを登録し、SQLite MCP サーバー + Claude でできることを紹介するプロンプトです。
引数:
topic(必須):データベースに初期データを登録するトピック
例:
{
"method": "getPrompt",
"params": {
"name": "mcp-demo",
"arguments": {
"topic": "coffee shop sales"
}
}
}
アーキテクチャ
サーバーはモジュール式の設計を採用しています。
- tools – SQLite データベース操作の実装
- models – SQLite クエリとレスポンスの構造
- prompts – 対話型デモのテンプレート
- resources – ビジネスインサイトメモの生成
- sqlite – データベースのコア機能
開発
新機能の追加
SQLite の機能を追加してサーバーを拡張するには、次の手順に従います。
src/models/sqlite.rsでレスポンス構造を定義します- Tool トレイトに従って
src/tools/にツールを実装します src/main.rsでツールを登録します
トラブルシューティング
- NATS サーバーが実行中で、アクセス可能であることを確認してください
- SQLite データベースのパスが正しく設定されていることを確認してください
- リクエスト形式が各ツールで想定される入力スキーマと一致していることを確認してください
ライセンス
MIT ライセンス
謝辞
このプロジェクトは、Anet MCP Server フレームワークを基盤として構築されており、Model Context Protocol SQLite Server のリファレンス実装に基づいています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。