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

File metadata

File hashes

Hashes for echo_mcp_server_for_testing-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cd7a5e0ac7a7e10b86c6fabb0a634484acd4ad2ba4ce2892f75baced9912e0b8
MD5 bbd184afa766e55194533e14d4b6b4da
BLAKE2b-256 8dac22998134bf7b6717498f69d45224c11054a5049f88e88a63079ab911249e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for echo_mcp_server_for_testing-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0b75514be5c4511a8a39348183814bfe66912f10957664d832357860505f885c
MD5 2ef313caee79d1042c62625cb6306b60
BLAKE2b-256 ea8eb77bc149e53ae45a27acfe97bca1e3ebf7070d91c6bd44f2e1c52dcf1960

See more details on using hashes here.

Provenance

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