Token导航 LogoToken导航TokenDH.com
My MCP Server Typescript HTTP logo
开发工具未说明官方级别未说明来源级核验

My MCP Server Typescript HTTP

MCP Server

一个提供多种开发工具和API集成的MCP服务器,适用于VS Code环境中的各种应用开发。

工具数

59

提示词数

0

GitHub Stars

0

资源数

0
开发工具文档处理TypeScriptVS CodeAPI集成VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Deejpotter

提供方

Deejpotter

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

我的MCP服务器

模型上下文协议(MCP)服务器,为VS代码中的各种应用程序提供开发工具和API集成。

📚 BookStack上的完整文档

⚠️ 重要提示:所有文档必须在BookStack中创建,而不是作为.md文件。看 文档工作流程 作为指导方针。

全面的文件包括:

  • 开发指南
  • 项目路线图和跟踪
  • 完整的工具参考
  • 建筑细部
  • 开发指南
  • 食谱管理(11个有营养数据的食谱)
  • Grocy集成指南

访问 MCP服务器簿 在BookStack上。

关键文档页面

在BookStack中查找的位置(项目策略)

此项目的所有文档必须保存在BookStack中。不添加或更新本地 .md 存储库中的文件——创建或编辑相应的BookStack页面。为便于快速参考,关键位置如下:

  • 货架: Development, Personal, Projects (用这些来整理书籍)
  • 项目书:MCP服务器--\<>
  • 重要页面:

- Grocy数据结构参考--\(第82页) - Grocy API集成-\<>(第id:78页) - 文档工作流程(BookStack优先)--\<>(第84页) - Woolworths收据进口(概述)--\<>(第85页)

处理导入时,请务必先检查这些BookStack页面。如果您需要为导入运行创建一个新页面(例如,每次收据摘要),请在项目簿或 Woolworths Receipt Imports (2025-11-09) 预订并链接回项目手册。

快速开始

先决条件

  • 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 -运行测试套件

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集成的项目根目录中的文件:

# Google Search (via SerpAPI) - Free tier: 100 searches/month
SERPAPI_API_KEY=your_serpapi_key_here

# Context7 - Optional for enhanced documentation
CONTEXT7_API_KEY=your_context7_key_here

# BookStack - Required for BookStack tools
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
CLICKUP_API_TOKEN=your_clickup_token_here

# Grocy - Required for Grocy tools
GROCY_BASE_URL=https://your-grocy-instance.com
GROCY_API_KEY=your_grocy_api_key_here

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

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

许可证

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

可用工具

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

文件操作

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

- 安全性:阻止路径遍历,验证工作目录中的路径 - 默认最大大小:1MB(可配置)

  • write_file -通过自动目录创建将内容写入文件

- 安全性:路径验证,防止写入禁止的目录 - 自动创建父目录

  • 列表文件 -列出支持glob模式的文件

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

网页搜索

  • 谷歌搜索 -使用SerpAPI搜索谷歌

- 返回结构化结果:标题、URL、代码段、位置 - 需要 SERPAPI_API_KEY 环境变量(免费层:每月100次搜索) - 支持特定位置的结果

  • duckduckgo_search -在DuckDuckGo中搜索网页结果

- 无需API密钥-免费且无限制 - 返回包含标题、URL和片段的真实网络搜索结果 - 以隐私为中心的搜索选项,无需跟踪

文档查找

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

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

  • get_文档 -从Context7获取全面的文档

- 获取最新的特定于版本的文档 - 针对重点文档的可选主题过滤 - 文档长度的可配置令牌限制

  • 搜索文档 -在Context7中跨多个库搜索

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

BookStack集成

  • 书架_搜索 -在BookStack文档中搜索

- 搜索书籍、页面、章节和书架 - 支持高级搜索语法(过滤器、精确匹配、标签) - 返回预览和元数据 - 需要 BOOKSTACK_URL, BOOKSTACK_TOKEN_ID, BOOKSTACK_TOKEN_SECRET

  • 书架 -获取书架详细信息和书籍

- 检索包括所有书籍在内的书架信息 - 按显示顺序查看图书列表 - 包括元数据和层次结构

  • 书架_get_page -检索整页内容

- 获取HTML和Markdown格式的页面内容 - 包括所有元数据和层次结构信息

  • 书架_get_book -获取书籍结构

- 检索图书详细信息和目录 - 以结构化格式查看所有章节和页面

  • 书架_创意_书架 -创建新货架

- 创建顶级书架以组织多本书 - 在书架创建过程中添加书籍(可选) - 支持描述和标签

  • 书架_创意_书籍 -创建新书

- 创建包含名称、描述和标签的顶级书籍 - 返回书籍ID和URL以添加章节/页面 - 支持为组织添加标签

  • 书架_创意_触觉 -在书籍中创建章节

- 将页面组织成逻辑章节 - 需要父book_id - 支持描述和标签

  • 书架_创意_页面 -创建包含内容的页面

- 在书籍或章节中创建页面 - 支持HTML和Markdown内容 - 自动将base64图像提取到图库 - 需要book_id或chapter_id

  • 书架_更新_书架 -更新书架细节和书籍

- 修改书架名称、描述和书籍分配 - 通过提供新书阵列重新订购书籍 - 支持部分更新

  • 书架更新_书籍 -更新书籍详细信息

- 修改书籍名称、描述和标签 - 支持部分更新(仅提供要更改的字段)

  • 书架更新页面 -更新页面内容和元数据

- 更新页面名称、HTML/Markdown内容和标签 - 在书籍或章节之间移动页面 - 支持部分更新

  • 书架_书架 -删除工具架

- 警告:永久删除机框(无法撤消) - 书架上的书被保存了下来 - 需要shelf_id

  • bookback_delete_book -删除一本书

- 警告:永久删除该书及其所有章节和页面(无法撤消) - 需要book_id

  • 书架_书籍_章节 -删除章节

- 警告:永久删除章节及其所有页面(无法撤消) - 需要chapter_id

  • bookback_delete_page -删除页面

- 警告:永久删除页面(无法撤消) - 需要page_id

ClickUp集成

  • 点击获取任务 -检索任务详细信息

- 获取完整的任务信息,包括状态、优先级、分配对象 - 查看标签、日期、描述和自定义字段 - 需要 CLICKUP_API_TOKEN

  • clickup_create_task -创建新任务

- 在任何列表中创建具有名称、描述和状态的任务 - 设置优先级、截止日期、受让人和标签 - 返回任务ID和URL

  • clickup_update_task -更新现有任务

- 修改任务属性(名称、描述、状态、优先级) - 添加或删除受让人 - 更新截止日期和其他字段

Grocy集成

厨房和家庭库存管理,包括智能库存跟踪、购物清单和食谱。

库存管理:

  • grocy_stock_getcurrent -获取完整的库存概览,包括数量和最佳食用日期
  • grocy_stock_get-product -获取详细的产品信息、定价和历史记录
  • 杂货店产品 -将产品添加到库存中(使用日期和价格进行购买跟踪)
  • 杂货_库存_消费品_产品 -从库存中删除产品(使用FIFO进行消耗跟踪)
  • grocy_stock_getvolatile -获取即将过期、过期、过期或低于最低库存的产品
  • 杂货店_商品_条形码 -按条形码查找产品

购物清单:

  • 杂货店_购物清单_add_产品 -将产品添加到购物清单
  • 杂货店_购物清单_搬家_产品 -从购物清单中删除产品
  • grocy_shoppinglist_add_missing -自动添加低于最低库存的所有产品
  • 杂货店购物清单 -清除购物清单(所有项目或仅完成)

产品管理:

  • grocy_product_create -在Grocy中创建新产品(添加到食谱之前需要)
  • grocy_location_list -列出所有存储位置(用于产品创建)
  • grocy_数量_单位列表 -列出所有数量单位(件、克、千克、升、毫升等)

食谱和膳食计划:

  • grocy_recipe_create -使用名称、描述和服务信息创建新配方
  • grocy_recipe_add_ingregation -使用数量和产品ID将配料添加到配方中
  • grocy_recipe_get_满足 -检查食谱的配料是否有库存
  • grocy_recipe_consume -消耗库存中的所有配方成分
  • grocy_recipe_add_missing_to_shoppinglist -将缺少的食谱配料添加到购物清单中
  • grocy_mal_plan_add -将食谱添加到特定日期的膳食计划日历中
  • grocy_mal_plan_get -检索日期范围内的膳食计划(每周计划概述)

任务:

  • grocy_tasks_get_pending -获取所有未完成的任务
  • grocy_task_完成 -将任务标记为已完成

系统:

  • grocy_system_info -获取Grocy版本和系统信息

需要 GROCY_BASE_URLGROCY_API_KEY 环境变量。

澳大利亚杂货价格比较

搜索并比较澳大利亚Woolworths和Coles超市的价格。

  • 伍尔沃斯_搜索_产品 -搜索Woolworths产品并获取当前价格

- 公共API(无需身份验证) - 返回产品名称、价格、单位(kg、g、L、ml、每个、包装) - 包括包装尺寸和单价信息 - 使用可选参数限制结果

  • coles_search_产品 -搜索Coles产品并获取当前价格

- 返回产品名称、价格、单位和包装尺寸 - 支持特定商店的搜索(默认:store 0584) - 需要 COLES_API_KEY 环境变量 - 使用可选参数限制结果

  • 杂货店_比较_价格 -比较两家商店的价格

- 同时在Woolworths和Coles搜索产品 - 显示每家商店的最佳匹配价格 - 计算哪个商店最便宜 - 显示储蓄金额 - 非常适合做出明智的购物决策

示例用法:

"Search for ground beef at Woolworths"
"Check Coles prices for spaghetti"
"Compare tomato sauce prices at both stores"
"Find the cheapest option for olive oil"

优点:

  • 澳大利亚两家主要超市的实时定价
  • 单价比较($/kg、$/100g等)
  • 在最便宜的商店购物省钱
  • Grocy购物清单集成就绪(即将推出)

需要 COLES_API_KEY 环境变量。Woolworths API是公开的,不需要密钥。

命令执行

  • 运行命令 -执行带有安全验证的shell命令

- 只允许执行列表(git、ls、pwd、echo、cat、grep、find、npm、node等) - 超时保护(默认30秒) - 工作目录验证

  • 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 - 支持目录的批处理 - 质量控制和文件夹结构保存 - 非常适合优化web/BookStack的图像

  • image_resize -使用智能策略调整图像大小

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

  • 图像优化 -优化图像以减小文件大小

- 特定格式压缩(mozjpeg、调色板缩减) - 通常可节省40-70%的空间 - 元数据保存选项 - 详细统计报告

可用资源

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

可用提示

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

  • 代码查看指南 --一步一步的代码审查工作流程,涵盖可读性、安全性、性能、测试和可操作的建议。
  • commit_message_composer --按照常规提交编写有意义的提交消息;与git工具集成以分析差异。
  • 图书馆检索工作流程 --使用Context7和网络搜索来评估适合性和替代方案的系统性图书馆/框架研究工作流程。
  • 错误_调查_指南 --结构化调试方法:复制、收集数据、形成假设、测试、修复和记录。
  • 功能_实现_计划 --将功能分解为需求、架构、文件更改、测试、推出和成功指标。
  • 搜索_评分_指南 --将用户的粗略搜索意图转化为优化的查询;分析意图,推荐最佳工具,并提供现成的搜索策略。

安全功能

此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"
      ],
      "env": {}
    }
  }
}

优点:

  • 更快的启动速度和更低的内存使用率
  • 对于长时间运行的后台进程更稳定
  • 标准生产Node.js设置

发展模式

最适合积极发展。通过热重载直接运行TypeScript。

要求: 只需要 npm install (无构建步骤)。

{
  "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集成的文件:

# Google Search (via SerpAPI) - Required for google_search tool
# Get your key from: https://serpapi.com/manage-api-key
# Free tier: 100 searches/month
SERPAPI_API_KEY=your_serpapi_key_here

# Context7 - Optional for enhanced documentation lookup
# Get your key from: https://context7.com
CONTEXT7_API_KEY=your_context7_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

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

项目结构

my-mcp-server/
├── src/
│   ├── server.ts              # Main MCP server entry point
│   ├── tools/                 # MCP tool implementations
│   │   ├── fileTools.ts       # File read/write/list operations
│   │   ├── systemTools.ts     # System monitoring and stats
│   │   ├── commandTools.ts    # Command execution and security
│   │   └── gitTools.ts        # Git command operations
│   ├── resources/             # MCP resources (read-only data)
│   │   ├── systemResources.ts # System and workspace information
│   │   └── gitResources.ts    # Git repository status
│   └── 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许可证-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

开发工具文档处理TypeScriptVS CodeAPI集成本地部署VSCode扩展文档管理自动化工具

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

59

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP