mcpField
S
Simple MCP Server

Simple MCP Server

ローカル
github.com/kongo97開発ツール079 週間前に更新

Simple MCP Server について

Simple MCP Serverは、SSE経由でAIクライアントにカスタムツールを公開する軽量サーバーです。天気情報のサンプルツールを備え、Docker Composeでのデプロイに対応し、ホストとポートを設定できます。

主な機能

  1. 01SSE経由でMCPツールを公開
  2. 02Docker Composeでデプロイ
  3. 03ホストとポートの設定
  4. 04天気ツールのサンプルを収録

活用シーン

  1. 01SSE対応のMCPクライアントに接続
  2. 02天気ツールのサンプルを実行
  3. 03コンテナでサーバーをデプロイ

MCP 対応

SSE経由でカスタムツールをMCPクライアントに公開し、`/sse`エンドポイントでイベントストリームとJSON-RPCリクエストを扱います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"simple-mcp-server-kongo97": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
起動コマンドdocker run -i --rm compose

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocicompose

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

シンプルな MCP サーバー

AI クライアントと連携するため、カスタムツールを SSE 経由で公開する軽量な MCP(Model Context Protocol)サーバーの実装です。

目次

概要

このリポジトリは、カスタムツール(例:天気情報の検索)を実装し、Server-Sent Events(SSE)経由で公開するシンプルな MCP サーバーを提供します。Docker コンテナーで実行できるため、すばやくデプロイでき、MCP プロトコルに対応したクライアントとシームレスに連携します。

機能

  • SSE 経由でツールを MCP エンドポイントとして公開
  • Docker Compose を利用して簡単にデプロイできるコンテナー化
  • ポートとホストを設定可能
  • サンプルツールを同梱(例:気象警報と天気予報)

前提条件

  • Docker ≥ 20.10
  • Docker Compose ≥ 1.29

はじめに

リポジトリをクローンし、プロジェクトディレクトリに移動します。

git clone [email protected]:kongo97/simple-mcp-server.git
cd simple-mcp-server
Docker イメージのビルド
docker compose build

これにより、付属の Dockerfile を使用して MCP サーバーのイメージがビルドされます。

コンテナーの起動
docker compose up -d

このコマンドは、以下を実行します。

  • イメージをプル/ビルドする
  • コンテナーをデタッチモードで起動する
  • ホストのポート 8100 をコンテナー内のポート 8100 にマッピングする

コンテナーを停止して削除するには、次を実行します。

docker compose down

使い方

MCP クライアントの接続

MCP 対応クライアント(例:Claude Desktop)が次の SSE エンドポイントに接続するよう設定します。

http://localhost:8100/sse

docs フォルダーには、Claude Desktop に対応したシンプルな設定ファイル(claude_desktop_config.json)があります。

利用可能なエンドポイント
メソッドパス説明
GET/sseMCP 通信用の SSE ストリームを開く
POST/sseSSE 経由で JSON-RPC リクエストを送信する

設定

docker-compose.yml 内で環境変数を設定するか、コンテナー内で直接設定することで、サーバーのポートとホストを変更できます。

services:
  mcp-server:
    environment:
      - MCP_PORT=8100         # default port
      - MCP_HOST=0.0.0.0      # bind address

開発

  1. src/server.py(または任意のファイル)で MCP ツールを編集または追加します。
  2. コンテナーを再ビルドして再起動します。
    docker compose build
    docker compose up -d
    
  3. ログを確認してエラーがないか調べます。
    docker compose logs -f
    

トラブルシューティング

  • /sse で 404 が発生する場合:サーバーが正しいポートとパスにバインドされていることを確認してください。
  • 接続が拒否される場合:Docker が実行中で、コンテナーが正常な状態であることを確認してください。
    docker ps
    docker logs simple-mcp-server
    
  • クライアントエラーが発生する場合:SSE URL とプロトコルバージョンが正しいか、クライアント設定を確認してください。

コメント

MCP は初めてですか?

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

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