MCP LLaMA

An MCP server with weather tools and LLaMA integration.

MCP LLaMA

A Model Context Protocol (MCP) implementation with weather tools and LLaMA integration.

Components

  • Server: weather_mcp_server.py - Weather MCP server (MCP Server Guide)
  • Client: mcp_client.py - Generic MCP client (MCP Client Guide)
  • Agent: mcp_llama_agent.py - LLaMA-powered MCP agent

Quick Start

1. Run Weather Server

uv --directory src run weather_mcp_server.py

2. Run MCP Client

python src/mcp_client.py src/weather_mcp_server.py

3. Run LLaMA Agent

python src/mcp_llama_agent.py

Claude Desktop Integration

Add to claude_desktop_config.json:

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

Development

MCP Inspector

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

Example Usage

python src/mcp_client.py src/weather_mcp_server.py

Query: "with coordinates for new york, find what is the weather"

Response: Weather forecast with current conditions, tonight's forecast, and upcoming days with temperature and precipitation details.

Claude API Call log

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?

Llama API Call log

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension