通用mcp工具包
 ](https://www.npmjs.com/package/universal-mcp-toolkit) 
用于生产就绪的模型上下文协议服务器的规范开源monorepo。
如果你曾经想在一个地方找到适用于GitHub、Slack、Notion、数据库、云平台、研究资源和本地文件的优秀MCP服务器,而不需要将十几个未完成的存储库拼接在一起,那么这就是它。
⚡ 快速开始
最快的出行方式:
# See all 28 available servers
npx universal-mcp-toolkit list
# Interactive setup — pick your servers, choose transport, write config
npx universal-mcp-toolkit install
# Generate a Claude Desktop config snippet
npx universal-mcp-toolkit config --server github slack filesystem --target claude-desktop
# Run a server locally
npx universal-mcp-toolkit run github --transport stdio
# Check your environment before debugging
npx universal-mcp-toolkit doctor github有关安装指南演练,请打开 docs/getting-started.html.
或全局安装:
npm install -g universal-mcp-toolkit
umt list为什么存在
MCP生态系统正在爆炸式增长,但开发人员的体验仍然支离破碎。
- 大多数repo解决了一个狭窄的集成问题。
- 许多服务器只停留在一两个演示质量工具上。
- 传输支持、身份验证处理、文档和打包非常不一致。
- 没有明显的参考实现来显示一个严肃的MCP单回购应该有什么感觉。
universal-mcp-toolkit 用一个固执己见、高质量的Turborepo修复了这个问题:
- 27台专注于生产的MCP服务器
- 一个共享的严格模式TypeScript核心
- 一个经过优化的CLI,用于安装、配置、运行和诊断
- 一致的Zod验证、结构化错误和pino日志记录
- 整个工具包支持Stdio加HTTP+SSE
- 发现友好
.well-known/mcp-server.json服务器卡
是什么让这部电影值得主演
- 现在真正的开发人员实用程序
- Claude Desktop、Cursor和本地工作流程的默认人体工程学
- 一个你可以学习一次并扩展到任何地方的单一架构
- 强大的包卫生功能,包括导出映射、关键字、构建脚本和测试挂钩
- 设计为既是产品又是参考实现的仓库
简短版本
| 类别 | 你得到了什么 |
|---|---|
| 核心运行时 | @universal-mcp-toolkit/core 具有类型化工具注册、环境加载、Zod验证、pino日志记录、stdio和HTTP+SSE运行时引导功能 |
| 统一CLI | universal-mcp-toolkit 和 list, config, install, run,以及 doctor |
| 协作服务器 | GitHub、Notion、Slack、Linear、Jira、Discord、Trello |
| 生产力服务器 | 谷歌日历、谷歌云端硬盘 |
| 媒体和商务服务器 | Spotify、Stripe |
| 数据服务器 | PostgreSQL、MongoDB、Redis、Supabase、Airtable |
| 平台服务器 | Vercel、Cloudflare Workers、Docker、npm Registry |
| 研究和本地服务器 | 黑客新闻、arXiv、文件系统 |
| 内存服务器 | MemOS本地持久内存 |
实验配套套餐 @contextcore/* 目前的范围包括用于单独发布线和测试通道的Notion、Slack、Playwright和OpenAI变体。
比较
| 选项 | 广度 | DX质量 | 共享架构 | 主机配置帮助 | 文档润色 |
|---|---|---|---|---|---|
universal-mcp-toolkit | 一个monorepo中有27台服务器 | 高 | 是 | 是 | 高 |
| 单服务MCP回购 | 窄 | 变化 | 否 | 很少 | 变化 |
| 个人一次性脚本 | 非常窄 | 低 | 否 | 否 | 通常没有 |
支持的服务器
| 服务器 | 焦点 | 主必需环境 |
|---|---|---|
| GitHub | 存储库、拉取请求、工作流、搜索 | GITHUB_TOKEN |
| 注意 | 页面、数据库、结构化文档 | NOTION_TOKEN |
| Slack | 频道、历史、消息 | SLACK_BOT_TOKEN |
| 线性 | 问题分类和规划 | LINEAR_API_KEY |
| Jira | 工单、工作流程转换、事故分流 | JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN |
| 谷歌日历 | 日历、活动、会议工作流 | GOOGLE_CALENDAR_ACCESS_TOKEN |
| Google Drive | 搜索、元数据、导出 | GOOGLE_DRIVE_ACCESS_TOKEN |
| Spotify | 播放、搜索、播放列表 | SPOTIFY_ACCESS_TOKEN |
| Stripe | 客户、发票、订阅 | STRIPE_SECRET_KEY |
| PostgreSQL | 表、模式检查、保护查询 | POSTGRESQL_URL |
| MongoDB | 集合、文档读取、聚合 | MONGODB_URI |
| Redis | 密钥、TTL、缓存诊断 | REDIS_URL |
| Supabase | 表、存储、项目访问 | SUPABASE_URL, SUPABASE_KEY |
| Vercel | 项目、部署、环境 | VERCEL_TOKEN |
| Cloudflare Workers | Workers、路由、边缘部署 | CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID |
| Docker | 容器、镜像、守护进程状态 | 无需 |
| npm注册表 | 搜索、元数据、版本、dist标签 | 无需 |
| 黑客新闻 | 热门故事、搜索、帖子 | 无需 |
| arXiv | 论文搜索和阅读列表 | 无需 |
| FileSystem | 安全的本地文件搜索、读取和写入 | FILESYSTEM_ROOTS |
| MemOS | MCP上的本地第一个持久内存 | 不需要 |
| 不和谐 | 行业协会、渠道、消息、成员 | DISCORD_BOT_TOKEN |
| Airtable | 表、记录、CRUD操作 | AIRTABLE_API_KEY, AIRTABLE_BASE_ID |
| Trello | 板、列表、卡片、归档 | TRELLO_API_KEY, TRELLO_TOKEN |
| 剧作家 | 浏览器自动化和网页抓取 | PLAYWRIGHT_BROWSERS_PATH (可选) |
| OpenAI | 聊天完成、嵌入和模型查询 | OPENAI_API_KEY |
一些服务器还公开了可选的调优变量,例如 POSTGRESQL_ALLOW_WRITES, REDIS_ALLOW_WRITES, MONGODB_ALLOW_WRITE_PIPELINES, VERCEL_TEAM_ID,或 FILESYSTEM_MAX_READ_BYTES.根 .env.example 包括最有用的旋钮。
存储库布局
universal-mcp-toolkit/
├─ packages/
│ ├─ core/
│ └─ cli/
├─ docs/
│ ├─ index.html
│ └─ getting-started.html
├─ servers/
│ ├─ github/
│ ├─ notion/
│ ├─ slack/
│ ├─ linear/
│ ├─ jira/
│ ├─ google-calendar/
│ ├─ google-drive/
│ ├─ spotify/
│ ├─ stripe/
│ ├─ postgresql/
│ ├─ mongodb/
│ ├─ redis/
│ ├─ supabase/
│ ├─ vercel/
│ ├─ cloudflare-workers/
│ ├─ docker/
│ ├─ npm-registry/
│ ├─ hackernews/
│ ├─ arxiv/
│ ├─ discord/
│ ├─ airtable/
│ ├─ trello/
│ └─ filesystem/
├─ turbo.json
├─ pnpm-workspace.yaml
└─ README.md快速启动
克隆并安装
git clone https://github.com/Markgatcha/universal-mcp-toolkit.git
cd universal-mcp-toolkit
corepack pnpm install构建工作空间
corepack pnpm build探索可用的内容
corepack pnpm --filter universal-mcp-toolkit exec umt list生成主机配置代码段
corepack pnpm --filter universal-mcp-toolkit exec umt config --server github slack filesystem --target claude-desktop --mode workspace在本地运行服务器
corepack pnpm --filter universal-mcp-toolkit exec umt run github --transport stdio检查您的环境
corepack pnpm --filter universal-mcp-toolkit exec umt doctor githubCLI体验
CLI的设计感觉就像一个真正的产品,而不是一堆脚本。
umt list
查看每个可用的服务器,按类别分组,并包含所需的环境变量和描述。
umt config
为Claude Desktop、Cursor或任何兼容MCP的主机配置流生成可粘贴的JSON。
umt install
运行交互式设置流程,选择服务器,选择 npx 在工作区模式下,将结果写入磁盘,并保存配置文件以供以后参考。
umt run
使用stdio或HTTP+SSE传输在本地启动任何构建的工作区服务器。
这 --supervise 标志启用碰撞循环检测和自动重启:
umt run github --transport stdio --supervise如果服务器在60秒内崩溃5次,它将停止重试。日志被写入下的状态目录 logs/.log 并且可以用 umt logs .
umt doctor
在浪费时间调试丢失的令牌之前,请检查构建输出、配置状态和所需的环境变量 dist 文件。
v1.1.0中的新功能+
| 命令 | 它的作用 |
|---|---|
umt status | 显示当前运行的umt服务器进程及其PID |
umt logs | 跟踪特定服务器的日志文件 |
umt test | 对服务器运行实时端到端MCP握手测试 |
umt conformance [server] | 检查注册表配置和存在本地构建输出的实时stdio握手 |
umt search | 按名称、描述和标签搜索可用服务器 |
umt init | 面向新用户的交互式设置向导 |
umt update | 检查npm以获取更新版本的CLI,并可选择安装它 |
umt upgrade | 检查npm以获取单个服务器包的更新版本 |
umt export | 将安装配置文件导出到可移植的JSON文件(不包括机密) |
umt export-config | 以特定客户端格式导出当前服务器配置 |
umt link | 链接本地MemOS/ContextCore SQLite内存数据库 |
umt profile create | 使用交互式向导创建新的命名配置文件 |
umt profile show [name] | 显示配置文件配置详细信息 |
umt profile export | 将命名配置文件导出到JSON文件 |
| `umt profile import | |
| ` | 从JSON文件导入配置文件 |
配置示例
克劳德桌面版
将生成的代码片段粘贴到Claude Desktop配置文件中。在Windows上,通常是:
%APPDATA%\Claude\claude_desktop_config.json在macOS上,使用 ~/Library/Application Support/Claude/claude_desktop_config.json.在Linux上,使用 ~/.config/Claude/claude_desktop_config.json.
下面的JSON示例使用文字占位符,如 ${GITHUB_TOKEN}。在粘贴到主机配置之前,用实际值替换它们。
例子:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@universal-mcp-toolkit/server-github", "--transport", "stdio"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@universal-mcp-toolkit/server-filesystem", "--transport", "stdio"],
"env": {
"FILESYSTEM_ROOTS": "${FILESYSTEM_ROOTS}"
}
}
}
}光标
生成相同的 mcpServers 代码片段并将其放入用于Cursor的MCP配置文件中。CLI保持格式主机友好和一致,因此生成的JSON作为可重用的代码段运行良好:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@universal-mcp-toolkit/server-slack", "--transport", "stdio"],
"env": {
"SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}"
}
},
"linear": {
"command": "npx",
"args": ["-y", "@universal-mcp-toolkit/server-linear", "--transport", "stdio"],
"env": {
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
}
}
}
}输运模型
工具包中的每台服务器都是围绕相同的传输故事设计的:
stdio用于本地子进程集成HTTP+SSE用于远程或浏览器附近的集成- 通过以下方式公开的发现元数据
.well-known/mcp-server.json
共享核心处理运行时引导、日志记录、环境加载和工具注册,因此每个服务器的行为都是一致的。
核心包
@universal-mcp-toolkit/core 如果你正在构建自己的MCP服务器,这是你想要学习的部分。
它包括:
ToolkitServer基类defineTool助手loadEnv()用于严格的配置验证HttpServiceClient用于基于类型化获取的集成createServerCard()用于查找元数据parseRuntimeOptions()和runToolkitServer()用于stdio和HTTP+SSE启动流- 为stderr安全服务器操作配置了pino日志记录
工程标准
- 跨工作区的TypeScript严格模式
- 用于输入和输出验证的Zod模式
- 配置、验证和上游故障的显式结构化错误
- 与导出地图和关键字一致的包清单
- 服务器卡下
.well-known/ - 用于构建、类型检查、测试和清理流的Turborepo编排
发布理念
此仓库是开发人员在询问时指向的参考实现:
- 一个严肃的MCP单回购应该是什么样子的?
- 如何记录和发现服务器包?
- 你如何保持20个集成的一致性,而不会把代码库弄得一团糟?
答案应该是:克隆此仓库,运行CLI,读取核心包,并调整所需的部分。
开发工作流程
corepack pnpm install
corepack pnpm build
corepack pnpm typecheck
corepack pnpm testBun(也支持)
bun install
bun run build
bun run packages/cli/dist/index.js --version当您只想处理一个软件包时,请使用Turbo过滤器:
corepack pnpm --filter @universal-mcp-toolkit/core build
corepack pnpm --filter universal-mcp-toolkit typecheck
corepack pnpm --filter @universal-mcp-toolkit/server-github test如果您只想了解入职流程,请从以下内容开始 docs/getting-started.html.
套餐亮点
packages/core
服务器作者共享运行时原语和严格抽象。
packages/cli
用于列出、配置、安装、运行和诊断整个工具包的操作员控制台。
servers/*
27个可独立发布的MCP服务器包,它们共享相同的操作形状。
路线图方向
monorepo是有意构建的,因此它可以在不失去连贯性的情况下增长。
- 添加更多服务器,而无需每次都发明新的架构
- 随着发现标准的发展,改进服务器卡
- 随着越来越多的MCP客户端标准化其格式,扩展主机配置模板
- 深化跨运输的烟雾和合同测试
社区
请阅读 CODE_OF_CONDUCT.md 在参与问题、拉取请求、审查或讨论之前。该项目旨在保持技术严谨,并欢迎各个经验水平的贡献者。
持久性内存
将通用mcp工具包与 备忘录 用于跨代理会话的持久、基于图的内存。
# Add persistent memory to your MCP agents
pip install memos
npm install @mem-os/sdk
# Generate a ready-to-paste MemOS MCP config
npx universal-mcp-toolkit link memos --db-path ~/.memos/memos.dbMemOS充当 存储层 对于您的MCP堆栈,您的代理生成的每个工具调用、结果和上下文都可以在重启和会话中存储、检索和搜索。MemOS MCP适配器贯穿 npx -y @mem-os/sdk mcp.
| 图层 | 工具 | 角色 |
|---|---|---|
| 传输和工具 | 通用mcp工具包 | mcp协议、服务器注册表、工具路由 |
| 记忆与毅力 | 备忘录 | 跨会话的基于图形的持久内存 |
| LLM推理 | Ollama/任何LLM | 本地模型执行 |
______________________________________________________________________
⭐ 明星历史

______________________________________________________________________
💬 社区使用
构建某物 universal-mcp-toolkit?我们很想知道。
打开A 讨论 告诉我们:
- 你正在建造什么
- 您正在使用哪些服务器
- 您设置的任何集成或工作流
你可能会在这里被介绍。
已知用途
- 克劳德桌面+GitHub+文件系统 --读取存储库并写入磁盘的本地开发助理
- 游标+PostgreSQL+Supabase --数据库感知AI代码完成
- 配对 备忘录 --跨会话的持久代理内存
______________________________________________________________________
📦 展示与讲述
______________________________________________________________________
许可证
麻省理工学院——见 许可证 完整条款。
