echo-mcp-server-for-testing
The echo-mcp-server-for-testing is a basic echo functionality-based MCP Server designed for testing MCP clients. It also serves as a foundational template for developing new MCP Servers.
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:
-
Checkout the main branch and get the current version:
git checkout main git pull origin main git describe --tags
-
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 file for details.