安全MCP包装服务器

Secure-MCP是一个Python MCP服务器,用于包装任意上游MCP服务器并添加基于LLM的工具调用风险分析、提示条件工具过滤和可疑操作的用户确认功能。

  • by calumjs
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 calumjs/secure.mcp

使用说明

安全MCP包装服务器

Secure MCP是一个Python MCP服务器,它封装了任意上游MCP服务器,并添加了:

  • 基于LLM的工具调用风险分析
  • 提示条件工具过滤
  • 可疑操作的简单用户确认

特性

  • 连接到另一个MCP服务器(stdio命令或SSE URL)
  • 拦截工具发现和调用
  • 使用LLM对风险进行评分和筛选工具
  • 当风险较高时,要求用户在继续操作之前进行确认

安装

pip install -e .

配置

创建一个 .env 或使用环境变量:

  • SECURE_MCP_API_KEY:LLM提供商的API密钥
  • SECURE_MCP_LLM_MODEL:型号名称(例如。, gpt-4.1)
  • SECURE_MCP_SYSTEM_PROMPT:过滤和风险评估的系统策略提示
  • SECURE_MCP_UPSTREAM_CMD:启动上游MCP服务器(stdio)的命令
  • SECURE_MCP_UPSTREAM_ARGS:上游命令的可选JSON参数数组

或者,提供一个YAML配置文件并传递 --config path.yaml.

用法

secure-mcp --upstream-cmd "uvx" --upstream-args '["mcp-server-fetch"]' \
  --system-prompt "Only allow read-only tools; block writes unless confirmed." \
  --model gpt-4.1

这将运行一个连接到目标服务器的包装服务器,根据系统提示过滤列出的工具,并使用基于LLM的检查拦截工具调用。如果电话可疑,它会问你:“继续吗?(是/否)”。

通过uvx运行(无需本地安装)

  • 来自GitHub.zip存档(不需要Git):
uvx --from "https://github.com/calumjs/Secure.MCP/archive/refs/heads/main.zip" secure-mcp \
  --upstream-cmd "uvx" --upstream-args '["mcp-server-fetch"]'
  • 从git+URL(需要在PATH上安装git):
uvx --from "git+https://github.com/calumjs/Secure.MCP@main" secure-mcp \
  --upstream-cmd "uvx" --upstream-args '["mcp-server-fetch"]'

Claude桌面配置示例

把claude_desktop_configure.json放进去:

{
  "mcpServers": {
    "secure-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "https://github.com/calumjs/Secure.MCP/archive/refs/heads/main.zip",
        "secure-mcp"
      ],
      "env": {
        "SECURE_MCP_API_KEY": "YOUR_API_KEY",
        "SECURE_MCP_LLM_MODEL": "gpt-4.1",
        "SECURE_MCP_SYSTEM_PROMPT": "Only allow read-only tools; block writes unless confirmed.",
        "SECURE_MCP_UPSTREAM_CMD": "uvx",
        "SECURE_MCP_UPSTREAM_ARGS": "[\"mcp-server-fetch\"]"
      }
    }
  }
}

备注

  • 此项目从简单的CLI确认开始。如果嵌入到主机中,则集成特定于UI的确认机制。
  • 您可以通过调整LLM提供程序来交换 llm.py 客户。

许可证

麻省理工学院