https://github.com/nimblebraininc/mcp-echo
A Model Context Protocol (MCP) service that provides echo tools for testing MCP protocol functionality.
https://github.com/nimblebraininc/mcp-echo
mcp mcpb testing utilities
Last synced: 5 months ago
JSON representation
A Model Context Protocol (MCP) service that provides echo tools for testing MCP protocol functionality.
- Host: GitHub
- URL: https://github.com/nimblebraininc/mcp-echo
- Owner: NimbleBrainInc
- License: mit
- Created: 2025-08-18T01:39:50.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-12-24T21:30:34.000Z (6 months ago)
- Last Synced: 2025-12-24T21:56:18.834Z (6 months ago)
- Topics: mcp, mcpb, testing, utilities
- Language: Python
- Homepage:
- Size: 143 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Echo MCP Server
[](https://mpak.dev/packages/@nimblebraininc/echo?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)
[](https://nimblebrain.ai?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)
[](https://nimblebrain.ai/discord?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)
[](LICENSE)
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that echoes messages, delays, and structured JSON data. Useful for testing MCP client integrations, verifying protocol connectivity, and validating tool call behavior.
**[View on mpak registry](https://mpak.dev/packages/@nimblebraininc/echo?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)** | **Built by [NimbleBrain](https://nimblebrain.ai?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)**
## Install
Install with [mpak](https://mpak.dev?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo):
```bash
mpak install @nimblebraininc/echo
```
### Claude Code
```bash
claude mcp add echo -- mpak run @nimblebraininc/echo
```
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"echo": {
"command": "mpak",
"args": ["run", "@nimblebraininc/echo"]
}
}
}
```
See the [mpak registry page](https://mpak.dev/packages/@nimblebraininc/echo?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo) for full install options.
## Tools
### echo_message
Echo back a message with optional uppercase formatting.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | `string` | Yes | The message to echo back |
| `uppercase` | `boolean` | No | Convert the message to uppercase (default: `false`) |
**Example call:**
```json
{
"name": "echo_message",
"arguments": {
"message": "Hello Echo!",
"uppercase": true
}
}
```
**Example response:**
```json
{
"original_message": "Hello Echo!",
"echoed_message": "HELLO ECHO!",
"uppercase_applied": true,
"message_length": 11,
"timestamp": "2025-01-15T12:00:00+00:00"
}
```
### echo_with_delay
Echo back a message after a simulated delay. Useful for testing timeout handling and async behavior.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | `string` | Yes | The message to echo back |
| `delay_seconds` | `number` | No | Delay in seconds, max 5.0 (default: `1.0`) |
**Example call:**
```json
{
"name": "echo_with_delay",
"arguments": {
"message": "Delayed echo",
"delay_seconds": 2.0
}
}
```
**Example response:**
```json
{
"original_message": "Delayed echo",
"echoed_message": "Delayed echo",
"requested_delay": 2.0,
"actual_delay": 2.001,
"start_time": "2025-01-15T12:00:00+00:00",
"end_time": "2025-01-15T12:00:02+00:00",
"timestamp": "2025-01-15T12:00:02+00:00"
}
```
### echo_json
Echo back structured JSON data with validation and analysis.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | `object` | Yes | JSON object to echo back |
**Example call:**
```json
{
"name": "echo_json",
"arguments": {
"data": {
"name": "test",
"count": 42,
"active": true
}
}
}
```
**Example response:**
```json
{
"original_data": {"name": "test", "count": 42, "active": true},
"echoed_data": {"name": "test", "count": 42, "active": true},
"analysis": {
"key_count": 3,
"keys": ["name", "count", "active"],
"data_types": {"name": "str", "count": "int", "active": "bool"},
"total_size": 42
},
"timestamp": "2025-01-15T12:00:00+00:00"
}
```
## Quick Start
### Local Development
```bash
git clone https://github.com/NimbleBrainInc/mcp-echo.git
cd mcp-echo
# Install dependencies
uv sync
# Run the server (stdio mode)
uv run python -m mcp_echo.server
# Or run via FastMCP
uv run fastmcp run src/mcp_echo/server.py
```
The server supports HTTP transport with:
- Health check: `GET /health`
- MCP endpoint: `POST /mcp`
## Development
```bash
# Install with dev dependencies
uv sync --group dev
# Run tests
uv run pytest tests/
# Run with coverage
uv run pytest tests/ --cov=mcp_echo
# Format
uv run ruff format .
# Lint
uv run ruff check .
```
## About
Echo MCP Server is published on the [mpak registry](https://mpak.dev?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo) and built by [NimbleBrain](https://nimblebrain.ai?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo). mpak is an open registry for [Model Context Protocol](https://modelcontextprotocol.io) servers.
- [mpak registry](https://mpak.dev?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)
- [NimbleBrain](https://nimblebrain.ai?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)
- [MCP specification](https://modelcontextprotocol.io)
- [Discord community](https://nimblebrain.ai/discord?utm_source=github&utm_medium=readme&utm_campaign=mcp-echo)
## License
MIT