MCP服务器目录

MCPSvr是一个轻量级的MCP服务器目录,帮助开发者浏览可用服务器,理解每个服务器的配置,并通过拉取请求贡献新条目。

  • by nanbingxyz
  • TypeScript
  • 本地部署
  • 314 星标
  • 更新于
在 GitHub 查看 nanbingxyz/mcpsvr

使用说明

MCPSvr

一个社区驱动的目录,用于发现、查看和贡献MCP服务器。

中文说明

MCPSvr是用于模型上下文协议服务器的轻量级web目录。它帮助开发人员浏览可用服务器,了解每个服务器的配置方式,并通过拉取请求贡献新条目。

该存储库以精心策划的 public/servers.json 注册表,因此MCP客户端,如 5ire 可以直接安装和运行支持的服务器。

https://github.com/user-attachments/assets/3d1ec8db-2041-4f2d-b72c-eb8ae17ab31c

目录

为什么选择MCPSvr

MCP服务器正在快速增长,但良好的发现仍然是分散的。MCPSvr为生态系统提供了一个简单的共享注册表,其中包含足够的元数据,供人类评估工具和客户自动化设置。

你能做什么

  • 从单个可浏览目录中发现MCP服务器
  • 查看运行时命令、参数、环境变量和主页链接
  • 通过拉取请求贡献新服务器或改进现有元数据
  • 在支持直接安装的MCP客户端中重用注册表

项目结构

.
├── app/                # Next.js app router pages
├── components/         # Reusable UI components
├── lib/                # Utility helpers
├── public/
│   ├── logo.png
│   └── servers.json    # Central MCP server registry
└── README_cn.md        # Chinese README

在本地运行

先决条件

  • Node.js 18+
  • npm(或与兼容的其他包管理器 package-lock.json)

安装

npm install

启动开发服务器

npm run dev

然后打开 http://localhost:3000.

为生产而建

npm run build
npm run start

如何添加服务器

所有注册的MCP服务器都维护在 public/servers.json.要提供新条目:

  1. 分叉存储库
  2. 在中添加或更新服务器对象 public/servers.json
  3. 保持钥匙有序
  4. 打开带有项目主页或文档链接的拉取请求

服务器架构

{
  "name": "Server Identifier",
  "key": "Unique alphanumeric identifier",
  "description": "Concise implementation overview",
  "command": "Execution environment specifier (for example uvx, npx, python, node)",
  "args": [
    "Required runtime arguments"
  ],
  "env": {
    "ENVIRONMENT_VARIABLE": "Value assignment"
  },
  "homepage": "Official documentation URL"
}

现场指南

  • key 必须是唯一的、字母数字的,并且以字母开头
  • name 是可选的,可回退到 key 当省略时
  • env 和 homepage 是可选的,但强烈推荐
  • 保持描述简短实用,以便客户能够清晰地显示它们

参数占位符

当服务器需要用户提供的输入时,请使用下面的占位符格式:

{{paramName@paramType::paramDescription}}

例子:

{
  "name": "File System Access Control",
  "key": "FileSystem",
  "command": "npx",
  "description": "Enforces directory-level operation restrictions through specified arguments",
  "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "{{dirs@list::directories you are about to access, include trailing slash}}"
  ],
  "homepage": "https://github.com/modelcontextprotocol/servers"
}

支持的占位符类型包括 string, list,以及 number.

贡献说明

  • 更喜欢准确的元数据而不是营销副本
  • 提交前仔细检查命令参数
  • 尽可能包含主页或文档链接
  • 如果将来添加新字段,请保持架构与下游客户端向后兼容