WordPress MCP服务器
一种MCP服务器,可以将博客文章从Cursor/Claude发布到WordPress。
机能
- 投稿管理: 作成・更新・取得・削除
- Markdown 対応:将GFM(GitHub Flavored Markdown)自动转换为Gutenberg块
- Gutenberg块输出:以适当的块格式输出段落、标题、列表、图像、引用、表格等
- Highlighting Code Block 対応:代码块 突出显示代码块 以插件格式输出
- 自动上传图像:检测并自动上传Markdown中的本地图像
- 画像自动圧缩:自动压缩1MB以上的图像(支持JPEG/PNG/WebP)
- 眼部捕捉图像:在创建和更新投稿时可以设定眼捕捉图像
- AI眼部捕捉图像生成:使用Gemini API从文章内容自动生成眼捕捉图像
- SEO Excerpt自动生成:使用Gemini API自动生成文章摘要
- 介质管理:上传和删除图像和视频
- 类别标记:一覧取得、新规作成、投稿への设定
- 客户分类支持:获取、创建和设置自定义帖子类型的类别标记
📖 详细的文档 docs/ 来修改标记元素的显示属性。
安装,安装
1.设置WordPress
提交应用程序密码
- 登录WordPress管理画面
- 用户 → 简介 移到
- 滚动到“应用程序密码”部分
- 输入应用程序名称(例如:
Cursor MCP) - 单击添加新的应用程序密码
- 安全存储显示的密码(不刷新)
注意:应用程序密码在WordPress5.6以上可用。HTTPS是必需的。
2.Cursor设置
~/.cursor/mcp.json 创建或编辑:
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "github:cloudbuilders-jp/mcp-wordpress-server"],
"env": {
"WORDPRESS_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx",
"WP_POST_TYPE": "articles"
}
}
}
}3.重新启动Cursor
完全退出并重新启动Cursor以反映设置。
环境变数
| 变数名 | 必须 | 说明 |
|---|---|---|
WORDPRESS_URL | ✅ | WordPress网站的URL |
WORDPRESS_USERNAME | ✅ | WordPress用户名| |
WORDPRESS_APP_PASSWORD | ✅ | 应用程序密码 |
WP_POST_TYPE | ❌ | 帖子类型(默认值: posts) |
GEMINI_API_KEY | ❌ | Gemini API键(AI图像生成、Excerpt自动生成所需) |
图像压缩设置(全部可选):
|变量名|默认|说明| | --------------------------- | ---------- | --------------------------------- | | IMAGE_COMPRESSION_ENABLED | true |压缩的有效/无效(false中禁用) | IMAGE_SIZE_THRESHOLD | 1048576 |要压缩的文件大小(字节,默认值1MB)| | IMAGE_COMPRESSION_QUALITY | 80 |圧缩质量(1-100)| | IMAGE_MAX_WIDTH | 1920 调整大小后的最大宽度(像素) | IMAGE_MAX_HEIGHT | 1080 调整大小后的最大高度(像素)
使用自定义帖子类型:WP_POST_TYPE中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。例如articles对话框,您可以在此定义自定义格式/wp-json/wp/v2/articles使用端点。
用法
在Cursor中,Claude可以如下所示:
创建帖子
このMarkdownファイルをWordPressの下書きとして投稿して以下の内容でブログ記事を作成して:
タイトル: TypeScriptの基礎
本文: ...从文件发布
./blog/my-article.md をWordPressに投稿して查看帖子列表
WordPressの下書き一覧を見せて发布帖子
投稿ID 123 を公開して上传图像
./images/screenshot.png をWordPressにアップロードして可用工具
投稿管理
| Tool | 说明 |
|---|---|
get_posts 获取帖子列表 | |
get_post |获取指定ID的投稿| | |
create_post 创建新帖子 | |
create_post_from_file 从Markdown文件创建帖子 | |
update_post 更新帖子 | |
delete_post 删除帖子 |
介质管理
| Tool | 说明 |
|---|---|
upload_media 上传介质 | |
get_media 获取介质信息 | |
delete_media 删除介质 | |
generate_featured_image 用AI生成并上传眼捕捉图像 |
类别标签管理
| Tool | 说明 |
|---|---|
get_categories 获取类别列表 | |
create_category 新建类别 | |
get_tags 获取标签列表 | |
create_tag 新建标记 |
客户分类管理
您可以使用自定义帖子类型中使用的自定义分类(类别标记)。
| Tool | 说明 |
|---|---|
get_taxonomies 获取可用的分类列表 | |
get_taxonomy_terms 获取指定分类的术语列表 | |
create_taxonomy_term 在指定的分类中创建新的术语 | |
set_post_terms 在帖子中设置自定义分类 |
使用例
# 1. 利用可能なタクソノミーを確認
get_taxonomies を実行して、articles 投稿タイプで使えるタクソノミーを確認
# 2. タクソノミーのタームを取得
get_taxonomy_terms で rest_base(例: tag-words)を指定してターム一覧を取得
# 3. 投稿にタームを設定
set_post_terms で投稿ID、タクソノミー、ターム ID の配列を指定して設定设置眼捕捉图像
create_post、create_post_from_file、update_post 的 featured_media 可使用参数设置眼捕捉图像:
1. まず画像をアップロード: upload_media で画像をアップロードし、メディアIDを取得
2. 投稿作成時に指定: create_post の featured_media にメディアIDを設定AI眼部捕捉图像生成
generate_featured_image 使用工具,可以从文章的标题和正文中自动生成AI(Gemini API)的眼捕捉图像。
所需设置:环境变数 GEMINI_API_KEY 中所述修改相应参数的值。
参数:
|参数|必需|说明| | -------------- | ---- | --------------------------------------------------------- | | title | ✅ | 文章标题 | content | ✅ | 文章正文 | custom_prompt| ❌ | 自定义图像生成提示(指定时跳过正文中的自动生成) | aspect_ratio | ❌ | 纵横比(默认值: 16:9) | | style | ❌ | 风格 photorealistic, illustration, abstract, minimalist(默认值: illustration) | | alt_text | ❌ | 替换文本
使用例:
# 記事内容からアイキャッチ画像を自動生成
generate_featured_image でタイトルと本文を指定
→ メディア ID が返却される
# 投稿作成時に設定
create_post で featured_media に返却されたメディア ID を指定SEO Excerpt自动生成
GEMINI_API_KEY 对话框,您可以在此定义自定义格式create_post 啊 create_post_from_file 的 excerpt 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。
- 手动
excerpt指定的情况下优先 - 即使生成失败,帖子创建仍将继续
画像自动圧缩
超过1MB的图像将自动压缩:
- 目标格式:JPEG,PNG(不透过),WebP
- 跳过:GIF(动画),SVG(矢量),透射PNG
- 処理:质量调整-根据需要调整大小
您可以自定义环境变量的压缩设置(请参见上述环境变量部分)。
支持标记
与GFM(GitHub Flavored Markdown)相对应,以WordPress Gutenberg块形式输出:
|标记元素|输出块| | --- | --- | | 段落 | wp:paragraph | 标题(#, ##, ###) | wp:heading | 列表(有顺序、无顺序) wp:list | 代码块 wp:loos-hcb/code-block (突出显示代码块)| | 引用 (>) | wp:quote | | 画像 | wp:image | 桌子 wp:table | |分隔线(---) | wp:separator | | 単独行 URL | [blogcard] 短码 取消线(~~text~~)|内嵌 ` | \_内嵌代码 ` |
突出显示代码块
代码块是 突出显示代码块 以插件格式输出。您必须在WordPress中安装此插件。
对应言语(一部):
- JavaScript/TypeScript(
js,ts,jsx,tsx) - python
python,py) - HTML/CSS/scs
- Bash/Shell
- PHP、Ruby、Go、Rust、Java、C/C++、SQL
- YAML、JSON、Markdown
- 其他多数
自动上传图像
Markdown中的相对路径图像将自动上传到WordPress:
上述图像将上传到WordPress的媒体库中,URL将自动替换。
博客卡
如果在Markdown内只单独记述URL,则WordPress的 [blogcard] 转换为短代码:
参考記事はこちらです。
https://example.com/article
上記を参照してください。文章中的链接 [テキスト](URL) 格式链接不是卡片,而是作为普通链接输出。
故障排除
401未经授权
- 验证用户名和应用程序密码
- 应用程序密码中包含空格也没有问题
无法使用REST API
- 确认WordPress的URL是否正确
https://your-site.com/wp-json/wp/v2/posts在浏览器中访问确认- 确认安全插件是否阻止REST API
无法上传图像
- 检查文件路径是否正确
- 支持的格式:jpg,jpeg,png,gif,webp,svg,pdf,mp4,webm
开発
构建
npm run build调试
使用MCP检查器调试:
WORDPRESS_URL=https://... WORDPRESS_USERNAME=... WORDPRESS_APP_PASSWORD=... WP_POST_TYPE=articles npm run inspect许可证
麻省理工学院
