关于 MCP Server
MCP Server 是面向 AI 应用的插件式框架与服务,可提供命令执行、数据工具和知识管理能力。它既可独立运行,也可嵌入其他项目,并通过 HTTP/SSE 端点和 YAML 工具定义进行配置。
主要功能
- 01插件式工具框架
- 02同步与异步命令执行
- 03RestrictedPython 表达式评估
- 04DataFrame 分析与可视化界面
- 05基于 YAML 配置工具和提示词
- 06安装与刷新插件
适用场景
- 01执行脚本并收集输出
- 02分析和可视化 DataFrame
- 03评估受限 Python 表达式
- 04添加 Azure DevOps 或 Git 插件
MCP 相关
服务通过 MCP 暴露已注册的工具,包括命令执行、浏览器自动化、数据服务和插件。客户端可通过其 SSE 端点连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务
MCP 服务提供了一套全面的框架,支持 AI 驱动的命令执行、基于插件的工具,以及同步脚本执行、安全的 Python 求值和知识管理等高级功能。它既可以作为独立服务运行,也可以嵌入其他项目,以便提供一致的 API 来调用工具和管理任务。
项目结构
- mcp_tools/ – 插件框架和内置工具,并支持增强的并发管理
- server/ – 基于 Starlette 的服务实现,包含 HTTP/SSE 端点和 DataFrame UI
- plugins/ – 可扩展插件(Azure DevOps、Git 工具、知识索引、Kusto、CircleCI)
- config/ – 环境管理器和配置辅助工具
- utils/ – 核心工具(异步作业、图接口、内存管理、向量存储、PyEval)
- scripts/ – 安装、实用脚本和自动化提交工作流
- assets/ – 图片和文档资源
安装
本项目使用 uv 管理依赖。使用以下命令安装依赖:
uv sync
也可以使用 pip 以开发模式安装:
pip install -e .
环境设置
配置由 .env 文件控制。根据模板创建文件,并编辑其中的设置:
cp config/env.template .env
重要变量包括仓库路径(GIT_ROOT)、Azure Repo 详细信息(AZREPO_ORG、AZREPO_PROJECT、AZREPO_REPO),以及用于外部工具配置的可选变量 PRIVATE_TOOL_ROOT。环境管理器会自动从仓库根目录、当前目录和主目录加载 .env 文件。
在代码中通过以下方式访问设置:
from config import env_manager
env_manager.load()
root = env_manager.get_git_root()
更多信息请参阅 docs/config_overview.md。
运行服务
安装依赖并配置 .env 后,使用以下命令启动服务:
uv run server/main.py
连接到 SSE 端点 http://0.0.0.0:8000/sse,或使用 server/api.py 中的其他路由。
后台作业端点的文档见 docs/background_jobs_api.md。
Docker
项目包含用于在容器中运行服务的 Dockerfile。
使用以下命令构建镜像:
docker build -t mcp-server .
然后启动容器并开放端口 8000:
docker run -p 8000:8000 mcp-server
更多详情请参阅 docs/docker.md。
配置文件
服务会从 YAML 文件加载提示词和工具定义:
server/prompts.yamlserver/tools.yaml
私有覆盖配置可以放在 server/.private/ 中,或放在 PRIVATE_TOOL_ROOT 指向的文件夹中。文件按以下顺序解析:
PRIVATE_TOOL_ROOTserver/.private/server/中的默认配置
工具系统
工具是通过 mcp_tools 注册的模块化插件。内置工具包括:
- 命令执行器 – 支持运行至完成的同步和异步命令执行
- 浏览器自动化 – 集成 Playwright,用于网页交互
- PyEval – 使用 RestrictedPython 安全地求值 Python 表达式
- DataFrame 服务 – 通过 Web 界面进行数据分析和可视化
- 时间辅助工具 – 基于时间的实用工具和调度功能
- YAML 工具加载器 – 从 YAML 文件动态定义工具
plugins/ 目录中的其他插件包括 Azure DevOps 集成、Git 操作、知识索引、Kusto 查询和 CircleCI 工作流。有关构建自定义工具的详情,请参阅 mcp_tools/docs/creating_tools.md。
Web 界面提供全面的仪表板:
/tools– 浏览所有已注册工具并查看其详情/dataframes– 交互式管理和可视化 DataFrame/knowledge– 浏览和管理知识图谱/pyeval– 安全的 Python 求值界面
插件管理
通过在 plugin_config.yaml 中声明插件,可以安装外部插件。每个条目都应指定格式为 owner/repository 的 plugin_repo,如果插件位于子文件夹中,还可以指定可选的 sub_dir。示例:
plugins:
- plugin_repo: "github_owner/repo"
sub_dir: "path/to/plugin"
type: "python"
运行 mcp_admin 工具并使用 refresh_plugins 操作,根据此配置克隆或更新插件。传入 force=true 可在重新安装前移除所有已安装的插件。
运行测试
使用以下命令执行所有测试套件:
scripts/run_tests.sh
或者直接对 mcp_tools/tests、plugins/*/tests 或 server/tests 运行 pytest。
主要功能(v0.2.0)
- 运行至完成的执行 – 同步执行脚本并全面捕获输出
- PyEval 安全性 – 使用 RestrictedPython 安全地评估 Python 表达式
- 增强的 DataFrame UI – 响应式 Web 界面,用于数据分析和可视化
后续步骤
- 浏览
mcp_tools/docs/和docs/下的文档,了解工具创建、依赖注入和高级功能。 - 查看
server/中的示例配置文件,并尝试添加自己的工具。 - 探索
plugins/目录中的插件,了解具体实现。 - 查看
utils/目录中的高级实用工具,例如向量存储、图接口和内存管理。 - 查看
CHANGELOG.md,了解详细的发行说明和近期更新。
编辑器集成
Cursor/VSCode 等编辑器可通过在设置中添加以下内容来使用 SSE 端点:
{
"mcpServers": {
"mymcp-sse": { "url": "http://0.0.0.0:8000/sse" }
}
}
演示截图

评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。