Token导航 LogoToken导航TokenDH.com
Local Wp MCP logo
数据服务stdio官方级别未说明来源级核验

Local Wp MCP

MCP Server

@chrisfromthelc/local-wp-mcp

为Local by Flywheel提供的WordPress站点管理协议服务,支持WP-CLI执行、MySQL查询和文件系统操作。

工具数

10

提示词数

0

GitHub Stars

6

资源数

0
TypeScriptClaude数据分析Claude DesktopClaudeCursorWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chrisfromthelc

提供方

chrisfromthelc

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @chrisfromthelc/local-wp-mcp --setup

详细介绍

本地wp-mcp

MCP服务器提供WP-CLI、MySQL和文件系统访问 当地飞轮 WordPress网站。

与基于REST API的WordPress MCP服务器不同,它直接通过本地的本地文件系统和进程架构进行连接,不需要应用程序密码、HTTP端点或网络请求。

特性

  • WP-CLI执行 通过本地捆绑的PHP二进制文件和命令allowling
  • 直接MySQL查询 通过Unix套接字连接池
  • 文件系统操作 具有路径验证和WordPress核心保护
  • 多站点支持 具有自动位置检测功能 sites.json
  • 安全第一: spawn() 仅(否 exec()),符号链接安全路径验证,分层命令权限

工具

工具说明
wp_cli_run执行任何WP-CLI命令
wp_site_info获取WordPress版本、URL、主题、插件
wp_list_sites按飞轮列出所有本地站点
mysql_query运行SQL查询(默认情况下为只读)
mysql_schema检查数据库表和列
wp_active_plugins通过直接数据库查询获取活动插件
read_site_file从站点目录读取文件
write_site_file写入文件(仅限wp内容,核心保护)
list_site_directory列出目录内容
search_site_files按名称模式搜索文件

设置

有两种方法可以运行此MCP服务器: 来自npm (建议一般使用)或 从本地克隆 (用于开发或定制)。

重要:全部 env 值必须是字符串(例如。, "true"true).

______________________________________________________________________

选项A:从npm安装(推荐)

这是最简单的方法。npm会自动下载并缓存包,无需克隆或构建。

自动设置(克劳德代码)

从本地站点的项目目录中:

cd ~/Local\ Sites/mysite/app/public
npx -y @chrisfromthelc/local-wp-mcp --setup

这将自动检测本地站点,创建 .mcp.json (或合并到现有的),并预填充 SITE_NAME 写入权限设置为 false.重新启动Claude Code以进行连接。

手动设置

请在下面选择您的代理。每个示例都使用 npx 运行服务器--替换 "My Site Name" 名称显示在Local中。

Claude Code

添加一个 .mcp.json 到您的项目根(例如。, ~/Local Sites/mysite/app/public/.mcp.json):

{
  "mcpServers": {
    "local-wp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@chrisfromthelc/local-wp-mcp"],
      "env": {
        "SITE_NAME": "My Site Name",
        "WPCLI_ALLOW_WRITES": "false",
        "MYSQL_ALLOW_WRITES": "false",
        "FS_ALLOW_WRITES": "false"
      }
    }
  }
}

或者通过CLI添加:

claude mcp add -s project local-wp -- npx -y @chrisfromthelc/local-wp-mcp

然后设置环境变量 claude mcp add-json 或通过编辑 .mcp.json 直接。

Claude Desktop

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "local-wp": {
      "command": "npx",
      "args": ["-y", "@chrisfromthelc/local-wp-mcp"],
      "env": {
        "SITE_NAME": "My Site Name",
        "WPCLI_ALLOW_WRITES": "false",
        "MYSQL_ALLOW_WRITES": "false",
        "FS_ALLOW_WRITES": "false"
      }
    }
  }
}

重新启动Claude Desktop以进行连接。

Cursor

添加一个 .cursor/mcp.json 到项目根目录,或编辑 ~/.cursor/mcp.json 对于全局配置:

{
  "mcpServers": {
    "local-wp": {
      "command": "npx",
      "args": ["-y", "@chrisfromthelc/local-wp-mcp"],
      "env": {
        "SITE_NAME": "My Site Name",
        "WPCLI_ALLOW_WRITES": "false",
        "MYSQL_ALLOW_WRITES": "false",
        "FS_ALLOW_WRITES": "false"
      }
    }
  }
}

或者从光标设置>工具和MCP>新MCP服务器添加。

VS Code (GitHub Copilot)

添加一个 .vscode/mcp.json 到您的工作区根目录:

{
  "servers": {
    "local-wp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@chrisfromthelc/local-wp-mcp"],
      "env": {
        "SITE_NAME": "My Site Name",
        "WPCLI_ALLOW_WRITES": "false",
        "MYSQL_ALLOW_WRITES": "false",
        "FS_ALLOW_WRITES": "false"
      }
    }
  }
}
备注:VS代码使用 "servers" (不是 "mcpServers")并要求 "type": "stdio".

或者使用命令选项板: MCP:添加服务器.

Windsurf

编辑配置文件:

  • macOS: ~/.codeium/windsurf/mcp_config.json
  • 窗户: %USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "local-wp": {
      "command": "npx",
      "args": ["-y", "@chrisfromthelc/local-wp-mcp"],
      "env": {
        "SITE_NAME": "My Site Name",
        "WPCLI_ALLOW_WRITES": "false",
        "MYSQL_ALLOW_WRITES": "false",
        "FS_ALLOW_WRITES": "false"
      }
    }
  }
}

或者使用命令选项板: MCP:添加服务器.

______________________________________________________________________

选项B:从源代码安装(开发)

如果要修改服务器、运行测试或贡献更改,请使用此选项。您克隆仓库,构建一次,然后指向 .mcp.json 在您的本地构建输出中。

1.克隆和构建

git clone https://github.com/chrisfromthelc/local-wp-mcp.git
cd local-wp-mcp
npm install
npm run build

2.配置您的代理

将代理的配置指向本地 dist/index.js 而不是使用npx。使用与中所示相同的配置格式 手动设置 部分为您的代理,但替换 commandargs:

"command": "node",
"args": ["/absolute/path/to/local-wp-mcp/dist/index.js"]
备注:路径必须是绝对的(例如。, /Users/you/Projects/local-wp-mcp/dist/index.js).代理生成进程时,相对路径将无法正确解析。

3.更改后重建

编辑源文件后,在重新启动代理之前重新生成:

npm run build

您还可以使用 npm run dev 在开发过程中观察变化并自动重建。

开发命令

npm run lint            # ESLint
npm run build           # TypeScript compile
npm test                # unit tests (single run)
npm run test:watch      # unit tests (watch mode)
npm run test:coverage   # unit tests with coverage report

______________________________________________________________________

在npm和local之间切换

要从npm切换到local(反之亦然),请更新 commandargs 在代理的配置中:

方法commandargs
npm(npx)"npx"["-y", "@chrisfromthelc/local-wp-mcp"]
本地克隆"node"["/absolute/path/to/dist/index.js"]

其他一切(env,服务器名称)保持不变。切换后重新启动代理。

______________________________________________________________________

环境变量

变量描述默认值
SITE_NAME站点名称如Local中所示(例如。, "My Site")如果只有一个站点存在,则自动检测
SITE_ID本地站点ID(优先于 SITE_NAME)
WPCLI_ALLOW_WRITES启用写入WP-CLI命令(plugin install, post create等等)"false"
MYSQL_ALLOW_WRITES启用 INSERT/UPDATE/DELETE/ALTER 查询"false"
FS_ALLOW_WRITES通过以下方式启用写入文件 write_site_file (WordPress核心目录始终是只读的)"false"
WPCLI_SAFE_COMMANDS以逗号分隔的附加只读命令列表(请参见 插件CLI命令)

如果本地中只存在一个站点, SITE_NAMESITE_ID 两者都可以省略——服务器将自动连接到它。

插件CLI命令

此MCP服务器不仅限于核心WP-CLI命令,它还自动支持插件(WooCommerce、ACF、Yoast、Elementor等)注册的命令。

运作原理

WP-CLI命令使用三层系统进行分类:

层级行为示例
已屏蔽始终被拒绝(任意代码执行)eval, eval-file, shell
只读始终允许核心安全命令+任何具有只读动作动词的命令
需要 WPCLI_ALLOW_WRITES=true其他一切

只读动作动词 --任何子命令为以下命令之一的命令都会自动被允许,无论它是核心命令还是插件命令:

list, get, search, check, status, path, info, version, is-installed, check-update, pluck, has

这意味着命令如下 wc product list, acf field get my-group,或 yoast index status 开箱即用——无需配置。

带有写动作动词的命令,如 wc product create, acf field delete,或 yoast index run 除非被阻止 WPCLI_ALLOW_WRITES=true 已设置。

自定义安全命令

如果插件具有与内置动词模式不匹配的只读命令(例如。, wc report sales),您可以使用将其列入白名单 WPCLI_SAFE_COMMANDS 环境变量:

{
  "mcpServers": {
    "local-wp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@chrisfromthelc/local-wp-mcp"],
      "env": {
        "SITE_NAME": "My Site Name",
        "WPCLI_ALLOW_WRITES": "false",
        "MYSQL_ALLOW_WRITES": "false",
        "WPCLI_SAFE_COMMANDS": "wc report sales,wc report customers,my-plugin dump-config"
      }
    }
  }
}

命令在 WPCLI_SAFE_COMMANDS 始终允许在不启用写入的情况下进行。使用逗号分隔的值,匹配命令的前2-3个单词。

安全

  • 所有命令都使用 spawn() 带参数数组--无shell解释
  • 命令和参数中都拒绝了Shell元字符作为深度防御
  • WP-CLI eval, eval-file,以及 shell 总是被封锁
  • 危险旗帜(--exec, --require, --ssh等)在所有命令中都被阻止
  • 写操作需要通过env-vars显式选择加入
  • 带有只读动词的插件命令会被自动检测和允许
  • 文件路径已通过验证 realpath() 防止符号链接遍历
  • 文件读写使用开放句柄来缓解TOCTU竞争情况
  • WordPress核心目录(wp-admin/, wp-includes/)是只读的
  • 子进程仅继承必要的环境变量
  • 目录搜索限制为10000个文件,以防止资源耗尽
  • 输出被截断为25000个字符,以保留上下文窗口

需求

  • 当地飞轮 安装
  • Node.js 18+
  • 站点必须在本地运行(服务已启动)

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude数据分析WordPress开发本地部署本地开发环境WP-CLI工具MySQL管理文件系统操作

支持客户端

Claude DesktopClaudeCursorWindsurfVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@chrisfromthelc/local-wp-mcp

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP