{"id":34529948,"url":"https://github.com/nimblebraininc/mcp-echo","last_synced_at":"2026-02-11T04:07:06.959Z","repository":{"id":310429228,"uuid":"1039792282","full_name":"NimbleBrainInc/mcp-echo","owner":"NimbleBrainInc","description":"A Model Context Protocol (MCP) service that provides echo tools for testing MCP protocol functionality.","archived":false,"fork":false,"pushed_at":"2025-12-24T21:30:34.000Z","size":146,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-24T21:56:18.834Z","etag":null,"topics":["mcp","mcpb","testing","utilities"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NimbleBrainInc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-18T01:39:50.000Z","updated_at":"2025-12-24T21:42:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"4b1228a6-9820-4c90-b2e5-3dab227254eb","html_url":"https://github.com/NimbleBrainInc/mcp-echo","commit_stats":null,"previous_names":["nimblebraininc/mcp-echo"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/NimbleBrainInc/mcp-echo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NimbleBrainInc%2Fmcp-echo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NimbleBrainInc%2Fmcp-echo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NimbleBrainInc%2Fmcp-echo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NimbleBrainInc%2Fmcp-echo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NimbleBrainInc","download_url":"https://codeload.github.com/NimbleBrainInc/mcp-echo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NimbleBrainInc%2Fmcp-echo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28062336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-26T02:00:06.189Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcp","mcpb","testing","utilities"],"created_at":"2025-12-24T05:28:17.801Z","updated_at":"2026-02-11T04:07:06.948Z","avatar_url":"https://github.com/NimbleBrainInc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Echo MCP Server\n\n[![mpak](https://img.shields.io/badge/mpak-registry-blue)](https://mpak.dev/packages/@nimblebraininc/echo?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)\n[![NimbleBrain](https://img.shields.io/badge/NimbleBrain-nimblebrain.ai-purple)](https://nimblebrain.ai?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)\n[![Discord](https://img.shields.io/badge/Discord-community-5865F2)](https://nimblebrain.ai/discord?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nA [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.\n\n**[View on mpak registry](https://mpak.dev/packages/@nimblebraininc/echo?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)** | **Built by [NimbleBrain](https://nimblebrain.ai?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)**\n\n## Install\n\nInstall with [mpak](https://mpak.dev?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo):\n\n```bash\nmpak install @nimblebraininc/echo\n```\n\n### Claude Code\n\n```bash\nclaude mcp add echo -- mpak run @nimblebraininc/echo\n```\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"echo\": {\n      \"command\": \"mpak\",\n      \"args\": [\"run\", \"@nimblebraininc/echo\"]\n    }\n  }\n}\n```\n\nSee the [mpak registry page](https://mpak.dev/packages/@nimblebraininc/echo?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo) for full install options.\n\n## Tools\n\n### echo_message\n\nEcho back a message with optional uppercase formatting.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `message` | `string` | Yes | The message to echo back |\n| `uppercase` | `boolean` | No | Convert the message to uppercase (default: `false`) |\n\n**Example call:**\n\n```json\n{\n  \"name\": \"echo_message\",\n  \"arguments\": {\n    \"message\": \"Hello Echo!\",\n    \"uppercase\": true\n  }\n}\n```\n\n**Example response:**\n\n```json\n{\n  \"original_message\": \"Hello Echo!\",\n  \"echoed_message\": \"HELLO ECHO!\",\n  \"uppercase_applied\": true,\n  \"message_length\": 11,\n  \"timestamp\": \"2025-01-15T12:00:00+00:00\"\n}\n```\n\n### echo_with_delay\n\nEcho back a message after a simulated delay. Useful for testing timeout handling and async behavior.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `message` | `string` | Yes | The message to echo back |\n| `delay_seconds` | `number` | No | Delay in seconds, max 5.0 (default: `1.0`) |\n\n**Example call:**\n\n```json\n{\n  \"name\": \"echo_with_delay\",\n  \"arguments\": {\n    \"message\": \"Delayed echo\",\n    \"delay_seconds\": 2.0\n  }\n}\n```\n\n**Example response:**\n\n```json\n{\n  \"original_message\": \"Delayed echo\",\n  \"echoed_message\": \"Delayed echo\",\n  \"requested_delay\": 2.0,\n  \"actual_delay\": 2.001,\n  \"start_time\": \"2025-01-15T12:00:00+00:00\",\n  \"end_time\": \"2025-01-15T12:00:02+00:00\",\n  \"timestamp\": \"2025-01-15T12:00:02+00:00\"\n}\n```\n\n### echo_json\n\nEcho back structured JSON data with validation and analysis.\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `data` | `object` | Yes | JSON object to echo back |\n\n**Example call:**\n\n```json\n{\n  \"name\": \"echo_json\",\n  \"arguments\": {\n    \"data\": {\n      \"name\": \"test\",\n      \"count\": 42,\n      \"active\": true\n    }\n  }\n}\n```\n\n**Example response:**\n\n```json\n{\n  \"original_data\": {\"name\": \"test\", \"count\": 42, \"active\": true},\n  \"echoed_data\": {\"name\": \"test\", \"count\": 42, \"active\": true},\n  \"analysis\": {\n    \"key_count\": 3,\n    \"keys\": [\"name\", \"count\", \"active\"],\n    \"data_types\": {\"name\": \"str\", \"count\": \"int\", \"active\": \"bool\"},\n    \"total_size\": 42\n  },\n  \"timestamp\": \"2025-01-15T12:00:00+00:00\"\n}\n```\n\n## Quick Start\n\n### Local Development\n\n```bash\ngit clone https://github.com/NimbleBrainInc/mcp-echo.git\ncd mcp-echo\n\n# Install dependencies\nuv sync\n\n# Run the server (stdio mode)\nuv run python -m mcp_echo.server\n\n# Or run via FastMCP\nuv run fastmcp run src/mcp_echo/server.py\n```\n\nThe server supports HTTP transport with:\n- Health check: `GET /health`\n- MCP endpoint: `POST /mcp`\n\n## Development\n\n```bash\n# Install with dev dependencies\nuv sync --group dev\n\n# Run tests\nuv run pytest tests/\n\n# Run with coverage\nuv run pytest tests/ --cov=mcp_echo\n\n# Format\nuv run ruff format .\n\n# Lint\nuv run ruff check .\n```\n\n## About\n\nEcho MCP Server is published on the [mpak registry](https://mpak.dev?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo) and built by [NimbleBrain](https://nimblebrain.ai?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo). mpak is an open registry for [Model Context Protocol](https://modelcontextprotocol.io) servers.\n\n- [mpak registry](https://mpak.dev?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)\n- [NimbleBrain](https://nimblebrain.ai?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)\n- [MCP specification](https://modelcontextprotocol.io)\n- [Discord community](https://nimblebrain.ai/discord?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=mcp-echo)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimblebraininc%2Fmcp-echo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnimblebraininc%2Fmcp-echo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimblebraininc%2Fmcp-echo/lists"}