可配置 MCP 代理服务器 (Configurable MCP Proxy Server)

该项目提供了一个强大的解决方案,使用模型上下文协议 (MCP) 为 AI 聊天界面(如 DeepSeek)扩展本地系统功能。它弥合了基于 Web 的 AI 与本地机器之间的鸿沟,允许 AI 读取/写入文件、执行命令以及使用各种专门的工具。

🚀 核心特性

  • 多服务代理:集中的 FastAPI 服务器,用于管理并转发请求至各种 MCP 服务。
  • DeepSeek 集成:自定义 Tampermonkey 脚本,直接在 DeepSeek 聊天 UI 中注入工具调用功能。
  • 强大的内置工具
    • 全局搜索:使用 grep 进行高性能多线程文本预览。
    • 高级编辑:支持语义化文件编辑(search_replaceline_edit)。
    • 终端会话:持久化交互式 Shell 会话。
    • Git 集成:全面控制 Git 状态、差异对比和提交。
  • 大数据量支持:针对 Windows 环境进行了优化,通过跳过命令行长度限制,支持高达 2MB 的数据传输。
  • 错误容错:4 层延时保护机制,确保工具执行的可靠性。

🏗️ 架构设计

HTTP/SSE

DeepSeek Web UI

Tampermonkey 脚本

Python 代理服务器

本地嵌入式工具

外部 MCP 服务

� 目录结构与代码说明

1. server/ - 后端核心

该目录包含代理服务器的所有逻辑。

  • servers.py: 核心入口文件
    • 使用 FastAPI 搭建交互接口。
    • 管理外部服务的启动、停止与调用映射。
    • 实现了内置工具:多线程 grep 搜索、Git 管理、交互式终端 (TerminalSession)、文件大纲生成。
  • mcp.json: 配置文件。定义了需要代理的外部 MCP 服务(如 Bing 搜索、本地 Shell),包括其启动命令、参数和工具列表。
  • todos.json: 任务管理数据文件,存储待办事项信息。
  • 工具示例文档.txt: 供 AI 参考的工具使用指南和示例。

2. server/mcp/ - 外部服务实现

  • fastmcp-shell/: 万能工具管道实现
    • windows_compatible_universal_pipe_v2.py: 专为 Windows 优化的执行器。解决了 PowerShell 命令行长度限制问题,支持大文件的可靠写入。
    • role_card.txt: 角色卡/提示词。告诉 AI 它拥有哪些能力以及如何正确调用这些工具。
    • adapter.py: MCP 协议适配器逻辑。
  • bing-cn-mcp/: Bing 搜索接口的 MCP 实现(Node.js 版)。

3. js/ - 前端插件

  • js2.js: Tampermonkey 脚本
    • 拦截逻辑:通过劫持 XMLHttpRequest 和监听 Server-Sent Events (SSE),实时检测 DeepSeek 返回的工具调用指令。
    • UI 注入:在 DeepSeek 页面右上角添加 “MCP 初始化” 按钮。
    • 通信网桥:将 AI 的工具请求转发给本地 Python 服务器,并将执行结果反馈回对话框。
    • 缓冲优化:内置 2MB 的文本缓冲区,确保大代码库在传输过程中不被截断。

4. MD/ - 技术文档

记录了开发过程中攻克的重大难题方案。

  • Windows命令行长度限制问题修复流程.md: 详细记录了如何通过临时文件方案突破 Windows 的 25KB 命令行长度限制。
  • 大文件写入问题修复总结.md: 对 JS 端缓冲区扩容和 Python 端统一写入方法的最终总结。
  • 超时修复流程图.md: 描述了 4 层超时保护机制(网络超时、请求锁超时、工具执行超时、轮询超时)的逻辑流。

🛠️ 安装指南

1. 后端设置

  1. 确保已安装 Python 3.10+
  2. 进入 \server\mcp\fastmcp-shell 目录并安装依赖:
pip install -r requirements.txt
  1. 启动服务器:python servers.py

2. 前端设置

  1. 在浏览器安装 Tampermonkey或者脚本猫
  2. js/js2.js 内容复制到新脚本并保存。
  3. 刷新 DeepSeek 即可看到初始化按钮。

📖 具体使用方法

在这里插入图片描述

  1. 下载源码,进入到server目录
    在这里插入图片描述

  2. 安装好油猴或者脚本猫,添加好js文件
    在这里插入图片描述

  3. 初始化:打开DeepSeek(https://chat.deepseek.com/),点击 “MCP 初始化” 按钮。
    在这里插入图片描述

  4. 交互:直接让 DeepSeek “搜索文件”、“修改代码” 或 “查看 Git 状态”。

  5. 自动化:系统会自动解析响应格式并执行本地操作,完成后将结果自动填入输入框发送。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐