mcpField
E
echo-mcp-server-for-testing

echo-mcp-server-for-testing

Local
github.com/piebroDeveloper Tools3Updated 80w ago

About echo-mcp-server-for-testing

A lightweight MCP server for testing clients and serving as a starting point for new MCP servers. Its single echo tool returns input for straightforward client checks.

Key features

  1. 01Echo tool for client tests
  2. 02Template for new MCP servers

Use cases

  1. 01Check an MCP client's tool calls
  2. 02Start a simple MCP server project

MCP support

Exposes an `echo_tool` to MCP clients for testing.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"echo-mcp-server-for-testing": {
"command": "uvx",
"args": [
"echo-mcp-server-for-testing"
],
"env": {
"SECRET_KEY": "<SECRET_KEY>"
}
}
}
}
Run commanduvx echo-mcp-server-for-testing
Environment variables to set
SECRET_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiecho-mcp-server-for-testing

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

echo-mcp-server-for-testing

A simple echo MCP (Model Context Protocol) Server with a simple echo_tool for testing MCP Clients. It is also great as a template for new MCP Servers.

Usage

Install uv and add the server to an MCP config using uvx:

{
    "name": "echo-mcp-server-for-testing",
    "command": "uvx",
    "args": [
        "echo-mcp-server-for-testing"
    ],
    "env": {
        "SECRET_KEY": "123456789"
    }
}

or clone the repo and use uv with a directory:

{
    "name": "echo-mcp-server-for-testing",
    "command": "uv",
    "args": [
        "--directory",
        "path/to/root/dir/",
        "run",
        "main.py"
    ],
    "env": {
        "SECRET_KEY": "123456789"
    }
}

Development

Testing

Clone the repo and use mcp-client-for-testing to test the tools of the server.

uvx mcp-client-for-testing \
    --config '
    [
        {
            "name": "echo-mcp-server-for-testing",
            "command": "uv",
            "args": [
                "--directory", 
                "path/to/root/dir/", 
                "run", 
                "main.py"
            ],
            "env": {
                "SECRET_KEY": "123456789"
            }
        }
    ]
    ' \
    --tool_call '{"name": "echo_tool", "arguments": {"message": "Hello, world!"}}'
Formatting and Linting

The code is formatted and linted with ruff:

uv run ruff format
uv run ruff check --fix
Building with uv

Build the package using uv:

uv build
Releasing a New Version

To release a new version of the package to PyPI, create and push a new Git tag:

  1. Checkout the main branch and get the current version:

    git checkout main
    git pull origin main
    git describe --tags
    
  2. Create and push a new Git tag:

    git tag v0.2.0
    git push origin v0.2.0
    

The GitHub Actions workflow will automatically build and publish the package to PyPI when a new tag is pushed. The python package version number will be derived directly from the Git tag.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Comments

Markdown supported

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.