Skip to main content

A simple echo MCP (Model Context Protocol) Server for testing MCP Clients

Project description

echo-mcp-server-for-testing

A simple echo MCP (Model Context Protocol) Server with a simple echo_tool for testing MCP Clients.

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", 
        "server.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", 
                "server.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:

  1. Create and push a new Git tag following semantic versioning:
    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 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

echo_mcp_server_for_testing-0.1.3.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

echo_mcp_server_for_testing-0.1.3-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file echo_mcp_server_for_testing-0.1.3.tar.gz.

File metadata

File hashes

Hashes for echo_mcp_server_for_testing-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ac79f139dbcc5f269be4db6810d60fc8f7da9ba621007047b781794982540d95
MD5 c0330785d310b4dec2746f85e48c9247
BLAKE2b-256 b96e1b086734bce79263b701e8c42022822bedad3b0f1c7e6efe8376b636c324

See more details on using hashes here.

Provenance

The following attestation bundles were made for echo_mcp_server_for_testing-0.1.3.tar.gz:

Publisher: publish.yml on piebro/echo-mcp-server-for-testing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file echo_mcp_server_for_testing-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for echo_mcp_server_for_testing-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 66b272c64cff405258764b3c2c138190d3e15c367cc0f2d6ce4c68e59274151b
MD5 741e056801988a6bfb82388879add157
BLAKE2b-256 c37f2ba06706a839c135b4ff43a34fc74cbfee641414d0e2dedac702f2eb9269

See more details on using hashes here.

Provenance

The following attestation bundles were made for echo_mcp_server_for_testing-0.1.3-py3-none-any.whl:

Publisher: publish.yml on piebro/echo-mcp-server-for-testing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page