返回市场
我的工具MCP

我的工具MCP

作者:patelnav7 星标更新:2025-02-11

项目介绍

MCP 工具文档

这是一个VSCode/Cursor扩展,提供了一个集成的MCP服务器和UI面板,用于检索和显示命令行工具文档。该扩展会自动检测工作区中的工具,并通过WebView面板提供它们的文档。

核心功能

  • 🔄 内置MCP服务器

    • 使用Express + SSE服务器(端口54321-54421)
    • 安全来源验证
    • 自动端口选择
    • 连接管理和清理
    • 实时事件流
  • 🔍 工具发现

    • 包脚本(npm, yarn, pnpm)
    • 本地二进制文件(node_modules/.bin)
    • 全局工具(git, npm, yarn, pnpm)
    • 单仓库工作区支持
  • 📚 文档检索

    • 帮助命令执行(-h, --help)
    • 获取版本信息
    • 安全命令验证
    • 错误处理
  • 💻 VS Code集成

    • 基于React的WebView面板
    • 状态栏集成
    • 命令面板支持
    • 工作区路径检测

架构

1. VS Code扩展(后端)

扩展主机(src/extension.ts)
├── 当VS Code启动时激活
├── 创建MCP服务器
│   └── Express + SSE服务器(端口范围54321-54421)
└── 创建WebView面板

2. MCP服务器(中间层)

MCP服务器(src/server/*)
├── SSE事件流
│   ├── 实时工具发现更新
│   ├── 文档流
│   └── 连接状态管理
│
└── 工具发现系统
    ├── path-scanner.ts
    │   └── 在工作区中查找工具(bin/, node_modules/.bin)
    └── package-scanner.ts
        └── 扫描package.json以查找可用工具

3. WebView面板(前端)

React WebView(src/panel/*)
├── UI组件
│   └── 显示可用工具及其文档
│
└── SSE客户端
    ├── 请求可用工具
    └── 流式传输工具文档

项目结构

my-tools-mcp/
├── src/                      # 源代码
│   ├── extension.ts          # 扩展入口点
│   ├── env.ts               # 环境配置
│   ├── server/              # 内置MCP服务器
│   │   ├── index.ts         # 服务器设置和SSE处理
│   │   └── controllers/     # 工具发现和执行
│   │       ├── docs/        # 文档控制器
│   │       ├── path-scanner.ts    # 工具发现
│   │       └── package-scanner.ts # package.json扫描
│   ├── panel/              # WebView UI(React)
│   │   ├── index.tsx      # WebView入口点
│   │   ├── App.tsx        # 主React组件
│   │   └── components/    # UI组件
│   ├── types/             # 共享TypeScript类型
│   └── lib/               # 共享实用工具
├── dist/                  # 编译输出
└── src/__tests__/        # 测试文件

开发环境设置

  1. 安装依赖项:
pnpm install
  1. 启动开发:
# 启动webpack监视模式
pnpm run dev

# 或者构建生产环境
pnpm run build
  1. 启动扩展:
  • 在VSCode中按F5开始调试
  • 扩展会同时启动MCP服务器和WebView面板

使用方法

  1. 打开命令面板(Cmd/Ctrl + Shift + P)
  2. 输入"MCP Tools"并选择命令
  3. WebView面板将打开并显示可用工具
  4. 选择一个工具查看其文档

技术细节

工具发现

  • 包脚本

    • 自动检测npm/yarn/pnpm脚本
    • 显示脚本源和工作目录
    • 支持单仓库工作区
    • 验证脚本存在性
  • 二进制工具

    • 查找node_modules/.bin中的工具
    • 检测全局工具(git, npm, yarn, pnpm)
    • 验证工具存在性和权限
    • 处理路径解析

文档检索

  • 执行帮助命令(-h, --help)
  • 获取版本信息
  • 处理命令执行错误
  • 验证工具名称和参数
  • 实现适当的超时

SSE通信

  • 实时工具发现更新
  • 安全来源验证
  • 连接管理和清理
  • 错误处理和报告
  • 自动重连支持
  • 基于事件的流
  • 双向消息传递

安全特性

  • 工具名称验证
  • 命令注入预防
  • SSE连接的来源验证
  • 正确的错误处理和报告
  • 资源清理
  • 连接状态管理

测试

扩展包括全面的测试:

  • 服务器功能的集成测试
  • VS Code扩展测试
  • 工具发现测试
  • 安全验证测试
  • SSE通信测试

许可证

ISC </中文翻译>