使用说明
我的MCP服务器(WordPress能力API演示)
我的MCP服务器 是一个简单的演示插件,用于探索WordPress API能力 和那个 MCP适配器.
此插件注册了一个自定义服务器,该服务器提供了一组与WordPress内容交互的功能,例如检索帖子、创建帖子、更新帖子和删除帖子。
基本代码和指令来自 这个伟大的指南 来自Mark Westguard
重要通知(请先阅读)
此插件旨在 仅用于测试和教育目的.
它是 非 专为生产用途而设计 不应安装在实时网站上.
您不应该在生产中使用它的原因:
- 无安全强化
- 最小权限逻辑
- 除了基本的WordPress默认设置外,没有其他清理
- 没有随机数或API密钥限制
- 为了清晰起见,错误处理故意最小化
- API本身的能力是实验性的
使用风险自负。
如何使用
设置并测试:
- WordPress 6.9 RC2(6.9-RC2-612)
- WordPress工作室1.6.3
- WordPress MCP适配器0.1.0(https://github.com/WordPress/mcp-adapter)
- 克劳德桌面1.0.734(b8f837)
基本说明:
- 建立一个新的本地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)excerptpost_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',
],
[],
[]
);```
