- echo-mcp-server-for-testing
echo-mcp-server-for-testing
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 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.