Quickstart to Acquia MCP Servers

Welcome to the Quickstart (MCP) Server

This server provides weather information for any city using the Open-Meteo API through the Model Context Protocol with Streamable-HTTP transport type.

Table of Contents

What is MCP?

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.

Purpose of MCP Servers

MCP servers enable LLMs to:

Documentation

This repository includes detailed documentation to help you get started with MCP servers:

Available Endpoints

/mcp

The primary endpoint for establishing a connection to interact with the MCP server.

Requires authentication with a Bearer token.

/health

Health check endpoint that returns a status indicating if the server is operational.

Check Health

How to Use

To interact with this server, you need to:

  1. Establish a connection to the /mcp endpoint with a valid Bearer token

API Token (Bearer)

The 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

Repository Structure

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
        

Environment Configuration

Each MCP server includes a .env.example file that outlines the required environment variables for the server to function properly. This typically includes:

For Development

  1. Copy the .env.example file to a new .env file
  2. Replace the placeholder values with your actual credentials and configuration
  3. Ensure the .env file is included in .gitignore to prevent committing sensitive information

For Production

For production environments, it is recommended to use AWS Secret Manager instead of environment variables for sensitive information:

  1. Store API tokens and other sensitive credentials in AWS Secret Manager
  2. Configure your MCP server to retrieve secrets from AWS Secret Manager at runtime in platform.yaml

Claude Desktop Setup

To 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"
      ]
    }
  }
}

Available Tools

get_weather

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.

Example Interactions

Getting weather for a city

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...

Contact

For questions or assistance regarding MCP servers, please contact to Accelion (AXN) team.