mcp-everest

mcp-everest

3.2

If you are the rightful owner of mcp-everest and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An unofficial MCP server implementation for Percona Everest, enabling AI-powered interaction with database clusters through a standardized protocol.

Unofficial Percona Everest MCP Server

An unofficial MCP (Model Context Protocol) server implementation for Percona Everest - an open-source cloud native database platform. This server enables AI-powered interaction with Percona Everest database clusters through a standardized protocol.

Available Tools

The MCP server provides the following tools for interacting with Percona Everest:

  • list_database_clusters(namespace): Lists all available database clusters in the specified namespace
  • get_database_cluster(namespace, name): Retrieves detailed information about a specific database cluster
  • get_database_cluster_credentials(namespace, name): Fetches credentials for a specific database cluster
  • get_database_cluster_components(namespace, name): Gets components information for a specific database cluster

Development Setup

  1. Clone the repository:
git clone https://github.com/spron-in/mcp-everest
cd mcp-everest
uv venv
source .venv/bin/activate
  1. Set up environment variables:
# Required
export EVEREST_API_KEY="your-api-key"

# Optional with defaults
export EVEREST_HOST="http://localhost:8080"  # Everest API base URL
export EVEREST_VERIFY_SSL="true"             # SSL verification
export EVEREST_TIMEOUT="30"                  # Request timeout in seconds
export EVEREST_READONLY="false"              # Read-only mode

Read Percona Everest documentation to learn more about API. I sent a pull request that explains how to get the API (JWT) key, hope it is going to be accepted soon.

  1. Run the server:
uv run --with mcp-everest mcp-everest

Testing and playing

Testing with MCP Inspector

To test the server with the MCP development client:

mcp dev mcp_everest/mcp_server.py

This requires Node to be installed. It will start a NodeJS MCP Inspector that you can open in your browser and play with.

Example mcp_client.py

There is also a client that can be used to interact with the MCP server:

python mcp_client.py

This is the example of how Large Language Model can talk to an MCP and use its tools. Read more in the blog post.

Future Development

Planned Improvements

  1. Official Integration

    • Work towards making this an official MCP server for Percona Everest
    • Submit for inclusion in popular MCP server collections
  2. API Coverage Expansion

    • Implement more GET endpoints from the Everest API
    • Add support for POST/PUT/DELETE operations (but have read-only mode available)
    • Add proper types and supported variables from API spec
    • Include resources and prompts into MCP
  3. Cross-Integration

    • Integrate with other database MCP servers (MongoDB, PostgreSQL, etc.)
    • Enable cross-database operations and management
    • Implement unified monitoring across different database platforms

Contributing

Contributions are welcome! Feel free to submit issues and pull requests.