数据库交互协议服务器

一个非官方的MCP服务器实现,用于通过标准化协议与Percona Everest数据库集群进行AI驱动的交互。

  • by spron-in
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 spron-in/mcp-everest

使用说明

非官方Percona Everest MCP服务器

一个非官方的MCP(模型上下文协议)服务器实现 佩尔科纳珠穆朗玛峰 -开源云原生数据库平台。该服务器通过标准化协议实现了与Percona-Everest数据库集群的人工智能交互。

可用工具

MCP服务器提供以下工具用于与Percona Everest交互:

  • list_database_clusters(namespace):列出指定命名空间中的所有可用数据库群集
  • get_database_cluster(namespace, name):检索特定数据库群集的详细信息
  • get_database_cluster_credentials(namespace, name):获取特定数据库群集的凭据
  • get_database_cluster_components(namespace, name):获取特定数据库群集的组件信息

开发设置

  1. 克隆存储库:
git clone https://github.com/spron-in/mcp-everest
cd mcp-everest
uv venv
source .venv/bin/activate
  1. 设置环境变量:
# 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

阅读 Percona Everest文件 了解更多关于API的信息。我发送了一个 拉取请求 解释了如何获得API(JWT)密钥,希望它能很快被接受。

  1. 运行服务器:
uv run --with mcp-everest mcp-everest

测试和游戏

测试与 MCP检查员

要使用MCP开发客户端测试服务器,请执行以下操作:

mcp dev mcp_everest/mcp_server.py

这需要安装Node。它将启动一个NodeJS MCP检查器,您可以在浏览器中打开并使用它。

示例mcp_client.py

还有一个客户端可用于与MCP服务器交互:

python mcp_client.py

这是大型语言模型如何与MCP对话并使用其工具的示例。阅读更多 博客文章.

未来发展

计划改进

  1. 官方整合

    • 努力使其成为Percona Everest的官方MCP服务器
    • 提交以纳入流行的MCP服务器集合
  2. API覆盖范围扩展

    • 通过Everest API实现更多GET端点
    • 添加对POST/PUT/DELETE操作的支持(但具有只读模式)
    • 从API规范中添加正确的类型和支持的变量
    • 将资源和提示纳入MCP
  3. 交叉整合

    • 与其他数据库MCP服务器(MongoDB、PostgreSQL等)集成
    • 启用跨数据库操作和管理
    • 跨不同数据库平台实施统一监控

贡献

欢迎投稿!请随时提交问题和拉取请求。