Provides an echo service for Perplexity interactions, allowing messages to be sent to the server and returned back to the client, serving as a basic diagnostic and testing tool.
Implements robust input validation using Pydantic models to ensure data integrity and type safety for messages processed by the server.
Supports flexible configuration through YAML files, enabling customization of server behavior and settings.
MCP Perplexity Server
Overview
The MCP Perplexity 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.
Related MCP server: Echo MCP Server
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
Install from Source
Clone the repository:
Create a virtual environment:
Install the package:
Development Installation
To set up for development:
Running the Server
Command-Line Interface
Programmatic Usage
Environment Variables
NO_BOOTSTRAP: Set to disable component bootstrappingOther configuration options can be set in the configuration files
Available Tools
Echo
Input:
message: The string message to echo back
Example:
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
Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/AmazingFeature)Ensure code passes formatting and testing
Commit your changes (
git commit -m 'Add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)Open a Pull Request