EDP to Acquia MCP Servers

Welcome to the EDP (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 (EDP_MCP_SERVER_API_TOKEN) is stored in AWS Secret Manager under the path:

service/edp/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:

EDP_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
    └── edp_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

The EDP MCP Server provides data pipeline tools for Clari Copilot analytics. See the tools documentation for details on available tools and their usage.

Example Interactions

Querying Clari Copilot Data

User: Show me recent calls for account Acme Corp

Claude: I'll search for recent calls from Acme Corp.

[Claude uses search_calls tool with account_name filter]

Based on the data, here are the recent calls for Acme Corp:
- Call on 2026-07-10: Discovery Call
- Call on 2026-07-08: Demo Meeting
- Call on 2026-07-05: Follow-up Discussion

Would you like more details about any of these calls?

Contact

For questions or assistance regarding MCP servers, please contact to Enterprise Data Platform (EDP) team.