MCP服务器注册表

一个动态、社区驱动的远程MCP服务器注册表,提供服务器发现、列表和提交功能,支持API访问和过滤。

  • by portal-labs-infrastructure
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 portal-labs-infrastructure/remote-mcp-servers

使用说明

远程MCP服务器

远程模型上下文协议(MCP)服务器的动态、社区驱动的注册表。此web应用程序允许用户发现、列出和提交MCP服务器。

现场: https://remote-mcp-servers.com

目的

模型上下文协议(MCP)使应用程序能够与AI模型安全地共享上下文信息。随着支持MCP的服务生态系统的发展,该注册表旨在:

  • 提供一个集中的、可发现的、最新的MCP服务器列表。
  • 通过用户友好的界面,使社区能够贡献和维护服务器列表。
  • 提供一个动态API,用于以编程方式访问服务器信息。

特性

  • 动态服务器列表: 显示从实时数据库获取的MCP服务器。
  • 用户帐户和提交: 用户可以注册、登录并提交自己的MCP服务器以纳入注册表(等待审核)。
  • 服务器管理仪表板: 登录的用户可以查看和管理他们提交的服务器。
  • 过滤和分页API: 公共API终结点(/api/servers)允许获取服务器数据,支持按各种条件(类别、名称/描述查询、官方状态、身份验证类型)和分页进行过滤。
  • 服务器详细信息: 显示名称、描述、类别、维护者、MCP URL、身份验证类型和其他相关元数据。

MCP服务器API

主要终点

获取 /api/servers

返回已批准的MCP服务器的分页和可筛选列表。

示例用法

  • 获取默认列表(第1页,10个项目):
    /api/servers
  • 获取包含5个项目的第2页:
    /api/servers?page=2&limit=5
  • 按类别“AI Agent”筛选:
    /api/servers?categories=AI%20Agent
  • 按多个类别筛选:
    /api/servers?categories=AI%20Agent,Utility
  • 在名称或描述中搜索“MyServer”:
    /api/servers?q=MyServer
  • 按官方状态筛选:
    /api/servers?isOfficial=true
  • 按身份验证类型筛选:
    /api/servers?authTypes=OAuth
  • 按多种身份验证类型筛选:
    /api/servers?authTypes=OAuth,APIKey
  • 组合过滤器:
    /api/servers?categories=Utility&q=secure&limit=15&isOfficial=true

支持的查询参数

  • page (number,默认值:1):分页的页码。
  • limit (数字,默认值:10,最大值:100):每页的项目数。
  • q (string):搜索查询(匹配服务器名称和描述,不区分大小写)。
  • categories (字符串,逗号分隔):按一个或多个服务器类别筛选。
  • authTypes (字符串,逗号分隔):按一种或多种身份验证类型(例如“OAuth”、“APIKey”、“None”)进行筛选。
  • dynamicClientRegistration (布尔值: true 或 false):按支持动态客户端注册进行筛选。
  • isOfficial (布尔值: true 或 false):按官方服务器状态筛选。

注:

  • 用于多值过滤器(categories, authTypes),提供逗号分隔的列表(例如。, categories=AI,Utility).

响应格式

{
  "data": [
    /* array of server objects */
  ],
  "pagination": {
    "currentPage": 1,
    "itemsPerPage": 10,
    "totalItems": 42,
    "totalPages": 5,
    "hasNextPage": true,
    "hasPreviousPage": false
  }
}

获取所有类别

获取 /api/servers/categories

返回注册表中所有唯一类别的排序数组。

示例响应:

{ "categories": ["AI Agent", "Utility", "Productivity"] }

获取所有身份验证类型

获取 /api/servers/auth-types

返回注册表中所有唯一身份验证类型的排序数组。

示例响应:

{ "authTypes": ["OAuth", "APIKey", "None"] }

总结

使用 /api/servers 用于分页、可过滤的服务器列表。

使用 /api/servers/categories 和 /api/servers/auth-types 为动态滤波器UI供电。

所有端点都返回JSON。

技术栈

入门指南

先决条件

安装和设置

  1. 克隆存储库:

    git clone https://github.com/portal-labs-infrastructure/remote-mcp-servers
    cd remote-mcp-servers
    
  2. 安装依赖项:

    npm install
    # or
    yarn install
    
  3. 设置Supabase环境变量:

    • 注册一个免费的Supabase帐户 网站 supabase.com 并创建一个新项目。
    • 在您的Suabase项目面板中,转到“项目设置”>“API”。
    • 你需要你的 项目Url 和那个 anon 公共API密钥.
    • 创建一个 .env.local 克隆项目根目录中的文件。
    • 将您的Supabase凭据添加到 .env.local:
      NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_PROJECT_URL
      NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_PUBLIC_KEY
      # For server-side actions that might need elevated privileges (like admin tasks, not typically user submissions if RLS is set up correctly)
      # SUPABASE_SERVICE_ROLE_KEY=YOUR_SUPABASE_SERVICE_ROLE_KEY
      
    • 数据库架构: 您需要设置 discoverable_mcp_servers Supabase数据库中的表。 在中使用csv seed/output.csv 在Supabase仪表板中创建表格并用初始数据填充。
    • 运行SQL脚本: 将created_at和状态列添加到 discoverable_mcp_servers 桌子。您可以在Supabase SQL编辑器中运行以下SQL:
        UPDATE public.discoverable_mcp_servers
        SET created_at = NOW()
        WHERE created_at IS NULL;
      
        UPDATE public.discoverable_mcp_servers
        SET status = 'approved'
        WHERE status IS NULL OR status != 'approved';
      

本地运行

  1. 启动开发服务器:

    npm run dev
    # or
    yarn dev
    

    该应用程序通常可在 http://localhost:3000.

如何做出贡献

我们鼓励为扩大登记册做出贡献!

  1. 注册/登录:
    • 访问实时网站并创建帐户或登录(如果您已经有帐户)。
  2. 提交您的服务器:
    • 导航到您的仪表板或“添加新服务器”页面。
    • 在表格中填写您的MCP服务器的详细信息。
  3. 审核流程:
    • 提交的服务器通常会进入“待审核”状态。
    • 管理员将在批准公开上市之前审查提交的内容的准确性和适当性。

对于代码贡献(bug修复、新功能):

  1. 分叉存储库。
  2. 为您的功能或修复创建新分支。
  3. 进行更改。
  4. 提交你的更改并推动你的叉子。
  5. 提交拉取请求 到 main 原始存储库的分支,清楚地描述您的更改。

未来增强功能(想法)

  • 用于查看和管理服务器提交的管理面板。
  • 用户配置文件和编辑提交服务器的能力。
  • 服务器提交状态更改的通知。
  • 前端的高级搜索和排序选项。
  • MCP服务器将服务器注册表作为MCP服务器本身公开。
  • Python客户端向LLM公开服务器注册表发现。

许可证

该项目根据MIT许可证获得许可。请参阅 LICENSE 文件以获取详细信息。