MCP SSE Sample
by iuill
This is a sample MCP server using SSE (Server-Sent Events). It demonstrates an SSE implementation of the MCP protocol.
View on GitHub
Last updated: N/A
MCP SSE Sample
SSEを使用したMCPサーバーのサンプルです。 MCPプロトコルのSSE実装を示すサンプルプロジェクトです。
オリジナルは以下コードです。
- https://github.com/modelcontextprotocol/servers/tree/main/src/everything
Components
Tools
-
echo
- Simple tool to echo back input messages
- Input:
message
(string): Message to echo back
- Returns: Text content with echoed message
-
add
- Adds two numbers together
- Inputs:
a
(number): First numberb
(number): Second number
- Returns: Text result of the addition
-
longRunningOperation
- Demonstrates progress notifications for long operations
- Inputs:
duration
(number, default: 10): Duration in secondssteps
(number, default: 5): Number of progress steps
- Returns: Completion message with duration and steps
- Sends progress notifications during execution
-
sampleLLM
- Demonstrates LLM sampling capability using MCP sampling feature
- Inputs:
prompt
(string): The prompt to send to the LLMmaxTokens
(number, default: 100): Maximum tokens to generate
- Returns: Generated LLM response
-
getTinyImage
- Returns a small test image
- No inputs required
- Returns: Base64 encoded PNG image data
-
printEnv
- Prints all environment variables
- Useful for debugging MCP server configuration
- No inputs required
- Returns: JSON string of all environment variables
-
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 patternsincludeImage
(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"
]
}
}
}