WordPress内容管理API演示

一个用于演示WordPress Abilities API和MCP Adapter的插件,提供文章获取、创建、更新和删除等功能,适用于测试和教育目的。

  • by presstwooddesign
  • PHP
  • 本地部署
  • 更新于
在 GitHub 查看 presstwooddesign/my-mcp-server

使用说明

我的MCP服务器(WordPress能力API演示)

我的MCP服务器 是一个简单的演示插件,用于探索WordPress API能力 和那个 MCP适配器.

此插件注册了一个自定义服务器,该服务器提供了一组与WordPress内容交互的功能,例如检索帖子、创建帖子、更新帖子和删除帖子。

基本代码和指令来自 这个伟大的指南 来自Mark Westguard


重要通知(请先阅读)

此插件旨在 仅用于测试和教育目的.
它是 非 专为生产用途而设计 不应安装在实时网站上.

您不应该在生产中使用它的原因:

  • 无安全强化
  • 最小权限逻辑
  • 除了基本的WordPress默认设置外,没有其他清理
  • 没有随机数或API密钥限制
  • 为了清晰起见,错误处理故意最小化
  • API本身的能力是实验性的

使用风险自负。


如何使用

设置并测试:

基本说明:

  • 建立一个新的本地WordPress 6.9网站
  • 安装此插件
  • 设置应用程序密码(用户>您的用户名>应用程序密码>(称为“我的MCP服务器”)(再次直接来自Mark的文章 这里)
  • 设置本地MCP。我使用Claude,下面的代码添加到本地MCP服务器(设置>开发人员>编辑配置),取代WP_API_URL、WP_API-USERNAME和WP_API_PASSWORD(Mark Westguard的说明 这里 更多信息和VS代码示例)
  • 重新启动克劳德
  • 在Claude中,确保在“搜索和工具菜单”中打开“我的mcp服务器”
  • 完成!Claude现在可以使用列出的任何功能与您的WordPress网站进行交互。
{
    "mcpServers": {
        "my-mcp-server": {
            "command": "npx",
            "args": ["-y", "@automattic/mcp-wordpress-remote"],
            "env": {
                "WP_API_URL": "http://localhost:8881/wp-json/my-mcp-server/mcp",
                "WP_API_USERNAME": "admin",
                "WP_API_PASSWORD": "password goes here"
            }
        }
    }
}

特点/能力

此插件注册了一个自定义能力类别(my-mcp-server-category)并展现出以下能力:

### 1. 获取网站标题

身份证件: my-mcp-server/get-site-title
返回当前WordPress网站标题。


2. 列出帖子

身份证件: my-mcp-server/list-posts
返回一个包含ID、标题、状态和日期的帖子列表。

输入:

  • posts_per_page (整数,默认值10,最大值100)
  • post_status (字符串,默认值: any)

3. 获得职位

身份证件: my-mcp-server/get-post
按ID检索单个帖子,包括完整内容。

输入:

  • post_id (必填)

4. 创建帖子

身份证件: my-mcp-server/create-post
创建一个新的WordPress帖子。

输入:

  • title (必填)
  • content (必填)
  • status (draft, publish, pending, future)
  • excerpt
  • post_date (Y-m-d H:i:s——支持预定职位)

5. 更新帖子

身份证件: my-mcp-server/update-post
更新现有的WordPress帖子。

输入:

  • post_id (必填)
  • title, content, status, excerpt, post_date

6. 删除帖子

身份证件: my-mcp-server/delete-post
删除或丢弃WordPress帖子。

输入:

  • post_id (必填)
  • force_delete (布尔值,默认值 false)

MCP适配器集成

该插件使用以下方式注册完整的MCP服务器:

$adapter->create_server(
    'my-server-id',
    'my-mcp-server',
    'mcp',
    'My MCP Server',
    'WordPress MCP Server with post management abilities',
    'v1.0.0',
    [
        \WP\MCP\Transport\HttpTransport::class,
    ],
    \WP\MCP\Infrastructure\ErrorHandling\ErrorLogMcpErrorHandler::class,
    \WP\MCP\Infrastructure\Observability\NullMcpObservabilityHandler::class,
    [
        'my-mcp-server/get-site-title',
        'my-mcp-server/list-posts',
        'my-mcp-server/get-post',
        'my-mcp-server/create-post',
        'my-mcp-server/update-post',
        'my-mcp-server/delete-post',
    ],
    [],
    []
);```