REST API와 전용 헬퍼 플러그인을 통해 AI 에이전트가 WordPress 콘텐츠, 미디어, 사용자 및 SEO 설정을 관리할 수 있도록 지원합니다.
다른 이름 thenavidm/wordpress-mcp-cli, @thenavidm/wordpress-mcp-cli
- 스타
- 0
- Tools
- 30
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 6일
- 라이선스
- MIT
wordpress-mcp-cli MCP란?
wordpress-mcp-cli은(는) MCP server입니다. REST API와 전용 헬퍼 플러그인을 통해 AI 에이전트가 WordPress 콘텐츠, 미디어, 사용자 및 SEO 설정을 관리할 수 있도록 지원합니다. 30개 도구를 제공합니다. 예: wp_list_sites, wp_get_me, wp_get_settings.
프로젝트 README에서 생성된 요약
wordpress-mcp-cli MCP server 정보
이 도구는 AI 에이전트 내부에서 WordPress 콘텐츠, 미디어 및 SEO 설정을 관리할 수 있게 해줍니다. 게시물, 페이지, 커스텀 포스트 타입, 분류(taxonomies), 사용자 및 댓글을 처리하기 위한 42개의 특화된 도구를 제공합니다. 개발자는 이를 스크립트 및 cron 작업을 위한 명령줄 인터페이스로 사용하거나, Claude Code, Claude Desktop, Cursor와 같은 클라이언트를 위한 MCP server로 사용할 수 있습니다.
설정은 WordPress 프로필의 애플리케이션 비밀번호를 사용하므로 OAuth 등록 없이 간편하게 진행할 수 있습니다. 대부분의 도구는 표준 REST API로 작동하지만, 작은 헬퍼 플러그인을 사용하면 에이전트가 숨겨진 메타 필드에 접근할 수 있습니다. 이 기능은 일반적인 API로는 접근할 수 없는 Elementor 레이아웃, ACF 값, Rank Math SEO 설정과 상호작용하는 데 필수적입니다. 실수로 인한 변경을 방지하기 위해 시스템은 기본적으로 초안 상태로 설정하며, 콘텐츠를 발행하거나 일괄 편집을 수행하기 전에는 명시적인 확인을 요구합니다.
활용 사례
- 1SEO 메타데이터 감사검색 노출을 개선하기 위해 메타 설명이 누락된 게시물을 식별합니다.
- 2Elementor 레이아웃 관리숨겨진 메타 필드에 저장된 복잡한 페이지 디자인을 읽고 업데이트합니다.
- 3콘텐츠 초안 작성 자동화새 게시물을 생성하고 특정 카테고리에 초안으로 분류합니다.
- 4사이트 리다이렉트 처리Rank Math를 통해 URL 변경을 관리하기 위한 영구 리다이렉트를 설정합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
wordpress-mcp-cli MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 wordpress-mcp-cli MCP 설치
$ claude mcp add wordpress-mcp-cli -- npx -y @thenavidm/wordpress-mcp-cliCursor에 wordpress-mcp-cli MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"wordpress-mcp-cli": {
"command": "npx",
"args": [
"-y",
"@thenavidm/wordpress-mcp-cli"
]
}
}
}VS Code에 wordpress-mcp-cli MCP 설치
.vscode/mcp.json
{
"servers": {
"wordpress-mcp-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@thenavidm/wordpress-mcp-cli"
]
}
}
}VS Code CLI에 wordpress-mcp-cli MCP 설치
$ code --add-mcp '{"name":"wordpress-mcp-cli","type":"stdio","command":"npx","args":["-y","@thenavidm/wordpress-mcp-cli"]}'Claude Desktop에 wordpress-mcp-cli MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"wordpress-mcp-cli": {
"command": "npx",
"args": [
"-y",
"@thenavidm/wordpress-mcp-cli"
]
}
}
}Codex에 wordpress-mcp-cli MCP 설치
$ codex mcp add wordpress-mcp-cli -- npx -y @thenavidm/wordpress-mcp-cliCodex config.toml에 wordpress-mcp-cli MCP 설치
~/.codex/config.toml
[mcp_servers.wordpress-mcp-cli] command = "npx" args = ["-y", "@thenavidm/wordpress-mcp-cli"]
Gemini CLI에 wordpress-mcp-cli MCP 설치
$ gemini mcp add -s user wordpress-mcp-cli npx -- -y @thenavidm/wordpress-mcp-cliGemini settings.json에 wordpress-mcp-cli MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"wordpress-mcp-cli": {
"command": "npx",
"args": [
"-y",
"@thenavidm/wordpress-mcp-cli"
]
}
}
}wordpress-mcp-cli MCP 도구 30
README에서 감지됨wp_list_siteswp_get_mewp_get_settingswp_searchwp_list_postswp_get_postwp_create_postwp_update_postwp_delete_postwp_list_pageswp_create_pagewp_update_page
| wp_list_sites | — | |
| wp_get_me | — | |
| wp_get_settings | — | |
| wp_search | — | |
| wp_list_posts | — | |
| wp_get_post | — | |
| wp_create_post | — | |
| wp_update_post | — | |
| wp_delete_post | — | |
| wp_list_pages | — | |
| wp_create_page | — | |
| wp_update_page | — |
도구 30개 모두 보기도구 수 줄이기
wp_list_post_typeswp_list_customwp_get_customwp_create_customwp_update_customwp_delete_customwp_list_mediawp_get_mediawp_upload_mediawp_delete_mediawp_list_categorieswp_create_categorywp_list_tagswp_create_tagwp_list_taxonomieswp_list_taxonomy_termswp_list_userswp_list_comments
| wp_list_post_types | — | |
| wp_list_custom | — | |
| wp_get_custom | — | |
| wp_create_custom | — | |
| wp_update_custom | — | |
| wp_delete_custom | — | |
| wp_list_media | — | |
| wp_get_media | — | |
| wp_upload_media | — | |
| wp_delete_media | — | |
| wp_list_categories | — | |
| wp_create_category | — | |
| wp_list_tags | — | |
| wp_create_tag | — | |
| wp_list_taxonomies | — | |
| wp_list_taxonomy_terms | — | |
| wp_list_users | — | |
| wp_list_comments | — |
구성
WORDPRESS_APP_PASSWORDWORDPRESS_DEFAULT_SITEWORDPRESS_SITESWORDPRESS_SITE_URLWORDPRESS_USERNAME
| 이름 | 설명 | 유형 |
|---|---|---|
| WORDPRESS_APP_PASSWORD | — | |
| WORDPRESS_DEFAULT_SITE | — | |
| WORDPRESS_SITES | — | |
| WORDPRESS_SITE_URL | — | |
| WORDPRESS_USERNAME | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능thenavidm/wordpress-mcp-cli is public and reachablegithub.com/thenavidm/wordpress-mcp-cli ↗통과
- 패키지가 이 저장소를 소스로 명시@thenavidm/wordpress-mcp-cli names thenavidm/wordpress-mcp-cli as sourcenpmjs.com/package/@thenavidm/wordpress-mcp-cli ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for @thenavidm/wordpress-mcp-clinpmjs.com/package/@thenavidm/wordpress-mcp-cli/v/2.0.1#prove ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-06github.com/thenavidm/wordpress-mcp-cli ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from @thenavidm/wordpress-mcp-cli통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음30 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기WordPress MCP Server & CLI
WordPress MCP server and CLI for Claude Code, Codex and AI agents. 42 tools for posts, pages, custom post types, media, taxonomies, Elementor, Rank Math SEO, redirects, bulk edits, multi-site.
One install gives you both surfaces, the same 42 tools under the same names.
There is no OAuth app to register and no plugin required: an application password from your own profile screen is the whole setup.
It defaults to drafts. Publishing is the one thing here that cannot be taken back, so it takes a deliberate confirmation.
It also reads the meta fields WordPress hides from its own REST API, which is where Elementor layouts and ACF values actually live.
Built and maintained by Navid Moazzez. Built on Slipway, which turns one definition of each tool into the MCP server and the CLI.
You: Which posts on my blog are missing a meta description?
Claude: Checked the 40 published posts. Eleven have no meta description,
and these four get the most traffic:
• "How I plan a launch" /how-i-plan-a-launch
• "The tools I actually use" /tools-i-actually-use
• "Pricing, honestly" /pricing-honestly
• "What I got wrong in 2025" /what-i-got-wrong-in-2025
Three more are set to noindex, which looks unintentional:
two are 2,000-word guides and one is your services page.
Want me to draft descriptions for the four, or start with the
noindex on the services page?
Two ways to use it
Command line
wordpress-cli in your terminal, for scripting, cron, pipes, or just asking a
quick question without opening anything:
wordpress-cli # every command, one line each
wordpress-cli wp-list-posts --status draft --per-page 5
wordpress-cli wp-search "pricing"
wordpress-cli wp-get-post --post-id 42 --select id,title.rendered
wordpress-cli wp-create-post --title "Launch notes" --content "Draft body."
wordpress-cli wp-list-sites --json | jq -r '.sites[].name'
wordpress-cli wp-create-post --title "Live now" --content "…" --status publish --confirm
wordpress-cli <command> --help # what any command takes
--confirm is the shell spelling of the confirmation that publishing, permanent
deletion, replacing an Elementor layout and bulk edits require. --json gives
JSON, --compact puts it on one line, --select keeps only the fields you name,
and errors are JSON on stderr whichever you pick.
--agent is compact JSON with no prompts, and it never confirms a write.
Exit codes, so a script can branch without reading prose: 0 ok, 1 an
unexpected error, 2 bad arguments or a hidden or refused write, 3 not found,
4 auth, 5 the site failed, 7 rate limited, 10 nothing configured, or the
helper plugin or Rank Math missing.
MCP server, for your AI app
wordpress-mcp is what Claude Code, Claude Desktop, Cursor and the rest launch.
You never run it by hand:
claude mcp add wordpress \
-e WORDPRESS_SITE_URL=https://example.com \
-e WORDPRESS_USERNAME=your-wp-username \
-e "WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx" \
-- npx -y @thenavidm/wordpress-mcp-cli@latest
Then just ask: "which of my published posts have no meta description?"
Each publish waits for your approval in the client, as section 8 explains.
Every other client is in section 4.
Which one
| Where you are | What you can reach |
|---|---|
| An agent that can run shell commands, like Claude Code or Cursor | Both. The CLI is the cheaper one: it costs nothing until you type it |
| claude.ai, the Claude Desktop chat tab, or a phone | The server only. There is no shell to run a command in |
| A terminal, a script, cron or CI | The CLI only. There is no MCP client in a shell |
They are the same program reading the same tool definitions, so anything one can do, the other can.
Features
Every tool is both a command and an MCP tool, with the same name. The command is the tool name with dashes.
| Capability | CLI command | MCP tool |
|---|---|---|
| See which sites and which user | wordpress-cli wp-list-sites / wp-get-me / wp-get-settings |
wp_list_sites / wp_get_me / wp_get_settings |
| Find anything | wordpress-cli wp-search |
wp_search |
| Posts and pages | wordpress-cli wp-list-posts / wp-create-post / wp-update-post / wp-list-pages |
wp_list_posts / wp_create_post / wp_update_post / wp_list_pages |
| Custom post types | wordpress-cli wp-list-post-types / wp-list-custom / wp-create-custom |
wp_list_post_types / wp_list_custom / wp_create_custom |
| Media | wordpress-cli wp-list-media / wp-upload-media |
wp_list_media / wp_upload_media |
| Categories, tags and taxonomies | wordpress-cli wp-list-categories / wp-create-category / wp-list-taxonomy-terms |
wp_list_categories / wp_create_category / wp_list_taxonomy_terms |
| Users and comments | wordpress-cli wp-list-users / wp-list-comments |
wp_list_users / wp_list_comments |
| Hidden meta and Elementor, with the helper plugin | wordpress-cli wp-get-all-meta / wp-get-elementor / wp-update-elementor |
wp_get_all_meta / wp_get_elementor / wp_update_elementor |
| Rank Math SEO and redirects, with the helper plugin | wordpress-cli wp-get-rankmath / wp-update-rankmath / wp-list-redirects |
wp_get_rankmath / wp_update_rankmath / wp_list_redirects |
| Bulk edits, with the helper plugin | wordpress-cli wp-bulk-update / wp-bulk-delete |
wp_bulk_update / wp_bulk_delete |
| Check your setup | wordpress-cli doctor |
not a tool |
All 42 are in section 7.
Contents
| # | Section | What is in it |
|---|---|---|
| 1 | What you can ask it | Real prompts, not features |
| 2 | Quick install | The package, no account needed |
| 3 | Set up your account | Every click |
| 4 | Connect your client | Claude Code, Desktop, Cursor |
| 5 | Check it worked | doctor |
| 6 | Which surface, and what each costs | Measured in Claude Code, and how to spend less |
| 7 | Tools | All 42, by what they reach |
| 8 | Writing safely | What is guarded and what is not |
| 9 | Notes and gotchas | WordPress's real behavior |
| 10 | Troubleshooting | Symptom to cause |
| 11 | FAQ | Including what an MCP server is |
1. What you can ask it 💬
- "Draft a post about the launch, file it under Marketing, and leave it as a draft."
- "Which posts are missing a meta description?"
- "Find every page that mentions the old pricing and show me where."
- "Duplicate the services page so I can rewrite it without touching the live one."
- "What custom post types does this site have, and how many items are in each?"
- "Redirect the old blog URL to the new one, permanently."
- "Upload this image, set the alt text, and make it the featured image on post 412."
- "List everything sitting in the moderation queue."
- "Which of my pages are set to noindex?"
- "Move all twelve of last year's event posts to draft."
The thing that is genuinely impossible without this: reading and writing the meta fields WordPress hides. Core refuses to expose any meta key beginning with an underscore, at any privilege level. That is where Elementor stores an entire page layout, where ACF stores its field values, and where Rank Math stores its SEO settings. Without the helper plugin included here, none of it is reachable over the API, so an agent looking at an Elementor page sees an empty post and concludes the page is blank.
2. Quick install ⚡
Node 22 or newer. Nothing else.
npx -y @thenavidm/wordpress-mcp-cli --version
That is the whole install. npx fetches it on demand, so there is nothing to update later.
3. Set up your account 🔑
The long version, every step with what to do when one fails, is in INSTALL.md.
You need an application password. It is not your login password. WordPress has generated these since version 5.6, they are revocable one at a time, and they carry the role of the user they belong to.
Your site has to be served over HTTPS. WordPress disables application passwords over plain HTTP.
Have an agent do it
The agent cannot sign in to WordPress for you. Only you can create the credential. What it can do is walk you through it, wire up the config, and verify the connection.
Paste this into Claude Code, Cursor, or any agent with terminal access:
Help me connect my WordPress site to the wordpress-mcp server.
1. Tell me to open my site's wp-admin and go to Users, then Profile.
2. Tell me to scroll to the "Application Passwords" section, enter a
descriptive name such as "Claude MCP", and create one.
3. Stop and wait. I will paste the generated password back to you.
Do not continue until I do.
4. Ask me for my site URL and my WordPress username.
5. Add the server to my MCP client config with those three values.
6. Run `npx -y @thenavidm/wordpress-mcp-cli doctor` and tell me what it says.
Or do it yourself
- Sign in to your site's
wp-adminas the user you want the agent to act as. - Go to Users, then Profile. To set one up for a different user, go to Users, then All Users, and edit that user instead.
- Scroll to the Application Passwords section.
- Enter a descriptive name, something like
Claude MCP, and create the password. - Copy what WordPress shows you. It is displayed once and never again.
WordPress shows the password in space-separated groups. It works with the spaces or without them, so paste whichever you have.
Which user to use
The application password carries that user's role exactly. An Author account can only reach its own posts, however the request is phrased.
| Role | What the agent can do |
|---|---|
| Administrator | Everything, including site settings and permanent deletion |
| Editor | Everything to content: publish, edit anyone's posts, upload media |
| Author | Its own posts only |
Editor is enough for almost all of this. Give the agent its own WordPress user rather than reusing your login, and you can revoke it without disturbing anything else.
The helper plugin
Thirty of the 42 tools work with nothing installed. The other twelve, covering Elementor, Rank Math, redirects, protected meta and bulk edits, need the small plugin in plugin/.
Copy plugin/mcp-wordpress-helper.php into wp-content/mu-plugins/ on your site. Files there load automatically, so there is nothing to activate. It registers routes under wordpress-mcp/v1, and every route checks the same capabilities WordPress would check itself.
Revoking
Go back to Users, then Profile, and revoke the password in the Application Passwords section. It stops working immediately, and your login password and every other integration are unaffected.
4. Connect your client 🔌
Claude Code
claude mcp add wordpress \
-e WORDPRESS_SITE_URL=https://example.com \
-e WORDPRESS_USERNAME=your-wp-username \
-e "WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx" \
-- npx -y @thenavidm/wordpress-mcp-cli@latest
--scope user makes it available in every project rather than just the current one.
Claude Desktop
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "@thenavidm/wordpress-mcp-cli@latest"],
"env": {
"WORDPRESS_SITE_URL": "https://example.com",
"WORDPRESS_USERNAME": "your-wp-username",
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
}
}
Quit Claude Desktop completely and reopen it.
Or skip the JSON: download wordpress-<version>.mcpb from the
latest release
and open it. Claude Desktop asks for the site address, the username and the
application password, and carries its own copy of everything it needs.
[!TIP] Claude Desktop does not inherit your shell PATH, so a bare command name fails silently. Use the absolute path from
which npx, and fully quit the app rather than closing the window.
claude.ai on the web
claude.ai runs connectors from Anthropic's cloud, so it cannot launch a local command. It needs a public HTTPS URL.
npx -y @thenavidm/wordpress-mcp-cli@latest --http --port=8790
Either spelling works: --port=8790 or --port 8790. WORDPRESS_HTTP_PORT
works too, and the flag wins over the variable.
Host it somewhere with a public HTTPS URL, then in claude.ai: Customize, then Connectors, then +, then Add custom connector. Paste the URL and click Add.
[!WARNING] Anything that can reach that port can publish to and permanently delete from your site without ever seeing the password. Set
WORDPRESS_HTTP_TOKENto a long random string; the server refuses to bind anything but loopback without one. A page from another site is refused unlessWORDPRESS_HTTP_ALLOWED_ORIGINSlists it.
Cursor
.cursor/mcp.json, same JSON shape as Claude Desktop, key mcpServers.
Windsurf
~/.codeium/windsurf/mcp_config.json, key mcpServers.
VS Code
.vscode/mcp.json. The key is servers, not mcpServers, and each entry takes "type": "stdio".
Codex CLI
~/.codex/config.toml:
[mcp_servers.wordpress]
command = "npx"
args = ["-y", "@thenavidm/wordpress-mcp-cli@latest"]
[mcp_servers.wordpress.env]
WORDPRESS_SITE_URL = "https://example.com"
WORDPRESS_USERNAME = "your-wp-username"
WORDPRESS_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
Gemini CLI
~/.gemini/settings.json, key mcpServers.
Everything else
Any stdio MCP client takes the same three things: the command npx, the args, and the env block.
Or let the CLI write the entry, in each client's own format:
npx -y -p @thenavidm/wordpress-mcp-cli wordpress-cli install claude-code
It takes claude-code, codex, claude-desktop, cursor, vscode or gemini, and --dry-run shows the change first.
More than one site
Set WORDPRESS_SITES to a JSON array instead of the single-site variables, and every tool takes an optional site:
{
"env": {
"WORDPRESS_SITES": "[{\"name\":\"blog\",\"url\":\"https://example.com\",\"username\":\"you\",\"app_password\":\"xxxx xxxx xxxx xxxx xxxx xxxx\"},{\"name\":\"shop\",\"url\":\"https://shop.example.com\",\"username\":\"you\",\"app_password\":\"yyyy yyyy yyyy yyyy yyyy yyyy\"}]",
"WORDPRESS_DEFAULT_SITE": "blog"
}
}
Without WORDPRESS_DEFAULT_SITE, a call that does not name a site is refused rather than guessed at.
5. Check it worked 🩺
npx -y @thenavidm/wordpress-mcp-cli doctor
It walks the chain in order and stops at the first thing actually broken: HTTPS, then the shape of the password, then authentication, then the user's role, then whether the helper plugin is installed.
The two that come up most:
- "12 characters ignoring spaces, where WordPress generates 24." That is a login password. Application passwords are 24 characters and are generated in the Application Passwords section of the profile screen.
- "this user cannot publish posts." The credential is fine and the role is too low. Use an Editor or Administrator account.
6. Which surface, and what each costs 💸
Both surfaces are the same program with the same 42 tools. The difference is when the model pays for them. Measured in Claude Code:
| Cost | MCP server | CLI |
|---|---|---|
| Every message, with every tool loaded | 21,400 tokens | nothing |
| Every message, Claude Code's default | 1,300 tokens | nothing |
| When WordPress comes up | nothing more, or the tools it picks | 4,000 tokens for SKILL.md, once |
| 20 messages with WordPress in 1, every tool loaded | 428,000 tokens | 4,000 tokens |
Claude Code's tool search is on by default: it sends only the tool names and the server instructions, and loads a tool's full definition when the model reaches for it. An app that loads every tool up front pays the first line on every message, whether WordPress comes up or not. With the skill added, Claude Code also lists its one-line description, about 150 tokens.
Where the tokens go, with every tool loaded:
| Part of the tool list | Share |
|---|---|
| Structure: names, types, required lists, nesting, annotations | 49% |
| Argument descriptions | 32% |
| Tool descriptions | 19% |
To spend less, turn the server off when you are not using it, which in Claude
Code is the /mcp panel. WORDPRESS_READ_ONLY=1 takes the 20 write tools off the list, leaving 22,
and on a site without the helper plugin WORDPRESS_TOOLSETS=core leaves out the twelve that need it.
Or install the CLI and add the server on the days it earns its place.
Measured on 2026-10-05 with Claude Code 2.1.286 on Claude Opus 5.5: one
short prompt with and without the server connected, once with
ENABLE_TOOL_SEARCH=false and once with the default, the difference read
from the API's own usage figures. SKILL.md was measured the same way. Other
apps and models count tokens a little differently.
Against 1.1.3, measured the same day: every tool loaded costs 21,418 tokens
instead of 23,263, tool search the same within 2 tokens (1,330 against 1,328,
one of them for American spelling in the server instructions), and SKILL.md
82 more, because it now says how approval works over MCP and lists every exit
code. In Codex 0.159.3 on gpt-6.1-sol, the same task, "find the command that
sets a post's Rank Math SEO title and meta description, and the flags it
requires", read a median of 83,568 input tokens on 2.0.0 against 84,368 on
1.1.3 over the CLI, five runs each: Codex now asks which instead of reading
the full command list. Over MCP, Codex prints the tool list with a script and
cuts the printout to about 10,000 tokens, so it read about 9,600 on both
versions, out of a full listing of 40,174 tokens on 2.0.0 against 40,531. The
input totals, a median of 48,498 against 48,386, also carry the model's
reasoning into its second request, which three of the five 2.0.0 runs did and
none of the 1.1.3 runs; the two 2.0.0 runs that did not read 48,419 and 48,392.
7. Tools 🛠️
Thirty need nothing installed. The twelve marked 🔌 need the helper plugin, and wordpress-cli lists them under their own heading. On a site without it, WORDPRESS_TOOLSETS=core leaves them off the list.
Sites and identity
| Tool | What it does |
|---|---|
wp_list_sites |
Every configured site, its short name, and whether the plugin is there |
wp_get_me |
The user the password belongs to, and its capabilities |
wp_get_settings |
Title, tagline, timezone, date formats, default category |
Finding things
| Tool | What it does |
|---|---|
wp_search |
One search across every searchable post type and term |
Posts
| Tool | What it does |
|---|---|
wp_list_posts |
Filter by status, search, category, tag, author, date range |
wp_get_post |
One post, raw rather than rendered |
wp_create_post |
Create, draft by default |
wp_update_post |
Change only the fields passed |
wp_delete_post |
Trash, or permanently delete with force |
🔌 wp_duplicate_post |
Copy a post with all its meta, as a draft |
Pages
| Tool | What it does |
|---|---|
wp_list_pages |
Filter by status, search, parent, slug |
wp_create_page |
Create, with optional parent for nesting |
wp_update_page |
Change only the fields passed |
Custom post types
| Tool | What it does |
|---|---|
wp_list_post_types |
Every registered type and its REST base |
wp_list_custom |
List items of any type |
wp_get_custom |
One item |
wp_create_custom |
Create an item |
wp_update_custom |
Update an item |
wp_delete_custom |
Trash or delete an item |
Media
| Tool | What it does |
|---|---|
wp_list_media |
Filter by search, MIME type, or attached post |
wp_get_media |
One attachment, with every generated size |
wp_upload_media |
Upload from a URL, then set title, alt text and caption |
wp_delete_media |
Delete an attachment and its generated sizes |
Categories, tags and taxonomies
| Tool | What it does |
|---|---|
wp_list_categories |
With IDs and post counts |
wp_create_category |
Create one and return its ID |
wp_list_tags |
With IDs and post counts |
wp_create_tag |
Create one and return its ID |
wp_list_taxonomies |
Every taxonomy and its REST base |
wp_list_taxonomy_terms |
Terms in any taxonomy |
People
| Tool | What it does |
|---|---|
wp_list_users |
Users, with roles where visible |
wp_list_comments |
Comments, including the moderation queue |
The fields core hides
| Tool | What it does |
|---|---|
🔌 wp_get_all_meta |
Every meta field, including underscore-prefixed |
🔌 wp_update_meta |
Write meta fields, including protected keys |
🔌 wp_get_elementor |
The Elementor widget tree for a page |
🔌 wp_update_elementor |
Replace the Elementor widget tree |
SEO
| Tool | What it does |
|---|---|
🔌 wp_get_rankmath |
Every Rank Math field set on a post |
🔌 wp_update_rankmath |
Titles, descriptions, robots, canonical, OG, Twitter |
🔌 wp_list_redirects |
Redirects with sources, destinations and codes |
🔌 wp_create_redirect |
301, 302, 307, 410 or 451 |
🔌 wp_delete_redirect |
Remove a redirect |
Bulk
| Tool | What it does |
|---|---|
🔌 wp_bulk_update |
Same change across a list of posts |
🔌 wp_bulk_delete |
Trash or delete a list of posts |
wordpress-mcp-cli MCP 질문
wordpress-mcp-cli MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add wordpress-mcp-cli -- npx -y @thenavidm/wordpress-mcp-cli를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
wordpress-mcp-cli MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
wordpress-mcp-cli MCP는 어떤 도구를 제공하나요?
30개 도구를 제공합니다. 예: wp_list_sites, wp_get_me, wp_get_settings, wp_search, wp_list_posts.
WordPress MCP server 인증은 어떻게 하나요?
사용자 프로필 화면에서 생성한 WordPress 애플리케이션 비밀번호를 사용합니다. 일반 로그인 비밀번호와는 다릅니다.
이 서버를 사용하려면 플러그인이 필요한가요?
기본 기능을 사용하는 데는 플러그인이 필요하지 않지만, Elementor 레이아웃, Rank Math SEO, 리다이렉트 및 일괄 편집 기능에 접근하려면 헬퍼 플러그인이 필요합니다.
AI가 게시물을 자동으로 발행할 수 있나요?
발행은 되돌릴 수 없는 작업이므로 반드시 사용자의 확인이 필요합니다. 안전을 위해 서버는 기본적으로 초안(draft) 상태로 생성합니다.
CLI와 MCP server의 차이점은 무엇인가요?
CLI는 터미널 사용, 스크립트 및 cron 작업용이며, MCP server는 Claude Desktop 또는 Cursor와 같은 AI 클라이언트와의 통합을 위해 설계되었습니다.