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.1.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.1-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.1.tar.gz.

File metadata

File hashes

Hashes for echo_mcp_server_for_testing-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e2bb7bab6f79cdfc800cd7a12e38fe301e637645c48ee59c0ba987a25511cbdf
MD5 673abf1ef146940aa1b41e0a4754d4eb
BLAKE2b-256 1a4bc7a95223ccad8016d4bee4f172df0a710482f937e87228d2c871317f5b62

See more details on using hashes here.

Provenance

The following attestation bundles were made for echo_mcp_server_for_testing-0.1.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for echo_mcp_server_for_testing-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4739865cdcecb20b86ddf24f30fd36da6844e899def6f11fa0b0ebcbf49fad44
MD5 4094a0ea19fe7a0e1d1e5df38e459706
BLAKE2b-256 58da64c97825f0225ed924d290722bfec3d8b07a0e78bcf656b6737b6ac31f72

See more details on using hashes here.

Provenance

The following attestation bundles were made for echo_mcp_server_for_testing-0.1.1-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