MCP LLaMA

Um servidor MCP com ferramentas meteorológicas e integração LLaMA.

Documentação

MCP LLaMA

Uma implementação do Model Context Protocol (MCP) com ferramentas de clima e integração com LLaMA.

Componentes

  • Servidor: weather_mcp_server.py - Servidor MCP de clima (Guia do Servidor MCP)
  • Cliente: mcp_client.py - Cliente MCP genérico (Guia do Cliente MCP)
  • Agente: mcp_llama_agent.py - Agente MCP com tecnologia LLaMA

Início Rápido

1. Executar o Servidor de Clima

uv --directory src run weather_mcp_server.py

2. Executar o Cliente MCP

python src/mcp_client.py src/weather_mcp_server.py

3. Executar o Agente LLaMA

python src/mcp_llama_agent.py

Integração com Claude Desktop

Adicione em claude_desktop_config.json:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "D:/prj/mcp_llama/src",
        "run",
        "weather_mcp_server.py"
      ]
    }
  }
}

Desenvolvimento

MCP Inspector

npx @modelcontextprotocol/inspector
transport: STDIO
command: uv
args: --directory D:/prj/mcp_llama/src run weather_mcp_server.py
Browser Tools tab

Exemplo de Uso

python src/mcp_client.py src/weather_mcp_server.py

Consulta: "com coordenadas para nova york, descubra como está o clima"

Resposta: Previsão do tempo com condições atuais, previsão para esta noite e próximos dias com detalhes de temperatura e precipitação.

Log de Chamadas da API Claude

Query: with coordinates for new york, find what is the weather
2025-06-29 19:37:42,473 - __main__ - INFO - Sending query to claude-3-5-sonnet-20241022 wiih message: [{'role': 'user', 'content': 'with coordinates for new york, find what is the weather'}] and available tools: [{'name': 'get_alerts', 'description': 'Get weather alerts for a US state.\n\n    Args:\n        state: Two-letter US state code (e.g. CA, NY)\n    ', 'input_schema': {'properties': {'state': {'title': 'State', 'type':Query: with coordinates for new york, find what is the weather
2025-06-29 19:37:42,473 - __main__ - INFO - Sending query to claude-3-5-sonnet-20241022 wiih message: [{'role': 'user', 'content': 'with coordinates for new york, find what is the weather'}] and available tools: [{'name': 'get_alerts', 'description': 'Get weather alerts for a US state.\n\n    Args:\n        state: Two-letter US state code (e.g. CA, NY)\n    ', 'input_schema': {'properties': {'state': {'title': 'State', 'type': 'string'}}, 'required': ['state'], 'title': 'get_alertsArguments', 'type': 'object'}}, {'name': 'get_forecast', 'description': 'Get weather forecast for a location.\n\n    Args:\n        latitude: Latitude of the location\n        longitude: Longitude of the location\n    ', 'input_schema': {'properties': {'latitude': {'title': 'Latitude', 'type': 'number'}, 'longitude': {'title': 'Longitude', 'type': 'number'}}, 'required': ['latitude', 'longitude'], 'title': 'get_forecastArguments', 'type': 'object'}}]
2025-06-29 19:37:46,287 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2025-06-29 19:37:50,164 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"

Response: I'll help you get the weather forecast for New York City using its approximate coordinates.
New York City's coordinates are approximately latitude 40.7128° N and longitude 74.0060° W (negative for western hemisphere).
[Calling tool get_forecast with args {'latitude': 40.7128, 'longitude': -74.006}]
Here's a summary of the weather forecast for New York City:
- Currently this afternoon it's mostly sunny with a temperature of 88°F and light westerly winds
- Tonight will be mostly clear with a low of 72°F
- Tomorrow (Monday) will be partly sunny with a high of 82°F and a slight chance of showers/thunderstorms in the late afternoon
- Tuesday brings a higher chance of showers and thunderstorms with a high of 85°F

Would you like me to check if there are any weather alerts for New York state as well?
Query: with coordinates for new york, find what is the weather
2025-06-29 19:37:42,473 - __main__ - INFO - Sending query to claude-3-5-sonnet-20241022 wiih message: [{'role': 'user', 'content': 'with coordinates for new york, find what is the weather'}] and available tools: [{'name': 'get_alerts', 'description': 'Get weather alerts for a US state.\n\n    Args:\n        state: Two-letter US state code (e.g. CA, NY)\n    ', 'input_schema': {'properties': {'state': {'title': 'State', 'type': 'string'}}, 'required': ['state'], 'title': 'get_alertsArguments', 'type': 'object'}}, {'name': 'get_forecast', 'description': 'Get weather forecast for a location.\n\n    Args:\n        latitude: Latitude of the location\n        longitude: Longitude of the location\n    ', 'input_schema': {'properties': {'latitude': {'title': 'Latitude', 'type': 'number'}, 'longitude': {'title': 'Longitude', 'type': 'number'}}, 'required': ['latitude', 'longitude'], 'title': 'get_forecastArguments', 'type': 'object'}}]
2025-06-29 19:37:46,287 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2025-06-29 19:37:50,164 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"

Response: I'll help you get the weather forecast for New York City using its approximate coordinates.
New York City's coordinates are approximately latitude 40.7128° N and longitude 74.0060° W (negative for western hemisphere).
[Calling tool get_forecast with args {'latitude': 40.7128, 'longitude': -74.006}]
Here's a summary of the weather forecast for New York City:
- Currently this afternoon it's mostly sunny with a temperature of 88°F and light westerly winds
- Tonight will be mostly clear with a low of 72°F
- Tomorrow (Monday) will be partly sunny with a high of 82°F and a slight chance of showers/thunderstorms in the late afternoon
- Tuesday brings a higher chance of showers and thunderstorms with a high of 85°F

Would you like me to check if there are any weather alerts for New York state as well?
 'string'}}, 'required': ['state'], 'title': 'get_alertsArguments', 'type': 'object'}}, {'name': 'get_forecast', 'description': 'Get weather forecast for a location.\n\n    Args:\n        latitude: Latitude of the location\n        longitude: Longitude of the location\n    ', 'input_schema': {'properties': {'latitude': {'title': 'Latitude', 'type': 'number'}, 'longitude': {'title': 'Longitude', 'type': 'number'}}, 'required': ['latitude', 'longitude'], 'title': 'get_forecastArguments', 'type': 'object'}}]
2025-06-29 19:37:46,287 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2025-06-29 19:37:50,164 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"

Response: I'll help you get the weather forecast for New York City using its approximate coordinates.
New York City's coordinates are approximately latitude 40.7128° N and longitude 74.0060° W (negative for western hemisphere).
[Calling tool get_forecast with args {'latitude': 40.7128, 'longitude': -74.006}]
Here's a summary of the weather forecast for New York City:
- Currently this afternoon it's mostly sunny with a temperature of 88°F and light westerly winds
- Tonight will be mostly clear with a low of 72°F
- Tomorrow (Monday) will be partly sunny with a high of 82°F and a slight chance of showers/thunderstorms in the late afternoon
- Tuesday brings a higher chance of showers and thunderstorms with a high of 85°F

Would you like me to check if there are any weather alerts for New York state as well?

Log de Chamadas da API Llama