MCP Server (Go) について
MCP Server (Go)は、JSON-RPCを介してSQLiteデータベースを照会できるGo製サーバーです。クエリとテーブル一覧のツールを備え、SSE通信とトークン認証に対応します。
主な機能
- 01SQLによるSQLiteの照会
- 02データベーステーブルの一覧表示
- 03JSON-RPC 2.0インターフェース
- 04SSE通信
- 05トークン認証
活用シーン
- 01SQLiteデータベースへのSQLクエリ実行
- 02データベース内のテーブル確認
MCP 対応
JSON-RPCを通じて、MCPクライアントにクエリとテーブル一覧のツールを公開し、SSEで通信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー(Go)
JSON-RPC インターフェースを通じてデータベースのクエリ機能を提供する、Model Context Protocol(MCP)サーバーの Go 実装です。
機能
- JSON-RPC 2.0 プロトコルの実装
- リアルタイム通信のための Server-Sent Events(SSE)
- SQLite データベースとの統合
- 拡張可能な機能を実現するツールベースのアーキテクチャ
- 認証のサポート
利用可能なツール
-
クエリツール
- データベースに対して SQL クエリを実行します
- 結果を表形式で返します
-
テーブル一覧ツール
- データベース内の利用可能なテーブルをすべて一覧表示します
はじめに
前提条件
- Go 1.x
- SQLite3
インストール
- リポジトリをクローンします:
git clone <repository-url>
cd mcp_server_go
- 依存関係をインストールします:
go mod download
設定
サーバーでは、シンプルなトークンベースの認証システムを使用します。期待されるトークンは、サーバー設定に「abcd」としてハードコードされています。
サーバーの実行
go run main.go
サーバーはポート 8777 で起動します。
API ドキュメント
認証
すべてのリクエストには、次の形式の Authorization ヘッダーを含める必要があります:
Authorization: Bearer <token>
エンドポイント
1. ルートエンドポイント(/)
- メソッド:GET
- 目的:Server-Sent Events(SSE)接続を確立します
- レスポンス:メッセージ通信に使用するエンドポイント URL を返します
2. メッセージエンドポイント(/messages/{sessionID})
- メソッド:POST
- 目的:クライアントリクエストを処理します
- サポート対象のメソッド:
initialize:接続を初期化しますtools/list:利用可能なツールを一覧表示しますtools/call:指定したツールを実行します
使用例
- 接続を初期化します:
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {}
}
- 利用可能なツールを一覧表示します:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}
- クエリを実行します:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "query",
"arguments": {
"query": "SELECT * FROM your_table"
}
}
}
プロジェクト構成
mcp_server_go/
├── main.go # Main server implementation
├── pkg/
│ ├── messages/ # Message structures
│ ├── methods/ # Request handling methods
│ └── tools/ # Tool implementations
└── mcp.db # SQLite database file
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。