返回市场
麦普

麦普

作者:plusplusoneplusplus4 星标更新:2025-11-18

项目介绍

MCP服务器

MCP服务器提供了一个全面的框架,用于基于AI的命令执行、插件工具以及高级功能,包括同步脚本执行、安全的Python评估和知识管理。它可以作为独立服务运行,也可以嵌入到其他项目中,以暴露一致的API来调用工具和管理任务。

项目结构

  • mcp_tools/ – 插件框架和内置工具,具有增强的并发管理
  • server/ – 使用HTTP/SSE端点和DataFrame UI的Starlette服务器实现
  • 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_ORGAZREPO_PROJECTAZREPO_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.yaml
  • server/tools.yaml

私有覆盖可以放置在server/.private/或由PRIVATE_TOOL_ROOT指向的文件夹中。文件解析顺序如下:

  1. PRIVATE_TOOL_ROOT
  2. server/.private/
  3. 默认值在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/repositoryplugin_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/testsplugins/*/testsserver/tests上运行pytest

关键特性(v0.2.0)

  • 完成运行执行 – 具有全面输出捕获的同步脚本执行
  • PyEval安全性 – 使用RestrictedPython进行安全的Python表达式评估
  • 增强的DataFrame UI – 响应式的Web界面用于数据分析和可视化

下一步做什么

  1. 浏览mcp_tools/docs/docs/下的文档,了解工具创建、依赖注入和高级功能。
  2. 查看server/中的示例配置文件,并尝试添加您自己的工具。
  3. 探索plugins/目录中的插件以获取具体实现。
  4. 检查utils/目录中的高级实用程序,如向量存储、图形接口和内存管理。
  5. 查看CHANGELOG.md以获取详细的发布说明和最近更新。

编辑器集成

像Cursor/VSCode这样的编辑器可以通过在设置中添加以下内容来使用SSE端点:

{
  "mcpServers": {
    "mymcp-sse": { "url": "http://0.0.0.0:8000/sse" }
  }
}

演示截图

MCP服务器配置 MCP服务器异步命令执行