This server provides weather information for any city using the Open-Meteo API through the Model Context Protocol with Streamable-HTTP transport type.
MCP (Model Context Protocol) is a framework designed to enhance the capabilities of Large Language Models (LLMs) by providing them with additional context, data, and tools. MCP servers act as specialized API endpoints that can be called by LLMs during their execution to retrieve real-time information, access structured data, or perform actions that would otherwise be outside their capabilities.
MCP servers enable LLMs to:
This repository includes detailed documentation to help you get started with MCP servers:
The primary endpoint for establishing a connection to interact with the MCP server.
Requires authentication with a Bearer token.
Health check endpoint that returns a status indicating if the server is operational.
Check HealthTo interact with this server, you need to:
/mcp endpoint with a valid Bearer tokenThe required API/Bearer token (QUICKSTART_MCP_SERVER_API_TOKEN) is stored in AWS Secret Manager under the path:
service/axn/mcp-servers-token
You'll need to retrieve this token to authenticate your requests to the MCP server.
For local development, you can use a .env file with the following structure:
QUICKSTART_MCP_SERVER_API_TOKEN=your-secret-token-here
A typical MCP server repository should include:
{function-name}-mcp-server/
├── .acquia/ # Configuration templates for Acquia deployment
│ ├── Various configuration templates for deployment, monitoring, and CI/CD
├── .env # Environment variables (created from .env.example)
├── .env.example # Example environment variables configuration
├── .gitignore # Git ignore rules
├── .venv/ # Virtual environment (created by uv)
├── Dockerfile # Docker configuration for containerized deployment
├── README.md # Project overview and quick start guide
├── pyproject.toml # Python dependencies and project configuration
├── uv.lock # Locked dependency versions (managed by uv)
├── docs/ # Documentation
│ ├── setup.md # This setup guide
│ ├── claude-setup.md # Guide for Claude Desktop integration
│ └── mcp-inspector.md # Guide for using the MCP Inspector tool
└── src/ # Source code
└── quickstart_mcp_server/ # Main package directory
├── templates/ # index and health endpoints HTML codes
│ ├── index.html # HTML code for `/` endpoint
│ └── health.html # HTML code for `/health` endpoint
├── __init__.py # Package initialization
├── server.py # Main HTTP-based entry point (streamable-HTTP/SSE transport)
├── middleware.py # HTTP authentication middleware implementing bearer token validation
├── tools.py # MCP tool definitions and registration function
└── templates.py # HTTP route handlers for health checks and documentation
Each MCP server includes a .env.example file that outlines the required environment variables for the server to function properly. This typically includes:
.env.example file to a new .env file.env file is included in .gitignore to prevent committing sensitive informationFor production environments, it is recommended to use AWS Secret Manager instead of environment variables for sensitive information:
platform.yamlTo integrate with Claude Desktop, add the following configuration to your Claude Desktop config file:
{
"mcpServers": {
"function-mcp-server": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-server-url.cicd.acquia.io/mcp",
"--header",
"Authorization: Bearer your-token-here"
]
}
}
}
Get weather information for any city using the Open-Meteo API.
{
"name": "get_weather",
"parameters": {
"city": "string"
}
}
Example: Request weather for "New York", "London", "Tokyo", etc.
User: What's the weather like in Tokyo?
Claude: I'll check the current weather for Tokyo.
[Claude uses get_weather("Tokyo") tool]
Based on the weather data, here's the current weather in Tokyo:
- Date: 2025-05-02
- Weather: Partly cloudy
- Temperature: 22°C
The forecast for the next few days shows...
For questions or assistance regarding MCP servers, please contact to Accelion (AXN) team.