Echo MCP Server

by piebro
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports version control and release management through Git tags that follow semantic versioning

  • Provides integration with GitHub for releasing new versions of the package by pushing Git tags, which trigger automated workflows

  • Enables automated build and publishing workflows that are triggered when a new Git tag is pushed to release new versions of the package

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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

A simple server implementing the Model Context Protocol (MCP) that echoes messages back, designed for testing MCP clients.

  1. Usage
    1. Development
      1. Testing
      2. Formatting and Linting
      3. Building with uv
      4. Releasing a New Version
    2. License
      ID: xsdu3gwew0