使用说明
MCP服务器
这 MCP服务器 为AI驱动的命令执行、基于插件的工具和高级功能提供了一个全面的框架,包括同步脚本执行、安全的Python评估和知识管理。它可以作为独立服务运行,也可以嵌入到其他项目中,以公开用于调用工具和管理任务的一致的API。
项目结构
- mcp_tools/ –具有增强并发管理的插件框架和内置工具
- 服务器/ –使用HTTP/SSE端点和DataFrame UI的Starlette服务器实现
- 插件/ –可扩展插件(Azure DevOps、Git工具、知识索引、Kusto、CircleCI)
- config/ –环境管理器和配置助手
- utils/ –核心实用程序(异步作业、图形界面、内存管理、向量存储、PyEval)
- 脚本/ –安装、实用程序脚本和自动提交工作流
- 资产/ –图像和文档资源
安装
该项目使用 uv 用于依赖性管理。使用以下方式安装依赖项:
uv sync
或者使用pip在开发模式下安装:
pip install -e .
环境设置
配置由控制 .env 文件夹。从模板中创建一个,并使用您的设置进行编辑:
cp config/env.template .env
重要变量包括存储库路径(GIT_ROOT),Azure回购详细信息(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.
码头工人
A. 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内置公用设施包括:
- 令执行器 –同步和异步命令执行,支持运行到完成
- 浏览器自动化 –web交互的剧作家集成
- 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.每个
条目应指定 plugin_repo 以...形式 owner/repository 以及一个可选
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
或者跑 pytest 直接在 mcp_tools/tests, plugins/*/tests,或 server/tests.
主要功能(v0.2.0)
- 运行至完成执行 –同步脚本执行和全面的输出捕获
- PyEval安全 –使用RestrictedPython进行安全的Python表达式求值
- 增强的DataFrame用户界面 –用于数据分析和可视化的响应式web界面
下一步去哪里
- 浏览以下文档
mcp_tools/docs/和docs/了解工具创建、依赖注入和高级功能。 - 查看中的示例配置文件
server/并尝试添加自己的工具。 - 探索插件
plugins/具体实现目录。 - 检查
utils/矢量存储、图形界面和内存管理等高级实用程序的目录。 - 请参阅
CHANGELOG.md查看详细的发行说明和最新更新。
编辑器集成
Cursor/VCode等编辑器可以通过在设置中添加以下内容来使用SSE端点:
{
"mcpServers": {
"mymcp-sse": { "url": "http://0.0.0.0:8000/sse" }
}
}
