echo-mcp-server
A local Model Context Protocol server in one file with no dependencies. It exposes one tool,
echo, which returns the text it receives. Use it to check that an MCP client is configured
correctly before connecting real servers.
This listing is not a hosted service. The server runs on your machine, started by your MCP client.
It makes no network requests and does not touch the filesystem.
Requirements
Node.js 18 or later.
Set up
Download and extract the release, then point your client at server.mjs:
skills download @spboucher/echo-mcp-server --extract ./echo-mcp-server
Claude Code:
claude mcp add --transport stdio echo-mcp-server -- node /absolute/path/to/echo-mcp-server/server.mjs
Codex (~/.codex/config.toml):
[mcp_servers.echo-mcp-server]
command = "node"
args = ["/absolute/path/to/echo-mcp-server/server.mjs"]
Cursor (.cursor/mcp.json):
{ "mcpServers": { "echo-mcp-server": { "type": "stdio", "command": "node", "args": ["/absolute/path/to/echo-mcp-server/server.mjs"] } } }
Tool
| Name | Input | Output |
|---|
echo | { "text": string } | One text content block containing the same string |
Protocol
- Transport: stdio, newline-delimited JSON-RPC 2.0.
- Methods:
initialize, ping, tools/list, tools/call. Notifications are accepted and ignored.
- Protocol revisions answered in
initialize: 2025-06-18, 2025-03-26, 2024-11-05. A client
that requests another revision is offered 2025-06-18.
- Not implemented: resources, prompts, sampling, batching, and the handshake-free request mode of
later revisions.
Try it by hand
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"manual","version":"0"}}}' '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"echo","arguments":{"text":"hello"}}}' | node server.mjs