返回市场
wp-mcp服务器

wp-mcp服务器

作者:emzimmer107 星标更新:2025-01-29

项目介绍

WordPress MCP 服务器

smithery 徽章

这是一个基于 Model Context Protocol (MCP) 的服务器,它使AI助手能够通过WordPress REST API与WordPress站点进行交互。支持多个WordPress站点的安全认证,允许通过自然语言进行内容管理、文章操作和站点配置。

特性

  • 多站点支持:同时连接到多个WordPress站点
  • REST API 集成:完全访问WordPress REST API端点
  • 安全认证:使用应用密码进行安全的API访问
  • 动态端点发现:自动映射每个站点可用的端点
  • 灵活的操作:支持GET、POST、PUT、DELETE和PATCH方法
  • 错误处理:带有有意义消息的优雅错误处理
  • 简单配置:易于维护的JSON配置文件

安装

通过 Smithery 安装

要通过 Smithery 自动安装WordPress服务器:

npx -y @smithery/cli install server-wp-mcp --client claude

手动安装

npm install server-wp-mcp

工具参考

wp_discover_endpoints

映射WordPress站点上所有可用的REST API端点。

参数:

{
	"site": {
		"type": "string",
		"description": "站点别名(如在配置中定义)",
		"required": true
	}
}

返回值: 包含方法和命名空间的可用端点列表。

wp_call_endpoint

执行对WordPress站点的REST API请求。

参数:

{
	"site": {
		"type": "string",
		"description": "站点别名",
		"required": true
	},
	"endpoint": {
		"type": "string",
		"description": "API端点路径",
		"required": true
	},
	"method": {
		"type": "string",
		"enum": ["GET", "POST", "PUT", "DELETE", "PATCH"],
		"description": "HTTP方法",
		"default": "GET"
	},
	"params": {
		"type": "object",
		"description": "请求参数或正文数据",
		"required": false
	}
}

配置

获取应用密码

  1. 登录到您的WordPress管理员仪表板
  2. 转到用户 → 个人资料
  3. 滚动到“应用密码”部分
  4. 输入应用名称(例如,“MCP服务器”)
  5. 点击“添加新应用密码”
  6. 复制生成的密码(您将无法再次查看)

注意:应用密码需要WordPress 5.6或更高版本,并且需要HTTPS。

配置文件设置

创建一个包含WordPress站点详细信息的JSON配置文件(例如,wp-sites.json):

{
	"myblog": {
		"URL": "https://myblog.com",
		"USER": "yourusername",
		"PASS": "abcd 1234 efgh 5678"
	},
	"testsite": {
		"URL": "https://test.example.com",
		"USER": "anotherusername",
		"PASS": "wxyz 9876 lmno 5432"
	}
}

每个站点配置需要:

  • URL:WordPress站点URL(必须包括http://或https://)
  • USER:WordPress用户名
  • PASS:应用密码(空格将被自动移除)

配置键(例如,“myblog”,“testsite”)将成为您与服务器交互时使用的站点别名。

与 Claude Desktop 结合使用

添加到您的 claude_desktop_config.json

{
	"mcpServers": {
		"wordpress": {
			"command": "node",
			"args": ["path/to/server/dist/index.js"],
			"env": {
				"WP_SITES_PATH": "/absolute/path/to/wp-sites.json"
			}
		}
	}
}

WP_SITES_PATH环境变量必须指向您的配置文件的绝对路径。

示例用法

一旦配置完成,您可以要求Claude执行各种WordPress操作:

列出和查询帖子

你能给我展示myblog上过去一个月发布的所有帖子吗?
查找testsite上标记为“技术”和“AI”的所有帖子
显示myblog上需要审核的草稿帖子

创建和编辑内容

在testsite上创建一篇标题为“人工智能的未来”的新草稿帖子,其中包含这些要点:[要点]
更新myblog上关于机器学习的最新帖子的特色图片
在myblog上添加一个新的类别“科技新闻”

管理评论

显示myblog上最新帖子的所有待审评论
查找testsite上可能的垃圾邮件评论
列出myblog上最活跃的评论者

插件管理

myblog上当前有哪些插件是激活状态?
检查testsite上的任何插件是否需要更新
告诉我myblog上安装的安全插件

用户管理

显示testsite上具有编辑角色的所有用户
在myblog上创建一个新的作者账户
更新testsite上的用户角色和权限

站点设置和配置

myblog上当前激活的主题是什么?
检查testsite上的永久链接结构
显示myblog上当前的媒体库设置

维护和诊断

检查myblog上是否有任何损坏的链接
显示testsite的PHP版本和其他系统信息
列出myblog上任何待处理的数据库更新

错误处理

服务器处理常见的错误包括:

  • 无效的配置文件路径或格式
  • 无效的站点配置
  • 认证失败
  • 缺失或无效的端点
  • API速率限制
  • 网络错误

所有错误都带有描述性消息以帮助诊断问题。

安全注意事项

  • 保护好您的wp-sites.json文件,切勿将其提交到版本控制系统
  • 在生产环境中考虑使用环境变量存储敏感数据
  • 将配置文件存储在公共目录之外
  • 对所有WordPress站点使用HTTPS
  • 定期轮换应用密码
  • 分配用户角色时遵循最小特权原则

依赖项

  • @modelcontextprotocol/sdk - MCP协议实现
  • axios - API请求的HTTP客户端

许可证

MIT