MCP Playground

Un campo de pruebas para implementaciones de MCP que incluye múltiples microservicios, con ejemplos de noticias y clima.

Documentación

MCP Playground

Tabla de Contenidos

Descripción

Este proyecto es un playground para implementaciones de MCP (Model Context Provider), con múltiples microservicios, incluyendo un News MCP y Weather MCP. Los servicios se implementan usando MCP con transporte stdio, proporcionando una forma simple y eficiente de exponer funcionalidad a través de flujos estándar de entrada/salida.

Requisitos

  • Python 3.12
  • uv gestor de paquetes
  • Soporte de entorno virtual

Tecnologías y Herramientas

  • mcp[cli]: Model Context Provider para la comunicación de servicios
  • httpx: Cliente HTTP moderno para Python
  • python-dotenv: Gestión de variables de entorno

Instrucciones de Instalación Local

  1. Clona el repositorio:
git clone https://github.com/RonFelsenfeld/mcp-playground.git
cd mcp-playground
  1. Configura el entorno virtual e instala las dependencias:
make setup
  1. Activa el entorno virtual:
source .venv/bin/activate
  1. Sincroniza las dependencias:
make sync
  1. Ejecuta los servicios MCP:

    • Para ejecutar el servicio News MCP:
    python -m src.news_mcp.main
    
    • Para ejecutar el servicio Weather MCP:
    python -m src.weather_mcp.main
    

Comandos Make Disponibles

  • make setup: Crea un nuevo entorno virtual
  • make activate: Muestra el comando de activación del entorno virtual
  • make sync: Sincroniza las dependencias del proyecto
  • make freeze-dependencies: Congela las dependencias actuales en requirements.txt
  • make clean: Elimina el entorno virtual y los archivos de bloqueo

Conexión con Claude Desktop

Este proyecto se puede conectar a Claude Desktop para probar e interactuar con los servicios MCP usando el Protocolo de Contexto de Modelo (MCP) de Anthropic.

  1. Instala Claude Desktop, disponible aquí

  2. Abre Claude, ve a Configuración -> Desarrollador

  3. Haz clic en "Editar Configuración"

  4. Abre el archivo "claude_desktop_config.json"

  5. Copia y pega el siguiente JSON dentro del archivo:

{
  "mcpServers": {
    "weather": {
      "command": "<ABSOLUTE_PATH_TO_UV>",
      "args": [
        "--directory",
        "<YOUR_PROJECT_PATH>",
        "run",
        "-m",
        "src.weather_mcp.main"
      ]
    },
    "news": {
      "command": "<ABSOLUTE_PATH_TO_UV>",
      "args": [
        "--directory",
        "<YOUR_PROJECT_PATH>",
        "run",
        "-m",
        "src.news_mcp.main"
      ],
      "env": {
        "NEWS_API_KEY": "<YOUR_NEWS_API_KEY>"
      }
    }
  }
}

Reemplaza:

  • <ABSOLUTE_PATH_TO_UV> con la ruta absoluta a tu ejecutable uv (del comando which uv)
  • <YOUR_PROJECT_PATH> con la ruta absoluta a tu directorio del proyecto

Para el servicio News MCP, necesitarás una clave de API de News de newsdata.io. Puedes obtener una clave de API gratuita:

  1. Creando una cuenta en newsdata.io
  2. Yendo a tu panel de control
  3. Generando una nueva clave de API

Después de generar tu clave de API, reemplaza <YOUR_NEWS_API_KEY> con ella.