返回市场
麦普-_WP

麦普-_WP

作者:InstaWP58 星标更新:2025-10-16

项目介绍

WordPress MCP 服务器

这是一个用于 WordPress 的模型上下文协议(MCP)服务器,允许您通过与 Claude for Desktop 类似的 MCP 兼容客户端使用自然语言与您的 WordPress 站点进行交互。此服务器公开了各种 WordPress 数据和功能作为 MCP 工具。

使用方法

Claude Desktop

  1. 下载并安装 Claude Desktop
  2. 打开 Claude Desktop 设置,并导航到“开发者”标签页。
  3. 复制 claude_desktop_config.json.example 文件的内容。
  4. 点击“编辑配置”以打开 claude_desktop_config.json 文件。
  5. 将示例文件的内容复制粘贴到配置文件中。确保用实际的 WordPress 站点值替换占位符值。要生成应用密钥,请参阅此指南 - 应用密码
  6. 保存配置。
  7. 重启 Claude Desktop。

功能

此服务器当前提供了与核心 WordPress 数据交互的工具:

统一内容管理(8个工具)

处理所有内容类型(文章、页面、自定义文章类型)的单一智能工具集:

  • list_content: 列出任何内容类型,支持过滤和分页
  • get_content: 根据ID和类型获取特定内容
  • create_content: 创建任意类型的新内容
  • update_content: 更新任意类型的内容
  • delete_content: 删除任意类型的内容
  • discover_content_types: 查找站点上所有可用的内容类型
  • find_content_by_url: 智能URL解析器,可以从任何 WordPress URL 查找并可选更新内容
  • get_content_by_slug: 跨所有内容类型按别名搜索

统一分类法管理(8个工具)

处理所有分类法(类别、标签、自定义分类法)的单一工具集:

  • discover_taxonomies: 查找站点上所有可用的分类法
  • list_terms: 列出任何分类法中的术语
  • get_term: 根据ID获取特定术语
  • create_term: 在任何分类法中创建新术语
  • update_term: 更新现有术语
  • delete_term: 从任何分类法中删除术语
  • assign_terms_to_content: 将术语分配给任何内容类型
  • get_content_terms: 获取任何内容的所有术语

专用工具

  • 媒体:
    • list_media: 列出所有媒体项(支持分页和搜索)。
    • get_media: 根据ID检索特定媒体项。
    • create_media: 从URL创建新的媒体项。
    • update_media: 更新现有的媒体项。
    • delete_media: 删除媒体项。
  • 用户:
    • list_users: 列出所有用户,支持过滤、排序和分页选项。
    • get_user: 根据ID检索特定用户。
    • create_user: 创建新用户。
    • update_user: 更新现有用户。
    • delete_user: 删除用户。
  • 评论:
    • list_comments: 列出所有评论,支持过滤、排序和分页选项。
    • get_comment: 根据ID检索特定评论。
    • create_comment: 创建新评论。
    • update_comment: 更新现有评论。
    • delete_comment: 删除评论。
  • 插件:
    • list_plugins: 列出站点上安装的所有插件。
    • get_plugin: 检索有关特定插件的详细信息。
    • activate_plugin: 激活插件。
    • deactivate_plugin: 停用插件。
    • create_plugin: 创建新插件。
  • 插件仓库:
    • search_plugins: 在 WordPress.org 仓库中搜索插件。
    • get_plugin_info: 从仓库获取插件的详细信息。

关键优势

智能URL解析

find_content_by_url 工具可以:

  • 接受任何 WordPress URL 并自动找到相应的内容
  • 从 URL 模式检测内容类型(例如,/documentation/ → 文档自定义文章类型)
  • 可选地在一个操作中更新内容
  • 支持文章、页面和任何自定义文章类型

统一内容操作

所有内容操作都使用一个 content_type 参数:

{
  "content_type": "post",        // 对于博客文章
  "content_type": "page",        // 对于静态页面  
  "content_type": "product",     // 对于 WooCommerce 产品
  "content_type": "documentation" // 对于自定义文章类型
}

统一分类法操作

所有分类法操作都使用一个 taxonomy 参数:

{
  "taxonomy": "category",        // 对于类别
  "taxonomy": "post_tag",        // 对于标签
  "taxonomy": "product_category", // 对于 WooCommerce
  "taxonomy": "skill"            // 对于自定义分类法
}

使用 npx 和 .env 文件

您可以直接使用 npx 运行此 MCP 服务器,而无需全局安装它:

npx -y @instawp/mcp-wp

确保在当前目录下有一个包含以下变量的 .env 文件:

WORDPRESS_API_URL=https://your-wordpress-site.com
WORDPRESS_USERNAME=wp_username
WORDPRESS_PASSWORD=wp_app_password

开发

预备条件

  • Node.js 和 npm: 确保已安装 Node.js(版本 18 或更高)和 npm。
  • WordPress 站点: 您需要一个启用了 REST API 的活动 WordPress 站点。
  • WordPress API 认证: 设置 WordPress REST API 的认证。这通常需要一个认证插件或方法(如应用密码)。
  • MCP 客户端: 您需要一个能够与 MCP 服务器通信的应用程序。目前推荐使用 Claude Desktop。

安装和设置

  1. 克隆存储库:

    git clone <repository_url>
    cd wordpress-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env 文件:

    在项目根目录下创建一个 .env 文件,并添加您的 WordPress API 凭证:

    WORDPRESS_API_URL=https://your-wordpress-site.com
    WORDPRESS_USERNAME=wp_username
    WORDPRESS_PASSWORD=wp_app_password
    

    用实际值替换占位符。

  4. 构建服务器:

    npm run build
    
  5. 配置 Claude Desktop:

    • 打开 Claude Desktop 设置,并导航到“开发者”标签页。
    • 点击“编辑配置”以打开 claude_desktop_config.json 文件。
    • mcpServers 部分下添加一个新的服务器配置。您需要提供 build/server.js 文件的绝对路径以及您的 WordPress 环境变量。
    • 保存配置。

运行服务器

一旦配置了 Claude Desktop,服务器将在每次启动 Claude Desktop 时自动启动。

您也可以直接从命令行运行服务器进行测试:

npm start

或者在开发模式下运行:

npm run dev

安全性

  • 切勿将 API 密钥或秘密提交到版本控制。
  • 使用 HTTPS 进行客户端和服务器之间的通信。
  • 验证从客户端接收的所有输入,以防注入攻击。
  • 实现适当的错误处理和速率限制。

项目概述

架构

服务器采用统一工具架构来减少复杂度:

src/
├── server.ts                    # MCP 服务器入口点
├── wordpress.ts                 # WordPress REST API 客户端
├── cli.ts                       # CLI 接口
├── types/
│   └── wordpress-types.ts       # TypeScript 定义
└── tools/
    ├── index.ts                 # 工具聚合
    ├── unified-content.ts       # 统一内容管理(8个工具)
    ├── unified-taxonomies.ts    # 统一分类法管理(8个工具)
    ├── media.ts                 # 媒体管理(约5个工具)
    ├── users.ts                 # 用户管理(约5个工具)
    ├── comments.ts              # 评论管理(约5个工具)
    ├── plugins.ts               # 插件管理(约5个工具)
    └── plugin-repository.ts     # WordPress.org 插件搜索(约2个工具)

关键特性

  • 智能URL解析: 自动从URL检测内容类型并查找相应内容
  • 统一内容管理: 单一工具集处理文章、页面和自定义文章类型
  • 统一分类法管理: 单一工具集处理类别、标签和自定义分类法
  • 类型安全: 完整的 TypeScript 支持,带有 Zod 模式验证
  • 详尽的日志记录: 详细的API请求/响应日志用于调试
  • 错误处理: 具有信息性消息的优雅错误处理

快速开始

  1. 克隆存储库并使用 npm install 安装依赖项
  2. 使用您的 WordPress 凭证创建一个 .env 文件
  3. 使用 npm run build 构建项目
  4. 使用服务器配置 Claude Desktop
  5. 开始使用自然语言管理您的 WordPress 站点!

贡献

欢迎打开问题或提出拉取请求以改进此项目。查看 CLAUDE.md 以获取详细的开发指南。