mcpField
M
MCP SSE Sample

MCP SSE Sample

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

MCP SSE Sample について

SSEによる実装を示すMCPサーバーのサンプルです。MCPのツール、進捗通知、サンプリング、アノテーション、ログを学ぶ開発者向けです。

主な機能

  1. 01エコーと加算のツール
  2. 02長時間処理の進捗通知
  3. 03MCPサンプリングの例
  4. 04テスト画像と環境変数の出力
  5. 05アノテーション付きメッセージと定期ログ

活用シーン

  1. 01MCP SSEサーバーの実装例を参照
  2. 02ツール呼び出しと進捗更新をテスト
  3. 03サンプリングとアノテーションの動作確認

MCP 対応

SSEに焦点を当てたMCPサーバーのサンプルで、エコー、加算、進捗通知、サンプリング、画像、環境変数出力、アノテーションのツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mcp_sse_sample": {
"command": "npx",
"args": [
"-y",
"mcp_sse_sample"
]
}
}
}
起動コマンドnpx -y mcp_sse_sample

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

パッケージ
npmmcp_sse_sample

ツール

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

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

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

MCP SSE Sample

SSEを使用したMCPサーバーのサンプルです。 MCPプロトコルのSSE実装を示すサンプルプロジェクトです。

オリジナルは以下コードです。

Components

Tools
  1. echo

    • Simple tool to echo back input messages
    • Input:
      • message (string): Message to echo back
    • Returns: Text content with echoed message
  2. add

    • Adds two numbers together
    • Inputs:
      • a (number): First number
      • b (number): Second number
    • Returns: Text result of the addition
  3. longRunningOperation

    • Demonstrates progress notifications for long operations
    • Inputs:
      • duration (number, default: 10): Duration in seconds
      • steps (number, default: 5): Number of progress steps
    • Returns: Completion message with duration and steps
    • Sends progress notifications during execution
  4. sampleLLM

    • Demonstrates LLM sampling capability using MCP sampling feature
    • Inputs:
      • prompt (string): The prompt to send to the LLM
      • maxTokens (number, default: 100): Maximum tokens to generate
    • Returns: Generated LLM response
  5. getTinyImage

    • Returns a small test image
    • No inputs required
    • Returns: Base64 encoded PNG image data
  6. printEnv

    • Prints all environment variables
    • Useful for debugging MCP server configuration
    • No inputs required
    • Returns: JSON string of all environment variables
  7. annotatedMessage

    • Demonstrates how annotations can be used to provide metadata about content
    • Inputs:
      • messageType (enum: "error" | "success" | "debug"): Type of message to demonstrate different annotation patterns
      • includeImage (boolean, default: false): Whether to include an example image
    • Returns: Content with varying annotations:
      • Error messages: High priority (1.0), visible to both user and assistant
      • Success messages: Medium priority (0.7), user-focused
      • Debug messages: Low priority (0.3), assistant-focused
      • Optional image: Medium priority (0.5), user-focused
    • Example annotations:
      {
        "priority": 1.0,
        "audience": ["user", "assistant"]
      }
      
Logging

The server sends random-leveled log messages every 15 seconds, e.g.:

{
  "method": "notifications/message",
  "params": {
	"level": "info",
	"data": "Info-level message"
  }
}

使用方法

ローカルでの実行
# インストール
npm install

# ビルド
npm run build

# 実行(STDIOモード)
npm run start

# 実行(SSEモード)
npm run start:sse
Claude Desktopでの使用

claude_desktop_config.jsonに以下を追加してください:

{
  "mcpServers": {
    "sse-sample": {
      "command": "npx",
      "args": [
        "-y",
        "mcp_sse_sample"
      ]
    }
  }
}

コメント

MCP は初めてですか?

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

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