mcp-server-sample

tossyyukky/mcp-server-sample

3.1

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: エラー情報を表現

セットアップ

  1. リポジトリのクローン:
git clone <repository-url>
cd mcp-server-sample
  1. 依存関係のインストール:
go mod tidy
  1. サーバーの実行:
go run main.go

拡張

このサーバーは以下の機能を追加することで拡張できます:

  1. ツールの実装

    • 特定の機能を提供するツールの追加
    • ツールのパラメータとレスポンスの定義
  2. リソースの実装

    • 静的/動的リソースの追加
    • リソーステンプレートの定義
  3. メッセージハンドラー

    • 特定のメソッドに対するハンドラーの実装
    • カスタムエラーハンドリング

生成AI

このドキュメントは生成AIの支援を受けて作成されています。

ライセンス

このプロジェクトはMITライセンスの下で公開されています。