Skip to content

NimbleBrainInc/mcp-echo

Repository files navigation

Echo MCP Server

mpak NimbleBrain Discord License: MIT

A Model Context Protocol (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 | Built by NimbleBrain

Install

Install with mpak:

mpak install @nimblebraininc/echo

Claude Code

claude mcp add echo -- mpak run @nimblebraininc/echo

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "echo": {
      "command": "mpak",
      "args": ["run", "@nimblebraininc/echo"]
    }
  }
}

See the mpak registry page 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:

{
  "name": "echo_message",
  "arguments": {
    "message": "Hello Echo!",
    "uppercase": true
  }
}

Example response:

{
  "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:

{
  "name": "echo_with_delay",
  "arguments": {
    "message": "Delayed echo",
    "delay_seconds": 2.0
  }
}

Example response:

{
  "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:

{
  "name": "echo_json",
  "arguments": {
    "data": {
      "name": "test",
      "count": 42,
      "active": true
    }
  }
}

Example response:

{
  "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

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

# Install with dev dependencies
uv sync --group dev

# Run unit tests
make test

# Run with coverage
make test-cov

# Run all checks (format, lint, typecheck, unit tests)
make check

# Format
uv run ruff format .

# Lint
uv run ruff check .

E2E Tests

End-to-end tests validate the full MCPB bundle lifecycle: building the bundle, deploying it into a Docker container, and calling tools over HTTP.

Prerequisites: Docker running, mcpb CLI installed (npm install -g @anthropic-ai/mcpb)

make test-e2e

The tests:

  1. Vendor dependencies for the Docker container's Linux architecture
  2. Build a .mcpb bundle with mcpb pack
  3. Serve the bundle over HTTP
  4. Start a nimbletools/mcpb-python container that downloads and runs the bundle
  5. Verify the /health endpoint, MCP tool listing, and tool invocation via streamable HTTP

About

Echo MCP Server is published on the mpak registry and built by NimbleBrain. mpak is an open registry for Model Context Protocol servers.

License

MIT

About

A Model Context Protocol (MCP) service that provides echo tools for testing MCP protocol functionality.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors