Skip to main content
Glama
crunchtools

MCP WordPress CrunchTools

by crunchtools

MCP WordPress CrunchTools

一个用于 WordPress 内容管理的安全 MCP(模型上下文协议)服务器。专为发布其工作内容的开发者设计。

概述

该 MCP 服务器设计为:

  • 默认安全 - 全面的输入验证、凭据保护和 SSRF 防护

  • 无第三方服务 - 通过 stdio 在本地运行,您的凭据永远不会离开您的机器

  • 跨平台 - 支持 Linux、macOS 和 Windows

  • 自动更新 - GitHub Actions 监控 CVE 并更新依赖

  • 容器化 - 可在 quay.io/crunchtools/mcp-wordpress 获取

Related MCP server: TypeScript WordPress MCP Server

命名约定

组件

名称

GitHub 仓库

crunchtools/mcp-wordpress

容器

quay.io/crunchtools/mcp-wordpress

Python 包(PyPI)

mcp-wordpress-crunchtools

CLI 命令

mcp-wordpress-crunchtools

模块导入

mcp_wordpress_crunchtools

功能特性

  • 30 个工具,用于文章、页面、媒体和评论

  • 安全优先:凭据保护、输入验证、SSRF 防护

  • 开发者工作流:定时发布、修订版本、搜索

  • 易于集成:兼容 Claude Code 和其他 MCP 客户端

安装

使用 uvx(推荐)

uvx mcp-wordpress-crunchtools

使用 pip

pip install mcp-wordpress-crunchtools
mcp-wordpress-crunchtools

使用容器

# Create a shared upload directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads

podman run -v ~/.local/share/mcp-uploads-downloads:/tmp/mcp-uploads:z \
  -e WORDPRESS_URL=https://example.com \
  -e WORDPRESS_USERNAME=admin \
  -e WORDPRESS_APP_PASSWORD='xxxx xxxx xxxx xxxx' \
  quay.io/crunchtools/mcp-wordpress

SELinux 说明: 使用 :z(小写,共享)而不是 :Z(大写,私有)。 MCP 服务器作为长期运行的 stdio 进程运行。使用 :Z 时,容器启动后复制到 目录中的文件不具有容器的私有 MCS 标签,因此在容器内不可见。:z 标志设置一个共享的 container_file_t 上下文,所有容器和宿主机都可以读写该上下文。

提示: 在多个 MCP 容器服务器(例如 mcp-wordpress 和 mcp-gemini)之间使用相同的共享目录(~/.local/share/mcp-uploads-downloads/), 这样生成的文件无需复制即可立即用于上传。

从源码构建

git clone https://github.com/crunchtools/mcp-wordpress.git
cd mcp-wordpress
uv sync --all-extras
uv run mcp-wordpress-crunchtools

配置

设置以下环境变量:

变量

描述

示例

WORDPRESS_URL

WordPress 站点 URL

https://example.com

WORDPRESS_USERNAME

WordPress 用户名

admin

WORDPRESS_APP_PASSWORD

应用程序密码

xxxx xxxx xxxx xxxx

MCP_UPLOAD_DIR

容器内上传目录(可选)

/tmp/mcp-uploads(默认)

创建应用程序密码

  1. 登录 WordPress 管理后台

  2. 转到用户 → 个人资料

  3. 滚动到应用程序密码

  4. 输入名称(例如“MCP Server”),然后点击添加

  5. 复制生成的密码(仅显示一次)

与 Claude Code 一起使用

使用 uvx(推荐)

claude mcp add mcp-wordpress-crunchtools \
    --env WORDPRESS_URL=https://example.com \
    --env WORDPRESS_USERNAME=admin \
    --env WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
    -- uvx mcp-wordpress-crunchtools

使用 pip

pip install mcp-wordpress-crunchtools

claude mcp add mcp-wordpress-crunchtools \
    --env WORDPRESS_URL=https://example.com \
    --env WORDPRESS_USERNAME=admin \
    --env WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
    -- mcp-wordpress-crunchtools

使用容器

# Create a shared upload directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads

claude mcp add mcp-wordpress-crunchtools \
    --env WORDPRESS_URL=https://example.com \
    --env WORDPRESS_USERNAME=admin \
    --env WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
    -- podman run -i --rm \
        -v ~/.local/share/mcp-uploads-downloads:/tmp/mcp-uploads:z \
        -e WORDPRESS_URL \
        -e WORDPRESS_USERNAME \
        -e WORDPRESS_APP_PASSWORD \
        quay.io/crunchtools/mcp-wordpress

可用工具

站点工具

工具

描述

wordpress_get_site_info

获取站点标题、描述、URL、时区

wordpress_test_connection

验证 API 凭据是否有效

文章工具

工具

描述

wordpress_list_posts

使用筛选条件列出文章(状态、分类、搜索)

wordpress_get_post

按 ID 获取单篇文章及完整内容

wordpress_search_posts

按关键词搜索文章

wordpress_create_post

创建新文章(支持定时发布)

wordpress_update_post

更新现有文章

wordpress_delete_post

删除/移至回收站一篇文章

wordpress_list_revisions

列出一篇文章的修订版本

wordpress_get_revision

获取特定修订版本的内容

wordpress_list_categories

列出可用分类

wordpress_list_tags

列出可用标签

页面工具

工具

描述

wordpress_list_pages

使用筛选条件列出页面

wordpress_get_page

按 ID 获取单个页面

wordpress_create_page

创建新页面

wordpress_update_page

更新现有页面

wordpress_delete_page

删除/移至回收站一个页面

wordpress_list_page_revisions

列出页面修订版本

媒体工具

工具

描述

wordpress_list_media

列出媒体项目

wordpress_get_media

获取媒体项目详情

wordpress_upload_media

从本地路径上传文件

wordpress_update_media

更新媒体元数据

wordpress_delete_media

删除媒体项目

wordpress_get_media_url

获取媒体的公共 URL

评论工具

工具

描述

wordpress_list_comments

使用筛选条件列出评论

wordpress_get_comment

获取单条评论

wordpress_create_comment

向文章添加评论

wordpress_update_comment

更新评论内容/状态

wordpress_delete_comment

删除评论

wordpress_moderate_comment

批准、保留、标记垃圾或删除

示例

创建草稿文章

Create a new WordPress post titled "My Technical Article" with the content below. Keep it as a draft.

定时发布文章

Update post ID 123 to publish on December 25, 2024 at 10:00 AM.

上传图片

Upload this image to WordPress and set the alt text to "Architecture diagram".

查找并审核评论

List all comments in "hold" status and approve the legitimate ones.

安全性

  • 凭据保护:所有凭据以 SecretStr 存储,绝不记录日志

  • SSRF 防护:REST API 路径为硬编码,无法覆盖

  • 输入验证:所有输入均通过 Pydantic 模型验证

  • 速率限制:优雅处理 WordPress 速率限制

  • TLS 强制:所有请求均使用带证书验证的 HTTPS

  • 大小限制:响应大小限制为 10MB,防止内存问题

  • 超时:所有请求在 30 秒后超时

开发

# Install dev dependencies
uv sync --all-extras

# Run tests
uv run pytest

# Run linting
uv run ruff check src tests

# Run type checking
uv run mypy src

# Format code
uv run ruff format src tests

许可证

AGPL-3.0-or-later

致谢

crunchtools.com 构建

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
5dRelease cycle
4Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-wordpress'

If you have feedback or need assistance with the MCP directory API, please join our Discord server