About MCP SSE Sample
A sample MCP server demonstrating an SSE implementation. It is intended for developers exploring MCP tools, progress notifications, sampling, annotations, and logging.
Key features
- 01Echo and addition tools
- 02Progress notifications for long operations
- 03MCP sampling demonstration
- 04Test image and environment output
- 05Annotated messages and periodic logs
Use cases
- 01Explore an MCP SSE server example
- 02Test tool calls and progress updates
- 03Inspect sampling and annotation behavior
MCP support
This project is an MCP server sample focused on SSE. It exposes example tools for echoing, addition, progress notifications, sampling, images, environment output, and annotations.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP SSE Sample
SSEを使用したMCPサーバーのサンプルです。 MCPプロトコルのSSE実装を示すサンプルプロジェクトです。
オリジナルは以下コードです。
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"
]
}
}
}
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.