MCP服务器提供了一个全面的框架,用于基于AI的命令执行、插件工具以及高级功能,包括同步脚本执行、安全的Python评估和知识管理。它可以作为独立服务运行,也可以嵌入到其他项目中,以暴露一致的API来调用工具和管理任务。
该项目使用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中有详细说明。
包含一个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注册的模块化插件。内置工具包括:
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。
mcp_tools/docs/和docs/下的文档,了解工具创建、依赖注入和高级功能。server/中的示例配置文件,并尝试添加您自己的工具。plugins/目录中的插件以获取具体实现。utils/目录中的高级实用程序,如向量存储、图形接口和内存管理。CHANGELOG.md以获取详细的发布说明和最近更新。像Cursor/VSCode这样的编辑器可以通过在设置中添加以下内容来使用SSE端点:
{
"mcpServers": {
"mymcp-sse": { "url": "http://0.0.0.0:8000/sse" }
}
}
