WordPress MCP Server
워드프레스 MCP 서버
WordPress 통합을 위한 MCP(Model Context Protocol) 서버로, Windows, macOS, Linux와 호환됩니다.
개요
이 MCP 서버는 WordPress REST API를 통해 WordPress 사이트와의 상호작용을 지원합니다. JSON-RPC 2.0 프로토콜을 사용하여 게시물을 작성, 검색 및 업데이트하는 도구를 제공합니다.
Related MCP server: WordPress MCP Server
설치
저장소를 복제합니다
종속성 설치:
지엑스피1
프로젝트를 빌드하세요:
npm run build구성
WordPress 자격 증명에 대한 환경 변수를 사용하여 MCP 설정 파일에 서버를 추가합니다.
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": ["path/to/build/index.js"],
"env": {
"WORDPRESS_SITE_URL": "https://your-wordpress-site.com",
"WORDPRESS_USERNAME": "your-username",
"WORDPRESS_PASSWORD": "your-app-password"
}
}
}
}환경 변수는 다음과 같습니다.
WORDPRESS_SITE_URL: WordPress 사이트 URL
WORDPRESS_USERNAME: WordPress 사용자 이름
WORDPRESS_PASSWORD: WordPress 애플리케이션 비밀번호
환경 변수를 사용하지 않으려면 요청 매개변수에 이러한 자격 증명을 제공할 수도 있습니다.
사용 가능한 방법
게시물 생성
새로운 WordPress 게시물을 만듭니다.
매개변수:
siteUrl: (env에 설정된 경우 선택 사항) WordPress 사이트 URL
사용자 이름: (env에 설정된 경우 선택 사항) WordPress 사용자 이름
비밀번호: (env에 설정된 경우 선택 사항) WordPress 애플리케이션 비밀번호
제목: 게시물 제목
콘텐츠: 게시물 콘텐츠
상태: (선택 사항) '초안' | '게시' | '비공개' (기본값: '초안')
게시물 받기
WordPress 게시물을 검색합니다.
매개변수:
siteUrl: (env에 설정된 경우 선택 사항) WordPress 사이트 URL
사용자 이름: (env에 설정된 경우 선택 사항) WordPress 사용자 이름
비밀번호: (env에 설정된 경우 선택 사항) WordPress 애플리케이션 비밀번호
perPage: (선택 사항) 페이지당 게시물 수(기본값: 10)
페이지: (선택 사항) 페이지 번호(기본값: 1)
업데이트_게시물
기존 WordPress 게시물을 업데이트합니다.
매개변수:
siteUrl: (env에 설정된 경우 선택 사항) WordPress 사이트 URL
사용자 이름: (env에 설정된 경우 선택 사항) WordPress 사용자 이름
비밀번호: (env에 설정된 경우 선택 사항) WordPress 애플리케이션 비밀번호
postId: 업데이트할 게시물의 ID
title: (선택사항) 새 게시물 제목
content: (선택사항) 새 게시물 콘텐츠
상태: (선택 사항) '초안' | '게시' | '비공개'
보안 참고 사항
보안을 위해 기본 계정 비밀번호 대신 WordPress 애플리케이션 비밀번호를 사용하는 것이 좋습니다. WordPress 대시보드의 '사용자' → '보안' → '애플리케이션 비밀번호'에서 애플리케이션 비밀번호를 생성할 수 있습니다.
사용 예
환경 변수 사용:
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"title": "My New Post",
"content": "Hello World!",
"status": "draft"
}
}환경 변수 없이:
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"siteUrl": "https://your-wordpress-site.com",
"username": "your-username",
"password": "your-app-password",
"title": "My New Post",
"content": "Hello World!",
"status": "draft"
}
}요구 사항
Node.js 20.0.0 이상
REST API가 활성화된 WordPress 사이트
인증을 위한 WordPress 애플리케이션 비밀번호
특허
MIT 라이선스 - 자세한 내용은 라이선스 파일을 참조하세요.
Available Tools
3 toolscreate_postC
Create a new WordPress post
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Post content | |
| password | No | WordPress password (overrides WORDPRESS_PASSWORD env var) | |
| siteUrl | No | WordPress site URL (overrides WORDPRESS_SITE_URL env var) | |
| status | No | Post status (draft, publish, etc.) | draft |
| title | Yes | Post title | |
| username | No | WordPress username (overrides WORDPRESS_USERNAME env var) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Create' implies a write operation but fails to mention authentication requirements, potential side effects (e.g., publishing status), or error handling. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action, making it easy to scan and understand quickly without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on authentication, post-creation behavior (e.g., default status), error cases, or how it differs from sibling tools, leaving critical context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no additional parameter semantics beyond what's in the schema, such as explaining relationships between parameters or usage nuances, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create') and resource ('new WordPress post'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'update_post' beyond the basic action, missing explicit distinction about when to create versus update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'update_post' or 'get_posts'. The description lacks context about prerequisites, such as authentication or site setup, leaving usage unclear beyond the basic action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_postsC
Get WordPress posts
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| password | No | WordPress password (overrides WORDPRESS_PASSWORD env var) | |
| perPage | No | Number of posts per page | |
| siteUrl | No | WordPress site URL (overrides WORDPRESS_SITE_URL env var) | |
| username | No | WordPress username (overrides WORDPRESS_USERNAME env var) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get WordPress posts' implies a read operation, but it doesn't specify whether this requires authentication, how it handles pagination, what the return format is, or any rate limits. The description is too minimal to provide meaningful behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description 'Get WordPress posts' is extremely concise—just three words—and front-loaded with the core action. There is no wasted language or unnecessary elaboration, making it efficient for quick understanding. It earns a high score for brevity and directness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what the tool returns, how authentication works (implied by parameters but not stated), or any behavioral traits. With no output schema and minimal description, it fails to provide enough context for effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for all 5 parameters (e.g., 'page', 'perPage', 'siteUrl'). The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or usage examples. According to the rules, with high schema coverage (>80%), the baseline score is 3, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get WordPress posts' clearly states the verb ('Get') and resource ('WordPress posts'), making the basic purpose understandable. However, it lacks specificity about what 'Get' entails (e.g., listing, retrieving, filtering) and doesn't distinguish it from sibling tools like 'create_post' or 'update_post', which are clearly different operations. This makes it vague but not tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, such as when to use it over other post-related tools or under what conditions it's appropriate. This leaves the agent without usage direction beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_postC
Update an existing WordPress post
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | New post content | |
| password | No | WordPress password (overrides WORDPRESS_PASSWORD env var) | |
| postId | Yes | Post ID to update | |
| siteUrl | No | WordPress site URL (overrides WORDPRESS_SITE_URL env var) | |
| status | No | New post status (draft, publish, etc.) | |
| title | No | New post title | |
| username | No | WordPress username (overrides WORDPRESS_USERNAME env var) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't mention authentication requirements (though parameters suggest them), permission levels, whether changes are reversible, or what happens to unspecified fields. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to quickly understand what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain authentication requirements (implied by parameters but not stated), error conditions, return values, or behavioral nuances. The agent would need to rely heavily on the schema and trial-and-error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so all parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, which is acceptable given the high schema coverage. The baseline of 3 reflects that the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and resource ('an existing WordPress post'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling 'create_post' tool beyond the obvious 'existing' vs 'new' distinction, which is why it doesn't reach a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'create_post' or 'get_posts'. There's no mention of prerequisites, constraints, or typical use cases, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
create_post - First observed
get_posts - First observed
update_post
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose targeting different CRUD operations: create_post for creation, get_posts for retrieval, and update_post for modification. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool.
All tool names follow a consistent verb_noun pattern (create_post, get_posts, update_post) with no deviations in style or convention. This predictability enhances readability and usability for agents.
With only 3 tools, the set feels thin for a WordPress server, as it lacks delete_post and other common operations like managing pages or media. While the tools cover basic post CRUD, the scope is limited and may not support full agent workflows.
The tool surface is significantly incomplete for WordPress management. It includes create, get, and update for posts but omits delete_post, as well as tools for pages, media, users, or settings, leaving notable gaps that could cause agent failures in broader tasks.
Maintenance
Related MCP Connectors
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Manage WordPress blogs and WooCommerce shops from Claude, ChatGPT, Cursor and other MCP apps.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA server enabling seamless interaction between AI models and WordPress sites with secure, standardized communication using the WordPress REST API for comprehensive site management.380 npm162MIT
- AlicenseNot gradedqualityNot gradedmaintenanceA server that enables integration between Claude Desktop and WordPress, allowing for AI-assisted blogging through a Message Control Protocol implementation.MIT
- AlicenseNot gradedqualityCmaintenanceA local server that enables Claude or other MCP tools to manage WordPress posts and media via REST API.16 npmMIT
- AlicenseAqualityCmaintenanceMCP server for WordPress REST API that enables managing posts, pages, media, comments, categories, tags, and users through 20 tools.20MIT