使用说明
我的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编译为JavaScriptnpm 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中提取结构化数据
- 使用OpenAI GPT-4o Vision将文本解析为JSON
- 返回项目、价格、小计/总计、店铺和日期
- 需要
OPENAI_API_KEY - 参考: https://platform.openai.com/docs/guides/vision
存档: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
发展
添加新工具
工具按类别组织。要添加新工具,请执行以下操作:
- 在中选择适当的文件
src/tools/或创建新类别 - 使用
server.registerTool()Zod模式 - 使用来自的实用程序实施安全验证
src/utils/security.ts - 注册于
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协议)
故障排除
服务器无法启动
- 检查Node.js版本:
node --version(必须为18+) - 重建:
npm run build - 检查错误:
npm run typecheck
工具未出现在VS代码中
- 验证MCP设置文件的位置和语法
- 完全重新启动VS代码
- 检查服务器是否已构建:
npm run build - 检查dist/server.js是否存在
安全验证错误
- 跑
security_status查看允许命令的工具 - 确保文件路径在工作目录中
- 检查命令是否在allowlist中(git、ls、pwd等)
贡献
这是一个个人项目,但欢迎提出建议和改进。贡献时:
- 遵循现有的代码模式和结构
- 添加全面的错误处理
- 包括对所有用户输入的安全验证
- 更新任何新功能的文档
- 提交前进行彻底测试
许可证
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部署。