mcpField
M
MCP Server (Go)

MCP Server (Go)

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

MCP Server (Go) について

MCP Server (Go)は、JSON-RPCを介してSQLiteデータベースを照会できるGo製サーバーです。クエリとテーブル一覧のツールを備え、SSE通信とトークン認証に対応します。

主な機能

  1. 01SQLによるSQLiteの照会
  2. 02データベーステーブルの一覧表示
  3. 03JSON-RPC 2.0インターフェース
  4. 04SSE通信
  5. 05トークン認証

活用シーン

  1. 01SQLiteデータベースへのSQLクエリ実行
  2. 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 データベースとの統合
  • 拡張可能な機能を実現するツールベースのアーキテクチャ
  • 認証のサポート

利用可能なツール

  1. クエリツール

    • データベースに対して SQL クエリを実行します
    • 結果を表形式で返します
  2. テーブル一覧ツール

    • データベース内の利用可能なテーブルをすべて一覧表示します

はじめに

前提条件
  • Go 1.x
  • SQLite3
インストール
  1. リポジトリをクローンします:
git clone <repository-url>
cd mcp_server_go
  1. 依存関係をインストールします:
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:指定したツールを実行します
使用例
  1. 接続を初期化します:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {}
}
  1. 利用可能なツールを一覧表示します:
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}
  1. クエリを実行します:
{
  "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

コメント

MCP は初めてですか?

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

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