Skip to main content

MCP Echo Server

Project description

MCP Echo Server

Overview

The MCP Echo Server is a lightweight Python-based microservice designed to provide simple echo functionality. It receives messages and returns them back to the client, serving as a basic diagnostic and testing tool within the MCP framework.

Project Details

  • Version: 0.1.0
  • Python Compatibility: Python 3.11+

Features

  • Message Echo: Returns any message sent to the server
  • Comprehensive Validation: Robust input validation using Pydantic models
  • Async Server Architecture: Built with asyncio for efficient performance
  • Flexible Configuration: Configurable through environment variables and config files

Dependencies

Core dependencies:

  • mcp (>=1.6.0)
  • pydantic (>=2.11.2)
  • PyYAML (>=6.0.2)

Development dependencies:

  • pytest (>=8.3.5)

Installation

Prerequisites

  • Python 3.11 or higher
  • pip
  • (Optional) Virtual environment recommended

Install from PyPI

pip install chuk-mcp-echo-server

Install from Source

  1. Clone the repository:
git clone <repository-url>
cd chuk-mcp-echo-server
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  1. Install the package:
pip install .  # Installs the package in editable mode

Development Installation

To set up for development:

pip install .[dev]  # Installs package with development dependencies

Running the Server

Command-Line Interface

chuk-mcp-echo-server

Programmatic Usage

from chuk_mcp_echo_server.main import main

if __name__ == "__main__":
    main()

Environment Variables

  • NO_BOOTSTRAP: Set to disable component bootstrapping
  • Other configuration options can be set in the configuration files

Available Tools

Echo

Input:

  • message: The string message to echo back

Example:

echo("Hello, world!")

Returns:

  • The original message in an EchoResult object

Development

Code Formatting

  • Black is used for code formatting
  • isort is used for import sorting
  • Line length is set to 88 characters

Running Tests

pytest

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Ensure code passes formatting and testing
  4. Commit your changes (git commit -m 'Add some AmazingFeature')
  5. Push to the branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

License

MIT License

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

chuk_mcp_echo_server-0.1.6-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file chuk_mcp_echo_server-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for chuk_mcp_echo_server-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fac905981d9de7d78b398e390ff58288bdfb1cce985dce75e88265dd69db15fe
MD5 d4d16fa106ed2b359f37e87ea3f0086f
BLAKE2b-256 f014310afb60cc86f559a679b4dd3f2c7f21c28768b9ac4c8dee4249988d8f0b

See more details on using hashes here.

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