Token导航 LogoToken导航TokenDH.com
Payload CMS MCP Server logo
运维云端stdio官方级别未说明来源级核验

Payload CMS MCP Server

MCP Server

Payload CMS MCP Server是一个轻量级的模型上下文协议服务器,提供创建、搜索和更新Payload CMS集合中对象的安全认证工具,支持自动JWT令牌管理和本地化功能。

工具数

3

提示词数

0

GitHub Stars

9

资源数

0
PythonCursor数据管理CursorVS Code

安装说明

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

作者 / 组织

ohnicholas93

提供方

ohnicholas93

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

有效载荷CMS MCP服务器

概述

这是一个模型上下文协议(MCP)服务器,它使人工智能助手和工具能够直接与您的Payload CMS实例进行交互。它提供了一套安全、经过身份验证的工具,用于通过REST API执行创建、搜索和更新您Payload集合中对象等常见操作。

服务器自动处理身份验证,包括在需要时进行JWT令牌管理和基于浏览器的登录流程。它设计为轻量级、可配置,并且易于集成到开发工作流中(例如,与VS Code和Kilocode集成)。

特点/功能

  • 创建对象向任意集合添加新文档,支持单个对象或批量添加。
  • 搜索对象使用过滤器查询集合(类似MongoDB的方式) where 条款)、分页、排序、本地化以及相关字段的填充。
  • 更新对象通过ID修改现有文档,支持部分更新。
  • 认证处理自动刷新JWT令牌、存储凭据以及交互式浏览器登录,实现无缝认证。
  • 本地化支持与Payload的i18n(国际化)功能配合使用;在工具调用中指定语言环境。
  • 错误处理全面处理验证、认证、API及连接问题的异常。
  • 可配置的通过环境变量覆盖有效载荷主机、超时设置、SSL 配置和日志记录。

工具模式(或工具架构)

以下列出了可用的工具及其输入模式(JSON Schema 格式)。这些定义了每个工具调用的参数。

创建对象

描述在指定的集合中创建一个或多个新对象。

{
  "type": "object",
  "properties": {
    "collection_name": {
      "type": "string",
      "description": "Name of the collection to create object in"
    },
    "data": {
      "oneOf": [
        {
          "type": "object",
          "description": "Object data to create"
        },
        {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": "Array of objects to create"
        }
      ],
      "description": "Object data or array of objects to create"
    },
    "locale": {
      "type": "string",
      "description": "Locale code for the operation (e.g., 'en', 'es'). If not provided and localization is enabled, only the ONE default locale will be used"
    }
  },
  "required": ["collection_name", "data"]
}

搜索对象

描述在集合中搜索对象。

{
  "type": "object",
  "properties": {
    "collection_name": {
      "type": "string",
      "description": "Name of the collection to search in"
    },
    "query": {
      "type": "object",
      "description": "Search query parameters (MongoDB-like where clause)"
    },
    "limit": {
      "type": "integer",
      "description": "Maximum number of results to return"
    },
    "page": {
      "type": "integer",
      "description": "Page number for pagination"
    },
    "sort": {
      "type": "string",
      "description": "Sort field and direction"
    },
    "locale": {
      "type": "string",
      "description": "Locale code for the operation (e.g., 'en', 'es'). If not provided and localization is enabled, only the ONE default locale will be used"
    }
  },
  "required": ["collection_name"]
}

更新对象

描述通过ID更新对象。

{
  "type": "object",
  "properties": {
    "collection_name": {
      "type": "string",
      "description": "Name of the collection containing the object"
    },
    "object_id": {
      "type": "string",
      "description": "ID of the object to update"
    },
    "data": {
      "type": "object",
      "description": "Updated object data"
    },
    "locale": {
      "type": "string",
      "description": "Locale code for the operation (e.g., 'en', 'es'). If not provided and localization is enabled, only the ONE default locale will be used"
    }
  },
  "required": ["collection_name", "object_id", "data"]
}

先决条件

在设置和使用此MCP服务器之前,请确保以下事项:

  1. Python 3.8及以上版本该服务器是用Python构建的,需要3.8或更高版本。
  2. 运行 Payload CMS 实例

- 您的 Payload CMS 必须已启动并运行。 - 默认假设:可访问于 http://localhost:3000/api。 - 当首次调用工具时(例如,从您的MCP客户端发起调用),Payload实例必须已经可访问。 - 如果您的有效载荷托管在其他位置(例如,远程服务器),请通过环境变量配置基础URL(参见配置部分)。

  1. MCP兼容客户端

- 一个像Kilocode这样的MCP客户端,可以在VS Code、Cursor或类似的AI开发工具中使用,这些工具支持MCP服务器。 - 确保您的客户端能够执行外部命令(例如,运行服务器二进制文件)。

除了拥有一个正常运行的实例外,无需进行额外的数据库设置或有效载荷(Payload)配置。服务器不会为您启动或管理有效载荷——请单独处理这部分。

安装

  1. 克隆仓库
   git clone https://github.com/your-org/payload-mcp.git
   cd payload-mcp
  1. 安装依赖项

安装所需的Python包。这包括MCP协议支持、HTTP客户端以及配置库。

   pip install -r requirements.txt

或者,安装完整包(建议用于全局使用):

   pip install .

这使得 payload-mcp-server 在您的 PATH 中可用的命令。

  1. 设置环境

复制示例环境文件并进行自定义:

   cp .env.example .env

编辑 .env 按需添加(见下文配置)。添加 .env 到你的 .gitignore 如果尚未设置(默认情况下是已设置的)。

配置

服务器使用 Pydantic 来确保从环境变量加载的配置类型安全。大多数用户可以依赖默认设置,但也可以通过(某种方式)进行自定义 .env 对于非本地设置。

关键环境变量

来自 .env.example

  • 有效载荷内容管理系统(CMS)连接

- PAYLOAD_MCP_PAYLOAD__BASE_URL基础API URL(默认: http://localhost:3000/api)。 为远程主机设置覆盖,例如。, https://your-site.com/api. - PAYLOAD_MCP_PAYLOAD__AUTH_TOKEN可选的JWT令牌,用于预认证访问。如果省略,则在首次需要时将使用浏览器登录。 - PAYLOAD_MCP_PAYLOAD__TIMEOUT请求超时时间(以秒为单位)(默认:30)。 - PAYLOAD_MCP_PAYLOAD__VERIFY_SSL启用SSL验证(默认:本地开发时为false;设置为 true (用于HTTPS生产环境)。 - PAYLOAD_MCP_PAYLOAD__BYPASS_PROXY为本地主机设置旁路代理(默认:true)。

  • 服务器设置

- PAYLOAD_MCP_LOG_LEVEL日志详细程度(默认: INFO; 选项: DEBUGWARNINGERRORCRITICAL)。

示例 .env 用于远程有效载荷

PAYLOAD_MCP_PAYLOAD__BASE_URL=https://myapp.com/api
PAYLOAD_MCP_PAYLOAD__AUTH_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
PAYLOAD_MCP_PAYLOAD__VERIFY_SSL=true
PAYLOAD_MCP_LOG_LEVEL=DEBUG

配置更改后重新加载服务器。

运行服务器

  1. 启动MCP服务器

安装后,请运行:

   payload-mcp-server

或者直接从源头获取:

   python -m payload_mcp.server

- 服务器初始化,加载配置,并测试基本连接性(记录任何问题但继续运行)。 - 它在标准输入(stdio)上监听MCP协议通信。 - 日志将显示连接状态以及任何身份验证提示。

  1. 背景/制作

- 对于持续运行的情况,使用诸如……之类的工具 nohupscreen或者 systemd。 - 示例: nohup payload-mcp-server > server.log 2>&1 &

服务器确实 不是 要求在启动时运行Payload——仅在调用工具时。然而,请确保在使用工具之前,Payload是可访问的。

与MCP客户端集成

  1. 添加到客户端 (例如,使用Kilocode的VS Code):

- 打开你的MCP客户端设置(例如,在VS Code中:按Ctrl+Shift+P > 选择“Kilocode: 编辑MCP配置”)。 - 在您的MCP设置文件中添加一个新的服务器配置(通常 mcp.json 或类似情况)。 - 使用以下示例配置,并替换 `` 以及此项目根目录的实际路径:

   {
     "mcpServers": {
       "payload-mcp": {
         "command": "python",
         "args": ["-m", "payload_mcp.server"],
         "cwd": ""
       }
     }
   }

- 保存设置并重启/重新加载您的MCP客户端。 - 当需要时,客户端会自动启动服务器并列出可用的工具(例如。, create_objectsearch_objectsupdate_object)。

  1. 验证集成

- 在您的MCP客户端中,查询可用工具。您应该会看到列出的Payload CMS工具。 - 测试一个简单的工具调用,比如搜索一个集合,以确保身份验证和连接功能正常工作。 - 如果触发了浏览器身份验证,请按照提示登录到您的Payload实例。

使用示例

一旦集成,您就可以在AI助手提示中使用这些工具。示例:

  • 创建一个对象
  Use the create_object tool to add a new user to the 'users' collection with name: "John Doe" and email: "john@example.com".
  • 搜索对象
  Search the 'posts' collection for items where title contains "Payload" and limit to 5 results.
  • 更新一个对象
  Update the user with ID "123" in the 'users' collection to set email to "john@newemail.com".

这些工具支持高级参数,如区域设置、人口统计以及复杂查询——有关详细信息,请参阅上面的工具模式。

故障排除

  • 连接错误确保有效载荷(Payload)正在运行,并且可以通过配置的URL访问。检查日志以获取详细信息。
  • 认证问题提供一个有效的JWT令牌 .env 或者允许浏览器登录。请验证您的Payload用户是否拥有必要的权限。
  • 未找到工具添加服务器配置后,重启MCP客户端。
  • 日志设定/套装 PAYLOAD_MCP_LOG_LEVEL=DEBUG 用于详细输出。
  • Windows/PowerShell命令使用标准语法;使用 python.exe 如果 python 含义模糊。

做出贡献

  • 克隆该仓库并创建一个拉取请求。
  • 如果添加新功能,请安装开发依赖项。
  • 遵循PEP 8风格,并在适用的地方添加测试。

许可证

MIT 许可证。详见 许可证 如需详情,请添加(如需)。

如需支持,请查阅 Payload CMS 的文档或提交一个问题。

目录标签

目录标签

PythonCursor数据管理CMS工具本地部署RESTAPIJWT认证本地化支持

支持客户端

CursorVS Code

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP