MCP包注册表

mcper的官方包注册表,提供多种AI编码客户端的Homebrew风格MCP包管理服务。

  • by sarjann
  • 本地部署
  • 更新于
在 GitHub 查看 sarjann/mcp-registry

使用说明

mcp注册表

官方软件包注册 mcper --用于AI编码客户端的Homebrew风格的MCP包管理器。

可用包

包装 描述 运输
勇敢的搜寻 Brave Search for web和本地搜索 stdio
云耀 Cloudflare Workers、KV、R2、D1等 stdio
上下文7 最新的库文档和代码示例 stdio
凸 官方Converx MCP服务器 stdio
一切 MCP参考服务器(所有功能) stdio
文件系统 本地文件系统访问 stdio
火爬 网络抓取、爬行和内容提取 stdio
GitHub 官方GitHub MCP服务器 http
GitLab GitLab仓库、问题、合并请求、管道 stdio
谷歌地图 地理编码、方向、地点、标高 stdio
线性 问题跟踪和项目管理 stdio
记忆 知识图存储器
概念 通知页面和数据库 stdio
剧作家 使用Playwright实现浏览器自动化 stdio
Postgres PostgreSQL查询和模式检查 stdio
操纵者 使用Puppeteer stdio实现浏览器自动化
哨兵 错误跟踪和性能监控 stdio
顺序思维 动态、反思性解决问题 stdio
松弛 Slack频道、消息和工作流 stdio
条纹 付款、订阅和计费 stdio
苏巴酶 数据库、身份验证、存储和边缘功能 stdio
塔维利 人工智能优化的网络搜索和提取 stdio
暴发户 Redis、Kafka、QStash和Vector数据库 stdio
维尔塞尔 官方Vercel MCP服务器 http

用法

此注册表是默认注册表 official 点击mcper附带的那个。无需设置。

# Search for packages
mcper search memory

# Install a package (auto-detects your AI clients)
mcper install convex

# Install a specific version
mcper install convex@1.31.7

# Install to specific clients only
mcper install convex --target claude,cursor

看 mcper自述文件 用于完整的CLI使用。

注册表结构

index.json                              # Package index with SHA-256 hashes
packages/
  <package-name>/
    <version>/
      manifest.json                     # Full package manifest

有关完整的模式参考,请参阅 注册表格式文档.

熄灯号

A. 轻敲 是任何包含以下内容的git存储库(或本地目录) index.json 在它的根。此存储库是默认存储库 official 点击mcper附带的那个。

# List configured taps
mcper tap list

# Add a third-party tap
mcper tap add community https://github.com/example/mcp-community-registry.git

# Remove a tap
mcper tap remove community

# Install from a specific tap
mcper install community/my-package

直接URL安装

您可以直接从URL或本地文件路径安装清单,而无需点击:

# Install from a URL
mcper install-url https://example.com/manifest.json

# Install from a local file
mcper install-url ./my-server/manifest.json

检测到AI客户端

mcper会自动检测已安装的AI客户端,并将MCP服务器配置写入正确的位置。当前支持的客户端:

客户端 配置路径 服务器密钥
克劳德 ~/.claude.json mcpServers
克劳德桌面 ~/.config/Claude/claude_desktop_config.json mcpServers
法典 ~/.codex/config.json mcpServers
游标 ~/.cursor/mcp.json mcpServers
vscode ~/.vscode/settings.json mcp.servers
双子座 ~/.gemini/settings.json mcpServers
zed ~/.config/zed/settings.json context_servers
开放代码 ~/.opencode/config.json mcpServers

贡献

欢迎投稿!要添加或更新包,请按照以下准则打开拉取请求。

添加新包

  1. 创建目录结构: packages/<name>/<version>/manifest.json
  2. 向添加条目 index.json 使用清单路径和SHA-256哈希
  3. 确保清单通过所有 验证规则

清单要求

每份舱单必须至少包括:

{
  "schema_version": 1,
  "name": "my-package",
  "version": "1.0.0",
  "description": "Short description of what this server does",
  "mcp_servers": {
    "server-name": {
      "transport": "stdio",
      "command": "npx",
      "args": ["-y", "my-package@1.0.0"]
    }
  }
}

在适用的情况下鼓励使用的可选字段:

  • env_required --列出服务器在运行时需要的环境变量(由 mcper doctor)
  • setup_commands -检索API令牌/机密的命令(请参见下文)
  • compatibility --平台限制(见下文)

setup_commands

使用 setup_commands 当包自己的CLI可以向stdout输出机密时。每个键都是一个env变量名称 env_required,每个值都描述了如何获得它:

字段 必填 描述
run yes Argv数组作为子进程执行(无shell)。必须将密钥打印到stdout。
pattern 没有 Regex应用于stdout。如果设置,则使用第一个捕获组作为值。
description no 在命令运行之前向用户显示人类可读的提示。

示例(来自Cloudflare软件包):

"setup_commands": {
  "CLOUDFLARE_API_TOKEN": {
    "run": ["npx", "-y", "wrangler@3", "auth", "token"],
    "description": "Retrieve your Cloudflare API token (run 'npx wrangler login' first to authenticate)"
  }
}

仅添加 setup_commands 当CLI将密钥打印到stdout时。如果用户必须从web仪表板复制密钥,请将其留给 env_required 并记录以下步骤 description 相反。

compatibility

使用 compatibility 要将包限制到特定平台,请执行以下操作:

字段 类型 描述
os string数组 允许的操作系统(linux, darwin, windows)
arch 字符串数组 允许的体系结构(x86_64, aarch64)

例子:

"compatibility": {
  "os": ["linux", "darwin"]
}

生成SHA-256哈希值

这 sha256 领域 index.json 必须与清单文件匹配。通过以下方式生成:

sha256sum packages/<name>/<version>/manifest.json

mcper在每次下载时都会验证SHA-256摘要。如果哈希值在 index.json 与获取的清单不匹配,安装被拒绝。这可以防止篡改,并确保您始终获得经过审查的确切清单。

验证规则

mcper在加载时验证每个清单。如果出现以下情况,您的清单将被拒绝:

  • name 或 version 是空的
  • mcp_servers 是空的
  • 服务器名称为空
  • A. stdio 服务器丢失 command
  • 一 http 服务器丢失 url
  • 运输不是 stdio 或 http
  • A. setup_commands 条目为空 run
  • A. setup_commands 条目有 pattern 它不能编译为有效的正则表达式

出资规则

概述:

  • 每个pull请求一个包——保持更改的重点和可审查性
  • 在命令args中显式地输入Pin版本(例如。, my-package@1.0.0,不仅 my-package)
  • 使用包的官方/规范名称
  • 写一篇清晰、简洁的文章 description

安全:

  • 对于 stdio 服务器,使用知名的包运行器(npx, uvx, go run等)与来自受信任注册表(npm、PyPI、crates.io等)的固定版本
  • 避免使用外部脚本,如 curl https://example.com | sh 在命令或设置中——这些是不透明的、未版本的,除非来自高度可信的来源(例如,官方供应商的CLI安装程序),否则可能会被拒绝
  • setup_commands 必须使用argv数组(不执行shell)。这 run 现场采取 ["binary", "arg1", "arg2"],不是shell字符串
  • 不要在清单中硬编码机密、令牌或凭据。使用 env_required 和 setup_commands 通过mcper的密钥环集成正确处理机密
  • 如果您的软件包需要身份验证,请提供 setup_commands 输入,以便用户可以交互式地获取令牌

质量:

  • 在提交之前,请在本地测试您的清单: mcper install-url ./packages/<name>/<version>/manifest.json
  • 验证服务器是否实际启动并响应MCP请求
  • 对于版本更新,添加一个新的版本目录——不要覆盖现有版本
  • 尽量减少清单——只包括实际需要的字段