mcpField
M
MCP Server

MCP Server

本地服务
github.com/plusplusoneplusplus开发工具447 周前更新

关于 MCP Server

MCP Server 是面向 AI 应用的插件式框架与服务,可提供命令执行、数据工具和知识管理能力。它既可独立运行,也可嵌入其他项目,并通过 HTTP/SSE 端点和 YAML 工具定义进行配置。

主要功能

  1. 01插件式工具框架
  2. 02同步与异步命令执行
  3. 03RestrictedPython 表达式评估
  4. 04DataFrame 分析与可视化界面
  5. 05基于 YAML 配置工具和提示词
  6. 06安装与刷新插件

适用场景

  1. 01执行脚本并收集输出
  2. 02分析和可视化 DataFrame
  3. 03评估受限 Python 表达式
  4. 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.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/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 界面,用于数据分析和可视化

后续步骤

  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 服务异步命令执行

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

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