mcp-everest
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 namespaceget_database_cluster(namespace, name)
: Retrieves detailed information about a specific database clusterget_database_cluster_credentials(namespace, name)
: Fetches credentials for a specific database clusterget_database_cluster_components(namespace, name)
: Gets components information for a specific database cluster
Development Setup
- Clone the repository:
git clone https://github.com/spron-in/mcp-everest
cd mcp-everest
uv venv
source .venv/bin/activate
- 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.
- 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
-
Official Integration
- Work towards making this an official MCP server for Percona Everest
- Submit for inclusion in popular MCP server collections
-
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
-
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.