mcpField
S
SQLite-Anet-MCP Server

SQLite-Anet-MCP Server

ローカル
github.com/marekkucakデータベース082 週間前に更新

SQLite-Anet-MCP Server について

SQLite-Anet-MCP Serverは、AIエージェントにSQLite操作を提供するRust製のMCPサーバーです。クエリやテーブル管理のツールに加え、洞察メモのリソースとデモ用プロンプトを備え、NATSでメッセージを送受信します。

主な機能

  1. 01データベーステーブルの作成と管理
  2. 02SELECTクエリの実行
  3. 03INSERT、UPDATE、DELETEクエリの実行
  4. 04テーブル一覧とスキーマの確認
  5. 05ビジネス上の洞察の保存と参照
  6. 06NATS転送とJSON-RPC 2.0 API

活用シーン

  1. 01AIエージェント経由でSQLiteデータを検索
  2. 02データベースレコードの作成と更新
  3. 03利用可能なテーブルとスキーマの確認
  4. 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 のテストを実行する前に、次の手順が必要です。

  1. Chinook SQLite データベースを次の場所からダウンロードします:https://www.sqlitetutorial.net/sqlite-sample-database/
  2. chinook.db ファイルを ./data/ ディレクトリに配置します
  3. .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 の機能を追加してサーバーを拡張するには、次の手順に従います。

  1. src/models/sqlite.rs でレスポンス構造を定義します
  2. Tool トレイトに従って src/tools/ にツールを実装します
  3. src/main.rs でツールを登録します

トラブルシューティング

  • NATS サーバーが実行中で、アクセス可能であることを確認してください
  • SQLite データベースのパスが正しく設定されていることを確認してください
  • リクエスト形式が各ツールで想定される入力スキーマと一致していることを確認してください

ライセンス

MIT ライセンス


謝辞

このプロジェクトは、Anet MCP Server フレームワークを基盤として構築されており、Model Context Protocol SQLite Server のリファレンス実装に基づいています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。