MCP Playground

Um playground para implementações MCP com múltiplos microsserviços, incluindo exemplos de notícias e clima.

Documentação

MCP Playground

Sumário

Descrição

Este projeto é um playground para implementações de MCP (Model Context Provider), com vários microsserviços, incluindo um News MCP e um Weather MCP. Os serviços são implementados usando MCP com transporte stdio, fornecendo uma maneira simples e eficiente de expor funcionalidades por meio de fluxos padrão de entrada/saída.

Requisitos

  • Python 3.12
  • Gerenciador de pacotes uv
  • Suporte a ambiente virtual

Tecnologias e Ferramentas

  • mcp[cli]: Model Context Provider para comunicação entre serviços
  • httpx: Cliente HTTP moderno para Python
  • python-dotenv: Gerenciamento de variáveis de ambiente

Instruções de Instalação Local

  1. Clone o repositório:
git clone https://github.com/RonFelsenfeld/mcp-playground.git
cd mcp-playground
  1. Configure o ambiente virtual e instale as dependências:
make setup
  1. Ative o ambiente virtual:
source .venv/bin/activate
  1. Sincronize as dependências:
make sync
  1. Execute os serviços MCP:

    • Para executar o serviço News MCP:
    python -m src.news_mcp.main
    
    • Para executar o serviço Weather MCP:
    python -m src.weather_mcp.main
    

Comandos Make Disponíveis

  • make setup: Cria um novo ambiente virtual
  • make activate: Mostra o comando de ativação do ambiente virtual
  • make sync: Sincroniza as dependências do projeto
  • make freeze-dependencies: Congela as dependências atuais em requirements.txt
  • make clean: Remove o ambiente virtual e os arquivos de bloqueio

Conectando com o Claude Desktop

Este projeto pode ser conectado ao Claude Desktop para testar e interagir com os serviços MCP usando o Model Context Protocol (MCP) da Anthropic.

  1. Instale o Claude Desktop, disponível aqui

  2. Abra o Claude, vá em Configurações -> Desenvolvedor

  3. Clique em "Editar Config"

  4. Abra o arquivo "claude_desktop_config.json"

  5. Copie e cole o seguinte JSON dentro do arquivo:

{
  "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>"
      }
    }
  }
}

Substitua:

  • <ABSOLUTE_PATH_TO_UV> pelo caminho absoluto para o executável do seu uv (do comando which uv)
  • <YOUR_PROJECT_PATH> pelo caminho absoluto do diretório do seu projeto

Para o serviço News MCP, você precisará de uma chave de API de Notícias do newsdata.io. Você pode obter uma chave de API gratuita:

  1. Criando uma conta em newsdata.io
  2. Indo para o seu painel
  3. Gerando uma nova chave de API

Depois de gerar sua chave de API, substitua <YOUR_NEWS_API_KEY> por ela.