AI助手开发工具集

一个为VS Code中的AI助手提供开发工具和API集成的Model Context Protocol(MCP)服务器。

  • by Deejpotter
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Deejpotter/my-mcp-server

使用说明

我的MCP服务器

模型上下文协议(MCP)服务器,为VS代码中的人工智能助手提供开发工具和API集成。

全面的文件包括:

  • 人工智能开发指南
  • 项目路线图和跟踪
  • 完整的工具参考
  • 建筑细部
  • 开发指南

快速开始

先决条件

  • Node.js 18或更高版本
  • npm(附带Node.js)

安装

# Clone the repository
git clone https://github.com/Deejpotter/my-mcp-server.git
cd my-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

可用脚本

  • npm run build -将TypeScript编译为JavaScript
  • npm run dev -自动重新加载的开发模式
  • npm start -运行已编译的服务器
  • npm run typecheck -检查TypeScript类型
  • npm run lint -运行ESLint检查
  • npm test run -运行测试套件(非手表)

VS代码集成

添加到您的VS Code MCP设置文件(~/.config/Code/User/mcp.json 在Linux/macOS或 %APPDATA%\Code\User\mcp.json 在Windows上):

生产模式(推荐)

{
  "servers": {
    "my-mcp-server": {
      "command": "npm",
      "args": [
        "--prefix",
        "~/Repos/my-mcp-server",
        "start"
      ],
      "env": {}
    }
  }
}

注: 跑 npm run build 在任何代码更改之后。

发展模式

{
  "servers": {
    "my-mcp-server": {
      "command": "npm",
      "args": [
        "--prefix",
        "~/Repos/my-mcp-server",
        "run",
        "dev"
      ],
      "env": {}
    }
  }
}

注: 文件更改时自动重新加载,无需构建步骤。

配置

创建 .env API集成的项目根目录中的文件:

# Context7 - Optional for enhanced documentation
CONTEXT7_API_KEY=your_context7_key_here

# Hugging Face - Required for AI image generation
HUGGING_FACE_API_KEY=your_hugging_face_key_here

# OpenAI - Required for PDF receipt extraction tools
OPENAI_API_KEY=your_openai_key_here

# Maker Image Converter - Optional local repo path override
MAKER_IMAGE_CONVERTER_ROOT=C:/Users/Deej/Repos/maker-image-converter

# Local Knowledge System - Optional override for the local multi-database knowledge project
LOCAL_KNOWLEDGE_ROOT=C:/Users/Deej/krasus/projects/local-knowledge-system

注: DuckDuckGo搜索在没有任何API密钥的情况下工作。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

可用工具

所有工具都包括全面的安全验证和错误处理。

文件操作

  • read_file -读取具有大小限制和路径验证的文件内容

    • 安全性:阻止路径遍历,验证工作目录中的路径
    • 默认最大大小:1MB(可配置)
  • write_file -通过自动目录创建将内容写入文件

    • 安全性:路径验证,防止写入禁止的目录
    • 自动创建父目录
  • 列表文件 -列出支持glob模式的文件

    • 支持递归目录遍历
    • 过滤掉禁止的路径(.git、node_modules、.env)

Excel 操作

  • excel_workbook_info -检查本地Excel文件的工作簿元数据和工作表尺寸
  • excel_read_range -从本地工作簿读取工作表区域,并以JSON格式返回行
  • excel_write_range -将二维值矩阵写入本地工作簿,必要时创建文件或工作表
  • excel_active_workbook_info -通过实时Excel COM实例检查当前打开的Excel工作簿
  • excel_active_read_range -通过实时Excel COM实例从当前打开的工作簿读取范围
  • excel_active_write_range -通过实时Excel COM实例将二维矩阵写入当前打开的工作簿

地方知识体系

  • local_knowledge_status -检查本地多数据库知识系统,查看数据库计数和大小
  • 本地知识库 -按SKU、别名、URL或自由文本精确匹配进行精确查找
  • 本地知识搜索 -跨精确匹配、FTS和嵌入的混合搜索
  • local_knowledge_rebuild -重建统一检索索引和嵌入
  • local_knowledge_sed -用样品产品、BOM、支持规则和文档为当地知识体系播种

默认Web验证工具

  • duckduckgo_search -在DuckDuckGo中搜索网页结果
    • 当您对外部事实、包行为、推荐、比较或当前最佳实践不是100%确定时,请使用此选项
    • 无需API密钥-免费且无限制
    • 返回包含标题、URL和片段的真实网络搜索结果
    • 以隐私为中心的搜索选项,无需跟踪

文档查找

  • resolve_library_id -为包查找正确的Context7库ID

    • 搜索库、框架和文档
    • 返回与元数据(代码片段、信任评分、版本)的最佳匹配
  • get_文档 -从Context7获取全面的文档

    • 获取最新的特定于版本的文档
    • 针对重点文档的可选主题过滤
    • 文档长度的可配置令牌限制
  • 搜索文档 -在Context7中跨多个库搜索

    • 文档全文搜索
    • 按类别/技术筛选
    • 使用片段获取相关性排名结果

收货管理

用于从杂货收据PDF中提取结构化数据(商店、日期、项目、总计)的工具。需要一个OpenAI API密钥。

  • pdf_list_receipts -列出目录中的PDF文件

    • 在解析之前帮助查找收据
    • 支持递归目录搜索
  • pdf_extract_receipt -从收据PDF中提取结构化数据

存档:BookStack和Grocy集成

BookStack和Grocy工具已存档,无法在主分支机构上使用。请参阅 archive/bookstack-grocy 代码和文档分支。

命令执行

  • security_status -查看安全配置
    • 显示允许的命令
    • 列出禁止的路径和目录
    • 显示当前安全设置

Git集成

  • git_命令 -安全执行git命令
    • 仅验证git操作
    • 存储库目录验证
    • 超时保护(默认60秒)

图像生成与处理

  • 图像生成 -使用AI从文本提示生成图像

    • 由Hugging Face FLUX.1型号提供技术支持(schnell and dev)
    • 多种尺寸选项(512x512至1024x1024)
    • 支持负面提示和指导量表
    • 需要 HUGGING_FACE_API_KEY (免费等级:约50张图片/天)
    • 项目说明中提供了详细的文档
  • image_convert -在不同格式之间转换图像

    • 支持WEBP、PNG、JPEG、AVIF、GIF、TIFF
    • 支持目录的批处理
    • 质量控制和文件夹结构保存
    • 非常适合优化网络图像
  • image_resize -使用智能策略调整图像大小

    • 7个方便的预设(缩略图至4K)
    • 5种匹配策略(覆盖、包含、填充、内部、外部)
    • 自动保持纵横比
    • 批处理支持
  • 图像优化 -优化图像以减小文件大小

    • 特定格式压缩(mozjpeg、调色板缩减)
    • 通常可节省40-70%的空间
    • 元数据保存选项
    • 详细统计报告
  • 图片_颜色_匹配 -将源图像的颜色配置文件与参考集匹配

    • 分析每个通道的平均值和参考图像的标准偏差
    • 对每个源图像应用每通道线性变换(莱因哈德风格的颜色转移)
    • 可调节的 strength (0.0-1.0)在原始和完全匹配之间混合
    • 适用于单个文件或整个目录;默认情况下输出JPEG
    • 可用于从产品照片中删除暖/橙色铸件,以匹配银色参考
  • maker_image_convert -从MCP运行maker图像转换器工作流

    • 支持相同的模式: convert, overlay, diagonal, full
    • 使用本地制造商映像转换器CLI,无需更换桌面应用程序
    • 接受可选的水印路径、不透明度、尺寸文件夹和超时
    • 可选的 MAKER_IMAGE_CONVERTER_ROOT 自定义安装路径的环境变量

可用资源

资源为AI助手提供只读的上下文信息。

可用提示

这些是MCP服务器公开的高质量、以工作流为中心的提示。每个提示都旨在指导真正的开发人员工作流程(质量重于数量)。

  • 代码查看指南 “一步一步的代码审查工作流程,涵盖可读性、安全性、性能、测试和可操作的建议。
  • commit_message_composer “如此,在常规提交之后撰写有意义的提交消息;与git工具集成以分析差异。
  • 图书馆检索工作流程 “使用Context7和DuckDuckGo评估适合性和替代方案的系统库/框架研究工作流程。
  • 错误_调查_指南 结构化调试方法:复制、收集数据、形成假设、测试、修复和记录。
  • 功能_实现_计划 “将功能分解为需求、架构、文件更改、测试、推出和成功指标。
  • 搜索_评分_指南 将粗略的搜索意图转化为优化的查询;在官方文档中使用Context7,在模型不完全确定时使用DuckDuckGo作为默认验证工具。

支持提示(GitHub代理)

除了上述MCP注册的工作流提示外,该存储库还包括GitHub代理提示,用于支持以下工作流 .github/prompts:

  • cnc分诊 "这是分类CNC支持问题;收集配置并提出安全的下一步措施。代理人: Customer Support Agent.
  • 客户回复 “使用Logic然后Answer部分以Maker Store风格起草客户回复。代理人: Customer Support Agent.

安全功能

此MCP服务器实施了企业级安全措施:

命令注入保护

  • 基于允许列表的命令验证
  • 只有预先批准的命令才能执行
  • 危险命令模式被阻止(rm-rf、format等)

路径穿越预防

  • 根据工作目录验证所有文件路径
  • 规范路径解析防止目录转义
  • 被禁止的目录已被自动阻止(.git、node_modules、.env)

资源限制

  • 文件大小限制可防止内存耗尽(默认1MB)
  • 命令超时保护(30-60秒)
  • 命令输出的缓冲区大小限制

信息披露保护

  • 资源中没有主机名暴露
  • 用相对路径替换完整文件系统路径
  • 筛选敏感数据的环境变量

VS代码集成

GitHub Copilot的设置

添加到您的VS Code MCP设置文件中:

窗户: %APPDATA%\Code\User\mcp.json

macOS/Linux: ~/.config/Code/User/mcp.json

生产模式(推荐)

最适合日常使用。运行编译后的JavaScript以获得更好的性能和稳定性。

要求: 跑 npm run build 在任何代码更改之后。

{
  "servers": {
    "my-mcp-server": {
      "command": "npm",
      "args": [
        "--prefix",
        "~/Repos/my-mcp-server",
        "start"

      - **image_analyze_color_profile** ‚ÄĒ Analyze reference images and save a reusable color profile
        - Run **once** against your "gold standard" images to capture their R/G/B channel statistics
        - Saves a `color-profile.json` file (mean + stdev per channel) that can be reused indefinitely
        - Workflow step 1: point at the good images ‚Üí profile is saved to disk

      - **image_color_correct** ‚ÄĒ Correct image color levels using a saved profile
        - Run whenever you have new images that need fixing
        - Loads the JSON profile and applies a per-channel linear transform to match the expected levels
        - Adjustable `strength` (0.0‚Äď1.0), output quality, and format options
        - Workflow step 2: point at bad images + provide profile path ‚Üí corrected images output
### **Web Search**

- **duckduckgo_search** - Search DuckDuckGo for web results

Best for active development. Runs TypeScript directly with hot reload.

**Requirements:** Only needs `npm install` (no build step).

```json
{
  "servers": {
    "my-mcp-server": {
      "command": "npm",
      "args": [
        "--prefix",
        "~/Repos/my-mcp-server",
        "run",
        "dev"
      ],
      "env": {}
    }
  }
}

优点:

  • 无需构建步骤
  • 文件更改时自动重新启动
  • 开发过程中迭代更快

注: 调整路径以匹配您的安装目录。这 ~/Repos/my-mcp-server 该路径在Windows和Linux上都有效。

Jan AI的设置

Jan使用了不同的配置格式。添加到Jan的MCP设置中:

生产模式(推荐):

{
  "type": "stdio",
  "command": "node",
  "args": [
    "C:/Users/YourUserName/Repos/my-mcp-server/dist/server.js"
  ],
  "active": true
}

要求: 跑 npm run build 在任何代码更改之后。

注: 为了与Windows兼容,请使用带正斜杠的绝对路径。

配置

环境变量(可选)

创建 .env API集成的文件:

# Context7 - Optional for enhanced documentation lookup
# Get your key from: https://context7.com
CONTEXT7_API_KEY=your_context7_key_here

# Coles API ‚ÄĒ Required for Coles product search
COLES_API_KEY=your_coles_subscription_key_here

# BookStack - Required for BookStack tools
# Create tokens in your BookStack instance: Settings > API Tokens
BOOKSTACK_URL=https://your-bookstack-instance.com
BOOKSTACK_TOKEN_ID=your_token_id_here
BOOKSTACK_TOKEN_SECRET=your_token_secret_here

# ClickUp - Required for ClickUp tools
# Get your token from: https://app.clickup.com/settings/apps
CLICKUP_API_TOKEN=your_clickup_token_here

# GitHub - Optional for enhanced code search
# Create at: https://github.com/settings/tokens
GITHUB_TOKEN=your_github_token_here

# OpenAI ‚ÄĒ Required for PDF receipt extraction tools
OPENAI_API_KEY=your_openai_key_here

# Maker Image Converter - Optional local repo path override
MAKER_IMAGE_CONVERTER_ROOT=C:/Users/Deej/Repos/maker-image-converter

注: DuckDuckGo搜索工作没有任何API密钥-它是完全免费和无限的!

项目结构

my-mcp-server/
‚Ēú‚ĒÄ‚ĒÄ src/
‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ server.ts              # Main MCP server entry point
‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ tools/                 # MCP tool implementations
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ fileTools.ts       # File read/write/list operations
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ commandTools.ts    # Command execution and security
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ gitTools.ts        # Git command operations
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ duckduckgoSearchTools.ts # DuckDuckGo web search
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ context7Tools.ts   # Context7 docs lookup/search
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ clickupTools.ts    # ClickUp integration
‚Ēā   ‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ imageTools.ts      # Image generate/convert/resize/optimize
‚Ēā   ‚Ēā   ‚ĒĒ‚ĒÄ‚ĒÄ pdfTools.ts        # PDF receipt extraction tools
‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ resources/             # MCP resources (read-only data)
‚Ēā   ‚Ēā   ‚ĒĒ‚ĒÄ‚ĒÄ gitResources.ts    # Git repository status
‚Ēā   ‚Ēú‚ĒÄ‚ĒÄ prompts/
‚Ēā   ‚Ēā   ‚ĒĒ‚ĒÄ‚ĒÄ prompts.ts         # MCP-registered workflow prompts
‚Ēā   ‚ĒĒ‚ĒÄ‚ĒÄ utils/                 # Shared utility functions
‚Ēā       ‚Ēú‚ĒÄ‚ĒÄ security.ts        # Security validation and checks
‚Ēā       ‚Ēú‚ĒÄ‚ĒÄ cache.ts           # Caching and rate limiting
‚Ēā       ‚ĒĒ‚ĒÄ‚ĒÄ performance.ts     # Performance tracking
‚Ēú‚ĒÄ‚ĒÄ dist/                      # Compiled JavaScript (generated by build)
‚Ēú‚ĒÄ‚ĒÄ package.json               # Node.js dependencies and scripts
‚Ēú‚ĒÄ‚ĒÄ tsconfig.json              # TypeScript compiler configuration
‚Ēú‚ĒÄ‚ĒÄ .eslintrc.json             # ESLint code quality rules
‚ĒĒ‚ĒÄ‚ĒÄ README.md                  # This file

发展

添加新工具

工具按类别组织。要添加新工具,请执行以下操作:

  1. 在中选择适当的文件 src/tools/ 或创建新类别
  2. 使用 server.registerTool() Zod模式
  3. 使用来自的实用程序实施安全验证 src/utils/security.ts
  4. 注册于 src/server.ts 如果创建新文件

工具结构示例:

server.registerTool(
  "tool_name",
  {
    title: "Tool Title",
    description: "What the tool does",
    inputSchema: {
      param: z.string().describe("Parameter description"),
    },
    outputSchema: {
      result: z.string(),
    },
  },
  async ({ param }) => {
    try {
      // Tool implementation
      return {
        content: [{ type: "text", text: "Success message" }],
      };
    } catch (error: unknown) {
      const err = error as Error;
      return {
        content: [{ type: "text", text: `Error: ${err.message}` }],
        isError: true,
      };
    }
  }
);

代码规范

  • TypeScript严格模式 -所有代码都必须通过类型检查
  • Zod验证 -所有工具输入均已Zod模式验证
  • 安全第一 -使用 validatePath() 和 validateCommand() 来自utils
  • 错误处理 -始终返回内容 isError 旗帜,永不投掷
  • 评论 -添加JSDoc注释,解释目的和安全考虑因素
  • 无console.log -使用 console.error() 用于调试(stdout用于MCP协议)

故障排除

服务器无法启动

  1. 检查Node.js版本: node --version (必须为18+)
  2. 重建: npm run build
  3. 检查错误: npm run typecheck

工具未出现在VS代码中

  1. 验证MCP设置文件的位置和语法
  2. 完全重新启动VS代码
  3. 检查服务器是否已构建: npm run build
  4. 检查dist/server.js是否存在

安全验证错误

  1. 跑 security_status 查看允许命令的工具
  2. 确保文件路径在工作目录中
  3. 检查命令是否在allowlist中(git、ls、pwd等)

贡献

这是一个个人项目,但欢迎提出建议和改进。贡献时:

  1. 遵循现有的代码模式和结构
  2. 添加全面的错误处理
  3. 包括对所有用户输入的安全验证
  4. 更新任何新功能的文档
  5. 提交前进行彻底测试

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。


??DEPRECATEDó此存储库已存档。

单片my-mcp服务器已被拆分为特定于域的包:

包装 描述 运输
mcp共享 共享环境加载程序、身份验证助手、错误模式 库
mcp核心 文件、Git、搜索、命令、文档 Stdio
mcp本地 Excel、PDF、邮件、图像、DXF、Maker、媒体、知识 Stdio
mcp服务 Coolify、Vaultwarden、Grocy、BookStack、OpenRouter、OpenProject、Firefly、Gelato HTTP(通过Coolify部署)

推理: 一个拥有23个以上工具模块的MCP服务器将每个工具注入500½1000个令牌到每个提示中。按域拆分可以减轻上下文负担,允许每台服务器启用/禁用,并允许通过Cloudflare隧道在机器之间共享HTTP服务。

迁移: 网关配置在openclaw.jsonómcp核心中更新,mcp本地通过NSSM作为stdio运行。mcp服务正在等待Coolify部署。