模型上下文协议服务器

一个轻量级的模型上下文协议(MCP)服务器,支持创建、检索、更新和删除模型上下文,并提供查询执行和过滤功能,适用于模型开发和数据分析场景。

  • by ryuichi1208
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ryuichi1208/datadog-mcp-server

使用说明

FastMCP-模型上下文协议服务器

一个轻量级的模型上下文协议(MCP)服务器,用 FastMCP,一个用于构建MCP服务器和客户端的快速Python框架。

特性

  • 创建、检索、更新和删除模型上下文
  • 针对特定上下文执行查询
  • 按型号名称和标签过滤
  • 内存存储(用于开发)
  • FastMCP集成,便于MCP服务器开发
  • 用于度量和监控的Datadog集成

需求

  • Python 3.7+
  • FastMCP
  • 紫外线(推荐用于环境管理)
  • Datadog帐户(可选,用于度量)

安装

使用紫外线(推荐)

最简单的安装方法是使用提供的脚本:

Unix/Linux/macOS

# Clone the repository
git clone https://github.com/yourusername/datadog-mcp-server.git
cd datadog-mcp-server

# Make the install script executable
chmod +x install.sh

# Run the installer
./install.sh

视窗

# Clone the repository
git clone https://github.com/yourusername/datadog-mcp-server.git
cd datadog-mcp-server

# Run the installer
.\install.ps1

手动安装

# Clone the repository
git clone https://github.com/yourusername/datadog-mcp-server.git
cd datadog-mcp-server

# Create and activate a virtual environment with uv
uv venv
# On Unix/Linux/macOS:
source .venv/bin/activate
# On Windows:
.\.venv\Scripts\activate

# Install dependencies
uv pip install -r requirements.txt

数据狗配置

服务器与Datadog集成用于度量和监控。您可以通过以下几种方式配置Datadog API凭据:

1.环境变量

在启动服务器之前设置这些环境变量:

# Unix/Linux/macOS
export DATADOG_API_KEY=your_api_key
export DATADOG_APP_KEY=your_app_key  # Optional
export DATADOG_SITE=datadoghq.com    # Optional, default: datadoghq.com

# Windows PowerShell
$env:DATADOG_API_KEY = 'your_api_key'
$env:DATADOG_APP_KEY = 'your_app_key'  # Optional
$env:DATADOG_SITE = 'datadoghq.com'    # Optional

2..env文件

创建一个 .env 项目目录中的文件:

DATADOG_API_KEY=your_api_key
DATADOG_APP_KEY=your_app_key
DATADOG_SITE=datadoghq.com

3.FastMCP CLI安装

作为Claude Desktop工具安装时,可以传递环境变量:

fastmcp install mcp_server.py --name "Model Context Server" -v DATADOG_API_KEY=your_api_key

4.运行时配置

使用 configure_datadog 运行时的工具:

result = await client.call_tool("configure_datadog", {
    "api_key": "your_api_key",
    "app_key": "your_app_key",  # Optional
    "site": "datadoghq.com"     # Optional
})

用法

启动服务器

# Start directly from activated environment
python mcp_server.py

# Or use uv run (no activation needed)
uv run python mcp_server.py

# Use FastMCP CLI for development (if in activated environment)
fastmcp dev mcp_server.py

# Use FastMCP CLI with uv (no activation needed)
uv run -m fastmcp dev mcp_server.py

作为Claude桌面工具安装

# From activated environment
fastmcp install mcp_server.py --name "Model Context Server"

# Using uv directly
uv run python -m fastmcp install mcp_server.py --name "Model Context Server"

# With Datadog API key
fastmcp install mcp_server.py --name "Model Context Server" -v DATADOG_API_KEY=your_api_key

使用工具

服务器提供以下工具:

  • create_context -创建新上下文
  • get_context -检索特定上下文
  • update_context -更新现有上下文
  • delete_context -删除上下文
  • list_contexts -列出所有上下文(可选过滤)
  • query_model -针对特定上下文执行查询
  • health_check -服务器健康检查
  • configure_datadog -在运行时配置Datadog集成

请求示例

创建上下文

result = await client.call_tool("create_context", {
    "context_id": "model-123",
    "model_name": "gpt-3.5",
    "data": {
        "parameters": {
            "temperature": 0.7
        }
    },
    "tags": ["production", "nlp"]
})

执行查询

result = await client.call_tool("query_model", {
    "context_id": "model-123",
    "query_data": {
        "prompt": "Hello, world!"
    }
})

配置Datadog

result = await client.call_tool("configure_datadog", {
    "api_key": "your_datadog_api_key",
    "app_key": "your_datadog_app_key",  # Optional
    "site": "datadoghq.com"             # Optional
})

数据狗指标

服务器向Datadog报告以下指标:

  • mcp.contexts.created -上下文创建事件
  • mcp.contexts.updated -上下文更新事件
  • mcp.contexts.deleted -上下文删除事件
  • mcp.contexts.accessed -上下文访问事件
  • mcp.contexts.total -上下文总数
  • mcp.contexts.listed -列出上下文操作事件
  • mcp.queries.executed -查询执行事件
  • mcp.server.startup -服务器启动事件
  • mcp.server.shutdown -服务器关闭事件

发展

查看包含 mcp_example.py 对于客户端实现示例:

# Run the example client (with activated environment)
python mcp_example.py

# Run with uv (no activation needed)
uv run python mcp_example.py

许可证

麻省理工学院

资源