Cryptocurrency Price Service
Proporciona información de precios de criptomonedas en tiempo real utilizando la API de CoinMarketCap.
GitHubPrueba este MCPPatrocinado
Documentación
Servidor MCP en Python - Servicio de Precios de Criptomonedas
Este proyecto implementa un servidor MCP (Protocolo de Contexto de Modelo) que proporciona información de precios de criptomonedas. El servidor está construido usando Python y el framework MCP para crear una API que puede ser consumida por diferentes clientes.
Docker
Compilación de Docker:
docker build -t mcp/python-server-mcp -f Dockerfile .
Agrega lo siguiente a tu archivo mcp.json:
{
"mcpServers": {
"python-server-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8000:8000",
"-e",
"ENVIRONMENT",
"-e",
"COINMARKETCAP_API_KEY",
"mcp/python-server-mcp"
],
"env": {
"ENVIRONMENT": "PRODUCTION",
"COINMARKETCAP_API_KEY": "your-api-key",
}
}
}
}
Características
- Obtención de precios de criptomonedas en tiempo real
- Configuración basada en el entorno (desarrollo, producción, staging, local)
- Integración con la API de CoinMarketCap
- Despliegue en contenedores Docker
Requisitos
- Python 3.12+
- uv (gestor de paquetes y entornos virtuales)
- Docker (opcional, para ejecución en contenedores)
Instalación
Usando uv (recomendado)
# Clone the repository
git clone <repository-url>
cd PythonServerMcp
Crear y activar el entorno virtual con uv
uv venv
source .venv/bin/activate
Instalar dependencias
uv sync
Configuración
- Crea un archivo
.enven la raíz del proyecto con las siguientes variables:
ENVIRONMENT=DEV # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_here
- También puedes crear archivos de entorno específicos para cada entorno:
.dev.env- Para el entorno de desarrollo.staging.env- Para el entorno de staging.prod.env- Para el entorno de producción
Uso
Ejecución Local
python main.py
Esto iniciará el servidor MCP que escuchará solicitudes a través de la entrada/salida estándar (stdio).
Usando Docker
# Build the image
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# Run the container
docker run -it test-mcp
Estructura del Proyecto
.
├── main.py
└── src
├── __init__.py
├── core
│ ├── common
│ │ ├── crypto_schema.py
│ │ └── schema.py
│ ├── config.py
│ ├── settings
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── development.py
│ │ ├── environment.py
│ │ ├── local.py
│ │ ├── production.py
│ │ └── staging.py
│ └── utils
│ ├── datetime.py
│ ├── extended_enum.py
│ ├── filename_generator.py
│ ├── passwords.py
│ ├── query_utils.py
│ └── redis.py
├── mcp_server.py
├── resources
│ ├── __init__.py
│ └── coinmarketcap_resource.py
├── server.py
├── services
│ ├── __init__.py
│ └── coinmarketcap_service.py
└── tools
├── __init__.py
└── prices.py
Desarrollo
Agregar Nuevas Herramientas al Servidor MCP
Para agregar una nueva herramienta al servidor MCP, sigue estos pasos:
- Define la función en el archivo
src/__init__.py - Registra la herramienta en la función
main() - Documenta la herramienta con docstrings
Ejemplo:
@server.add_tool
def my_new_tool(parameter1: str, parameter2: int) -> str:
"""
Description of what the tool does.
Args:
parameter1: Description of parameter 1
parameter2: Description of parameter 2
Returns:
Description of what is returned
"""
# Tool implementation
return result
