tossyyukky/mcp-server-sample
If you are the rightful owner of mcp-server-sample and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This project is a basic implementation of a server compliant with the Model Context Protocol (MCP), enabling communication between models and a locally running MCP server.
MCP Server Sample
このプロジェクトは、Model Context Protocol (MCP) に準拠したサーバーの基本実装です。MCPは、モデルとローカルで実行されているMCPサーバー間の通信を可能にするプロトコルです。
機能
- 標準入出力を介したJSONメッセージの処理
- MCPプロトコルに準拠した基本的な型定義
- エラーハンドリング機能
プロジェクト構造
.
├── main.go # メインサーバーの実装
├── go.mod # Goモジュール定義
└── server/
└── types.go # MCPプロトコルの型定義
主要コンポーネント
ServerInfo (main.go)
サーバーの基本情報を管理する構造体です。
type ServerInfo struct {
Name string `json:"name"`
Version string `json:"version"`
}
Server (main.go)
MCPサーバーの基本機能を提供する構造体です。
type Server struct {
info ServerInfo
capabilities map[string]interface{}
}
MCP メッセージ型 (server/types.go)
Request
: クライアントからのリクエストを表現Response
: サーバーからのレスポンスを表現Error
: エラー情報を表現
セットアップ
- リポジトリのクローン:
git clone <repository-url>
cd mcp-server-sample
- 依存関係のインストール:
go mod tidy
- サーバーの実行:
go run main.go
拡張
このサーバーは以下の機能を追加することで拡張できます:
-
ツールの実装
- 特定の機能を提供するツールの追加
- ツールのパラメータとレスポンスの定義
-
リソースの実装
- 静的/動的リソースの追加
- リソーステンプレートの定義
-
メッセージハンドラー
- 特定のメソッドに対するハンドラーの実装
- カスタムエラーハンドリング
生成AI
このドキュメントは生成AIの支援を受けて作成されています。
ライセンス
このプロジェクトはMITライセンスの下で公開されています。