{"_id":"@anuragsingk/mcp-wordpress","name":"@anuragsingk/mcp-wordpress","dist-tags":{"latest":"3.3.12"},"versions":{"3.3.12":{"name":"@anuragsingk/mcp-wordpress","version":"3.3.12","description":"Comprehensive Model Context Protocol server for WordPress management with composition-based architecture, 59 tools, SEO toolkit, performance monitoring, intelligent caching, and production-ready authentication. Community fork with multi-site, DXT, OpenCod","keywords":["mcp","model-context-protocol","wordpress","cms","rest-api","ai","assistant","opencode","claude","multi-site"],"homepage":"https://github.com/anuragsingk/mcp-wordpress#readme","bugs":{"url":"https://github.com/anuragsingk/mcp-wordpress/issues"},"repository":{"type":"git","url":"git+https://github.com/anuragsingk/mcp-wordpress.git"},"license":"MIT","author":{"name":"Thomas Dyhr"},"contributors":[{"name":"anuragsingk","email":"anurag989719@gmail.com"}],"type":"module","main":"dist/index.js","bin":{"mcp-wordpress":"bin/mcp-wordpress.js","wordpress-setup":"bin/setup.js","wordpress-setup-multisite":"bin/setup-multisite.js","wordpress-status":"bin/status.js"},"scripts":{"build":"tsc && tsc-alias","build:watch":"tsc --watch","check:ci":"npm run typecheck && npm run lint && npm run test:coverage","check:ignore":"node scripts/sync-ignore-files.js","dev":"npm run build && DEBUG=true node dist/index.js","docker:build":"docker build -t docdyhr/mcp-wordpress:latest .","docker:publish":"./scripts/manual-docker-publish.sh","docs:generate":"npm run build && node scripts/generate-docs.js","docs:serve":"npm run docs:generate && node scripts/serve-docs.js","docs:validate":"npm run docs:generate && node scripts/validate-docs.js","docs:watch":"npm run docs:generate && echo 'Watching for changes...' && npm run docs:serve","doctor:vscode":"npm run test:vscode && echo '\n🩺 VS Code health check complete'","dxt:clean":"rm -rf dxt-build mcp-wordpress.dxt minimal-dxt-build mcp-wordpress-minimal.dxt mcp-wordpress-official.dxt","dxt:package":"npm run dxt:clean && npm run dxt:build","dxt:package:official":"npm run build && node scripts/build-dxt-clean.cjs","eval":"npm run build && npx mcp-eval evaluations/config/wordpress-tools-eval.yaml dist/index.js","eval:report":"node evaluations/scripts/generate-report.js","fix:rest-auth":"bash scripts/fix-rest-api-auth.sh","format":"prettier --write *.md docs/**/*.md src/**/*.ts tests/**/*.ts","format:check":"prettier --check *.md docs/**/*.md src/**/*.ts tests/**/*.ts","health":"node scripts/health-check.js","lint":"eslint src/ tests/","lint:fix":"eslint src/ tests/ --fix","lint:md":"markdownlint *.md docs/**/*.md","lint:md:fix":"markdownlint *.md docs/**/*.md --fix","pre-commit":"lint-staged","prepare":"husky","prepublishOnly":"npm run build && npm run check:ignore","release":"semantic-release","release:dry":"semantic-release --dry-run","security:audit":"npm audit --production","security:fix":"npm audit fix","security:full":"npm run security:scan && npm run security:review && npm run security:monitor && npm run test:security","security:monitor":"npm audit --audit-level=moderate || echo 'Security monitoring completed'","security:review":"npm run test:security || echo 'Security review completed'","security:scan":"npm run build && node scripts/security-demo.js || npm audit --audit-level=low","setup":"node bin/setup.js","setup:multisite":"node bin/setup-multisite.js","setup:vscode":"code --install-extension bradlc.vscode-tailwindcss && code --install-extension continue.continue && code --install-extension ms-python.python && code --install-extension ms-vscode.hexeditor","start":"npm run build && node dist/index.js","status":"node bin/status.js","test":"npm run test:batch","test:auth":"node scripts/test-auth.js","test:batch":"npm run test:batch:1 && npm run test:batch:2 && npm run test:batch:3 && npm run test:batch:4","test:batch:1":"npm run build && NODE_OPTIONS=\"--max-old-space-size=8192\" vitest run tests/security/ tests/cache/ tests/server/ --no-coverage --reporter=default","test:batch:2":"npm run build && NODE_OPTIONS=\"--max-old-space-size=8192\" vitest run tests/client/ tests/config/ tests/utils/ --no-coverage --reporter=default","test:batch:3":"npm run build && NODE_OPTIONS=\"--max-old-space-size=8192\" vitest run tests/tools/ tests/performance/ --no-coverage --reporter=default","test:batch:4":"npm run build && NODE_OPTIONS=\"--max-old-space-size=8192\" vitest run tests/*.test.js tests/docs/ --no-coverage --reporter=default","test:cache":"npm run build && vitest run tests/cache/","test:ci":"npm run build && CI=true NODE_OPTIONS=\"--max-old-space-size=8192\" vitest run --reporter=default","test:ci:safe":"NODE_OPTIONS=\"--max-old-space-size=8192\" npx vitest run --config vitest.ci.config.ts","test:compatibility":"npm run build && vitest run tests/compatibility/ || echo 'No compatibility tests found'","test:config":"npm run build && vitest run tests/config/","test:coverage":"npm run build && NODE_OPTIONS=\"--max-old-space-size=8192\" vitest run --coverage","test:coverage:report":"npm run test:coverage && node scripts/coverage-guardrail.js","test:memory-config":"npm run build && NODE_OPTIONS=\"--max-old-space-size=6144\" vitest run --config vitest.memory-safe.config.ts","test:memory-safe":"npm run build && NODE_OPTIONS=\"--max-old-space-size=6144 --max-semi-space-size=256\" vitest run --no-coverage --reporter=default","test:performance":"npm run build && vitest run tests/performance/","test:performance:ci":"npm run build && mkdir -p tests/results && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/performance/ --reporter=json --outputFile=tests/results/performance-results.json","test:pre-push":"bash scripts/test-pre-push.sh","test:production-security":"npm audit --omit=dev","test:safe":"node scripts/run-tests-safe.cjs","test:security":"npm run build && vitest run tests/security/","test:security:validation":"npm run build && vitest run tests/security/penetration-tests.test.js","test:tools":"node scripts/test-all-tools-fixed.js","test:typescript":"npm run build && npm run typecheck","test:ui":"npm run build && vitest --ui","test:vscode":"npm run build && node dist/scripts/test-vscode-setup.js","test:watch":"vitest","typecheck":"tsc --noEmit","verify-claude":"node scripts/verify-claude-integration.js"},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.md":["markdownlint --fix"],"package.json":["sort-package-json"]},"overrides":{"@hono/node-server":"^1.19.13","@pact-foundation/pact-node":{"@types/request":{"form-data":"^4.0.3"}},"axios":">=1.16.0","brace-expansion":">=5.0.6","express-rate-limit":">=8.5.1","fast-uri":">=3.1.2","flatted":">=3.4.2","follow-redirects":">=1.15.12","hono":">=4.12.16","minimatch":"10.2.3","path-to-regexp":">=8.4.0","postcss":">=8.5.10","qs":">=6.15.2","tar":"7.5.11","underscore":"1.13.8","vite":">=7.3.2"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","dotenv":"^17.3.1","form-data":"^4.0.5","googleapis":"^171.4.0","zod":"^4.3.6"},"devDependencies":{"@eslint/js":"^10.0.1","@pact-foundation/pact":"^16.2.0","@pact-foundation/pact-node":"^10.18.0","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@types/node":"^25.3.3","@typescript-eslint/eslint-plugin":"^8.56.1","@typescript-eslint/parser":"^8.56.1","@vitest/coverage-v8":"^4.1.1","@vitest/ui":"^4.1.1","archiver":"^7.0.1","conventional-changelog-conventionalcommits":"^9.2.0","eslint":"^10.0.2","eslint-config-prettier":"^10.1.8","fast-check":"^4.5.3","fs-extra":"^11.3.3","husky":"^9.1.7","lint-staged":"^16.3.1","markdownlint-cli":"^0.48.0","nock":"^14.0.11","node-fetch":"^3.3.2","open":"^11.0.0","prettier":"^3.8.1","semantic-release":"^25.0.3","sort-package-json":"^3.6.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","vite-tsconfig-paths":"^6.1.1","vitest":"^4.1.1"},"engines":{"node":">=20.8.1"},"publishConfig":{"access":"public"},"_id":"@anuragsingk/mcp-wordpress@3.3.12","gitHead":"1269dd1b897c6e78454a578d97b43b4c9cbae093","types":"./dist/index.d.ts","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-8yeJEmhrNc4x8sIm25pT8YeRh3ScvNBgabW4yP9qs4l/Y5XQUQtgwspxCITVUSAgIwcxpflpZfi1p7PDReWUeQ==","shasum":"43b33de0041452730710199edfdebc4eaa5fb27a","tarball":"https://registry.npmjs.org/@anuragsingk/mcp-wordpress/-/mcp-wordpress-3.3.12.tgz","fileCount":746,"unpackedSize":4748304,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDirWLL8pagTcMUXQulPVXtezn6TnkEQT9pOuqoVnIE/AIgBdsdlmOhHj/d7xyRXJVziMSxqlzi5Kl85KyBK2iJyx8="}]},"_npmUser":{"name":"anuragsingkk","email":"anurag989719@gmail.com"},"directories":{},"maintainers":[{"name":"anuragsingkk","email":"anurag989719@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-wordpress_3.3.12_1780996609995_0.1475954396450847"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T09:16:49.787Z","3.3.12":"2026-06-09T09:16:50.178Z","modified":"2026-06-09T09:16:50.448Z"},"maintainers":[{"name":"anuragsingkk","email":"anurag989719@gmail.com"}],"description":"Comprehensive Model Context Protocol server for WordPress management with composition-based architecture, 59 tools, SEO toolkit, performance monitoring, intelligent caching, and production-ready authentication. Community fork with multi-site, DXT, OpenCod","homepage":"https://github.com/anuragsingk/mcp-wordpress#readme","keywords":["mcp","model-context-protocol","wordpress","cms","rest-api","ai","assistant","opencode","claude","multi-site"],"repository":{"type":"git","url":"git+https://github.com/anuragsingk/mcp-wordpress.git"},"contributors":[{"name":"anuragsingk","email":"anurag989719@gmail.com"}],"author":{"name":"Thomas Dyhr"},"bugs":{"url":"https://github.com/anuragsingk/mcp-wordpress/issues"},"license":"MIT","readme":"# 🚀 MCP WordPress Server\r\n\r\n> **Community Fork** — This is [`@anuragsingk/mcp-wordpress`](https://github.com/anuragsingk/mcp-wordpress), a patched fork of [docdyhr/mcp-wordpress](https://github.com/docdyhr/mcp-wordpress) with critical fixes for:\r\n>\r\n> - ✅ **Claude Desktop \"Cannot attach\" fix** — `NODE_ENV=dxt` in DXT manifest prevents 40-second startup timeout\r\n> - ✅ **Multi-site auth for all methods** — JWT, Basic, API Key, and App Password all work correctly\r\n> - ✅ **OpenCode + Codex support** — documented and tested installation configs\r\n> - ✅ **Windows test compatibility** — `path.resolve` used in test assertions (cross-platform)\r\n> - ✅ **Git hook fix** — test runner uses local vitest binary (no npx PATH issues in hooks)\r\n\r\n<div align=\"center\">\r\n<img src=\"images/wordpress-mcp-logo.png\" width=\"50%\" alt=\"WordPress MCP Logo\">\r\n\r\n**The Most Comprehensive WordPress MCP Server**\r\n\r\nManage WordPress sites with natural language through Claude Desktop, OpenCode, Codex, and any MCP-compatible AI tool\r\n\r\n[Quick Start](#-quick-start) • [All AI Apps — One Line](#-all-ai-apps--one-line-install) •\r\n[Multi-Site](#-multi-site-configuration) • [Tools](#-available-tools-59-tools) • [Examples](#-examples)\r\n\r\n[![GitHub Stars](https://img.shields.io/github/stars/anuragsingk/mcp-wordpress?style=social)](https://github.com/anuragsingk/mcp-wordpress/stargazers)\r\n[![NPM Version](https://img.shields.io/npm/v/%40anuragsingk%2Fmcp-wordpress?logo=npm&logoColor=white)](https://www.npmjs.com/package/@anuragsingk/mcp-wordpress)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue?logo=typescript&logoColor=white)](https://github.com/anuragsingk/mcp-wordpress)\r\n[![License](https://img.shields.io/badge/license-MIT-green?logo=opensource&logoColor=white)](https://github.com/anuragsingk/mcp-wordpress/blob/main/LICENSE)\r\n[![Tests](https://img.shields.io/badge/tests-2583%20passing-brightgreen)](https://github.com/anuragsingk/mcp-wordpress)\r\n\r\n### 🎉 **v3.3.12** — Multi-Site, All Auth Methods, DXT Fix, OpenCode & Codex Support\r\n\r\n</div>\r\n\r\n## 🎯 Why This MCP Server?\r\n\r\n**Transform WordPress management** from complex admin panels to simple conversations:\r\n\r\n```text\r\n❌ Before: Login → Admin Panel → Navigate → Click → Fill Forms → Save\r\n✅ After:  \"Create a new blog post about AI trends with SEO optimization\"\r\n```\r\n\r\n**Key Advantages:**\r\n\r\n- 🏆 **Most Complete**: 59 tools vs 20-30 in alternatives\r\n- ⚡ **Fastest Setup**: 2-click Claude Desktop installation via DXT\r\n- 🔒 **Production Ready**: 2200+ tests, security audited, battle-tested\r\n- 🎯 **TypeScript Native**: 100% type safety, best-in-class developer experience\r\n- 🌐 **Multi-Site**: Manage unlimited WordPress sites from one place\r\n\r\n## 🌐 All AI Apps — One Line Install\r\n\r\nOnce published to npm you need **just 3 lines** in any AI app's config file. No cloning, no building.\r\n\r\n### Claude Desktop\r\n\r\nAdd to `claude_desktop_config.json`:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"wordpress\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@anuragsingk/mcp-wordpress\"],\r\n      \"env\": {\r\n        \"MCP_WORDPRESS_CONFIG_PATH\": \"C:/Users/YourName/mcp-wordpress.config.json\",\r\n        \"NODE_ENV\": \"dxt\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### OpenCode\r\n\r\nAdd to `~/.config/opencode/opencode.jsonc`:\r\n\r\n```jsonc\r\n{\r\n  \"$schema\": \"https://opencode.ai/config.json\",\r\n  \"mcp\": {\r\n    \"wordpress\": {\r\n      \"type\": \"local\",\r\n      \"enabled\": true,\r\n      \"command\": [\"npx\", \"-y\", \"@anuragsingk/mcp-wordpress\"],\r\n      \"environment\": {\r\n        \"MCP_WORDPRESS_CONFIG_PATH\": \"/path/to/mcp-wordpress.config.json\",\r\n        \"NODE_ENV\": \"dxt\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Codex Desktop\r\n\r\nAdd to `~/.codex/config.toml`:\r\n\r\n```toml\r\n[mcp_servers.wordpress]\r\ncommand = \"npx\"\r\nargs = [\"-y\", \"@anuragsingk/mcp-wordpress\"]\r\n\r\n[mcp_servers.wordpress.env]\r\nMCP_WORDPRESS_CONFIG_PATH = \"/path/to/mcp-wordpress.config.json\"\r\nNODE_ENV                  = \"dxt\"\r\n```\r\n\r\n### Cursor / Windsurf / Any MCP App\r\n\r\nAdd the MCP server with `command: npx`, `args: [\"-y\", \"@anuragsingk/mcp-wordpress\"]` and the same env variables above.\r\n\r\n> **Tip:** Create your `mcp-wordpress.config.json` with sites using the interactive wizard:\r\n> ```bash\r\n> npx @anuragsingk/mcp-wordpress setup:multisite\r\n> ```\r\n\r\n---\r\n\r\n## 🚀 Quick Start\r\n\r\nGet up and running in **under 5 minutes**:\r\n\r\n### Prerequisites\r\n\r\n- **WordPress**: Version 5.6+ with REST API enabled\r\n- **Claude Desktop**: Latest version installed\r\n- **Application Password**: Generated from WordPress admin panel\r\n\r\n### 3-Step Setup\r\n\r\n**1️⃣ Generate WordPress Application Password**\r\n\r\n```text\r\nWordPress Admin → Users → Profile → Application Passwords → Add New\r\n```\r\n\r\n**2️⃣ Install MCP Server (Choose One)**\r\n\r\n**Option A: DXT Extension (Easiest — Claude Desktop only)**\r\n\r\n```bash\r\n# Download the patched DXT from this fork's releases\r\ncurl -L https://github.com/anuragsingk/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt -o mcp-wordpress.dxt\r\n# Then: Claude Desktop → Settings → Extensions → Install Extension from File\r\n```\r\n\r\n**Option B: NPX — works in Claude Desktop, OpenCode, Codex, Cursor, etc.**\r\n\r\n```bash\r\nnpx -y @anuragsingk/mcp-wordpress\r\n```\r\n\r\n**3️⃣ Test Your Connection**\r\n\r\n```text\r\nIn Claude: \"Test my WordPress connection\"\r\nResponse: \"✅ Authentication successful! Connected to: Your Site Name\"\r\n```\r\n\r\n📺 **[Watch 2-minute Setup Video](https://github.com/docdyhr/mcp-wordpress/wiki/setup-video)** | 📖\r\n**[Detailed Setup Guide](docs/INSTALLATION.md)**\r\n\r\n## ⚡ Installation Options\r\n\r\n### 🏆 Option 1: Claude Desktop Extension (DXT) — 2 clicks\r\n\r\n1. **Download**: [`mcp-wordpress.dxt`](https://github.com/anuragsingk/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)\r\n2. **Install**: Claude Desktop → Settings → Extensions → **Install Extension from File**\r\n3. **Configure**: Fill in your WordPress URL, username, app password, and (optionally) the multi-site config path\r\n\r\n✅ **Zero command line** ✅ **Includes multi-site UI field** ✅ **Fast startup (NODE_ENV=dxt pre-set)**\r\n\r\n### 🌐 Option 2: NPX — works everywhere\r\n\r\n```bash\r\n# Claude Desktop, OpenCode, Codex, Cursor, Windsurf...\r\nnpx -y @anuragsingk/mcp-wordpress\r\n\r\n# Interactive multi-site setup wizard\r\nnpx @anuragsingk/mcp-wordpress setup:multisite\r\n```\r\n\r\nSee [All AI Apps — One Line Install](#-all-ai-apps--one-line-install) for per-app config snippets.\r\n\r\n### 🔧 Other Options\r\n\r\n- 💻 **[NPM Setup](docs/user-guides/NPM_SETUP.md)** - Local development\r\n- 🐳 **[Docker Setup](docs/user-guides/DOCKER_SETUP.md)** - Production deployment\r\n- 🔧 **[Manual Build](docs/developer/BUILD_SYSTEM.md)** - Custom builds\r\n\r\n## 📋 Configuration Examples\r\n\r\n### Single Site Setup\r\n\r\n**Environment Variables (.env)**\r\n\r\n```bash\r\nWORDPRESS_SITE_URL=https://myblog.com\r\nWORDPRESS_USERNAME=admin\r\nWORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx\r\nWORDPRESS_AUTH_METHOD=app-password\r\n```\r\n\r\n**Claude Desktop Config** (`claude_desktop_config.json`)\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"wordpress\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@anuragsingk/mcp-wordpress\"],\r\n      \"env\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://myblog.com\",\r\n        \"WORDPRESS_USERNAME\": \"admin\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"xxxx xxxx xxxx xxxx xxxx xxxx\",\r\n        \"NODE_ENV\": \"dxt\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Multi-Site Agency Setup\r\n\r\nThe fastest way to create a multi-site config is the interactive wizard — no\r\nhand-editing JSON:\r\n\r\n```bash\r\nnpx wordpress-setup-multisite\r\n# or, from a clone: npm run setup:multisite\r\n```\r\n\r\nIt writes an `mcp-wordpress.config.json` and validates it against the same schema\r\nthe server uses. Each site can use its own authentication method.\r\n\r\n**Configuration File (mcp-wordpress.config.json)**\r\n\r\n```json\r\n{\r\n  \"sites\": [\r\n    {\r\n      \"id\": \"main-corporate\",\r\n      \"name\": \"Corporate Website\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://company.com\",\r\n        \"WORDPRESS_USERNAME\": \"admin\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"xxxx xxxx xxxx xxxx xxxx xxxx\",\r\n        \"WORDPRESS_AUTH_METHOD\": \"app-password\"\r\n      }\r\n    },\r\n    {\r\n      \"id\": \"client-restaurant\",\r\n      \"name\": \"Restaurant Client\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://bestrestaurant.com\",\r\n        \"WORDPRESS_USERNAME\": \"editor\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"yyyy yyyy yyyy yyyy yyyy yyyy\",\r\n        \"WORDPRESS_AUTH_METHOD\": \"app-password\"\r\n      }\r\n    },\r\n    {\r\n      \"id\": \"client-ecommerce\",\r\n      \"name\": \"E-commerce Client\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://onlinestore.com\",\r\n        \"WORDPRESS_USERNAME\": \"shopmanager\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"zzzz zzzz zzzz zzzz zzzz zzzz\",\r\n        \"WORDPRESS_AUTH_METHOD\": \"app-password\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n**Where the config file is loaded from** (first match wins):\r\n\r\n1. `MCP_WORDPRESS_CONFIG_PATH` environment variable — point this at the file anywhere\r\n   on disk (recommended for DXT/npx, since it survives reinstalls).\r\n2. `mcp-wordpress.config.json` in the current working directory.\r\n3. `mcp-wordpress.config.json` next to the installed package (legacy default).\r\n\r\nWhen a multi-site config is found, it takes priority over the single-site\r\nenvironment variables. Example Claude Desktop config pointing at a fixed path:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"wordpress\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@anuragsingk/mcp-wordpress\"],\r\n      \"env\": {\r\n        \"MCP_WORDPRESS_CONFIG_PATH\": \"/Users/me/mcp-wordpress.config.json\",\r\n        \"NODE_ENV\": \"dxt\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Discovering and targeting sites**: ask the assistant to run `wp_list_sites` to see\r\nevery configured site ID, then pass it as the `site` parameter — e.g.\r\n`wp_list_posts --site=\"client-restaurant\"`. When more than one site is configured the\r\n`site` parameter is required; with a single site it is optional.\r\n\r\n### Development Environment\r\n\r\n**Local WordPress with Docker**\r\n\r\n```yaml\r\n# docker-compose.yml\r\nversion: \"3.8\"\r\nservices:\r\n  wordpress:\r\n    image: wordpress:latest\r\n    ports:\r\n      - \"8080:80\"\r\n    environment:\r\n      WORDPRESS_DB_HOST: db\r\n      WORDPRESS_DB_USER: wordpress\r\n      WORDPRESS_DB_PASSWORD: wordpress\r\n      WORDPRESS_DB_NAME: wordpress\r\n    volumes:\r\n      - wordpress_data:/var/www/html\r\n\r\n  db:\r\n    image: mysql:8.0\r\n    environment:\r\n      MYSQL_DATABASE: wordpress\r\n      MYSQL_USER: wordpress\r\n      MYSQL_PASSWORD: wordpress\r\n      MYSQL_ROOT_PASSWORD: rootpassword\r\n    volumes:\r\n      - db_data:/var/lib/mysql\r\n\r\nvolumes:\r\n  wordpress_data:\r\n  db_data:\r\n```\r\n\r\n**MCP WordPress Development Config**\r\n\r\n```json\r\n{\r\n  \"sites\": [\r\n    {\r\n      \"id\": \"local-dev\",\r\n      \"name\": \"Local Development\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"http://localhost:8080\",\r\n        \"WORDPRESS_USERNAME\": \"admin\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"dev-password-here\",\r\n        \"WORDPRESS_AUTH_METHOD\": \"app-password\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n### Production Deployment\r\n\r\n**Server Environment Variables**\r\n\r\n```bash\r\n# /etc/environment or systemd service\r\nWORDPRESS_SITE_URL=https://production-site.com\r\nWORDPRESS_USERNAME=api-user\r\nWORDPRESS_APP_PASSWORD=secure-production-password\r\nWORDPRESS_AUTH_METHOD=app-password\r\nNODE_ENV=production\r\nCACHE_ENABLED=true\r\nCACHE_TTL=3600\r\nRATE_LIMIT_ENABLED=true\r\nDEBUG=false\r\n```\r\n\r\n**Docker Production Setup**\r\n\r\n```dockerfile\r\n# Dockerfile.production\r\nFROM node:20-alpine\r\nWORKDIR /app\r\nCOPY package*.json ./\r\nRUN npm ci --only=production\r\nCOPY dist/ ./dist/\r\nEXPOSE 3000\r\nUSER node\r\nCMD [\"node\", \"dist/index.js\"]\r\n```\r\n\r\n### JWT Authentication Setup\r\n\r\n**WordPress Plugin Configuration**\r\n\r\n```php\r\n// wp-config.php\r\ndefine('JWT_AUTH_SECRET_KEY', 'your-secret-key-here');\r\ndefine('JWT_AUTH_CORS_ENABLE', true);\r\n```\r\n\r\n**MCP Configuration**\r\n\r\n```json\r\n{\r\n  \"sites\": [\r\n    {\r\n      \"id\": \"jwt-site\",\r\n      \"name\": \"JWT Authentication Site\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://site-with-jwt.com\",\r\n        \"WORDPRESS_USERNAME\": \"api-user\",\r\n        \"WORDPRESS_PASSWORD\": \"user-password\",\r\n        \"WORDPRESS_JWT_SECRET\": \"your-secret-key-here\",\r\n        \"WORDPRESS_AUTH_METHOD\": \"jwt\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n## 🌟 What Makes This Special\r\n\r\n### 🏆 Feature Comparison\r\n\r\n| Feature                    | This Server                          | Competition     |\r\n| -------------------------- | ------------------------------------ | --------------- |\r\n| **Tools Available**        | 59 tools                             | 20-30 tools     |\r\n| **Claude Desktop DXT**     | ✅ 2-click install                   | ❌ Manual setup |\r\n| **Multi-Site Support**     | ✅ Unlimited sites                   | ❌ Single site  |\r\n| **TypeScript**             | ✅ 100% coverage                     | ⚠️ Partial/None |\r\n| **Performance Monitoring** | ✅ Real-time analytics               | ❌ Basic only   |\r\n| **Test Coverage**          | ✅ 2200+ tests, comprehensive coverage | ⚠️ Limited      |\r\n| **Production Ready**       | ✅ Security audited                  | ⚠️ Unknown      |\r\n\r\n### 🚀 Core Capabilities\r\n\r\n#### WordPress Management\r\n\r\n- **59 WordPress Tools** across 10 categories\r\n- **Multi-Site Support** - Manage unlimited WordPress installations\r\n- **Flexible Authentication** - App Passwords, JWT, Basic Auth, API Key\r\n- **Real-Time Sync** - Instant updates across all connected tools\r\n\r\n#### Performance & Reliability\r\n\r\n- **⚡ Intelligent Caching** - 50-70% performance improvement\r\n- **📊 Real-Time Monitoring** - Performance metrics and optimization insights\r\n- **🔒 Production Ready** - Security-reviewed, 96.17% line coverage with Vitest testing framework\r\n- **🔄 Zero Downtime** - Graceful error handling and automatic recovery\r\n\r\n#### Developer Experience\r\n\r\n- **100% TypeScript** - Complete type safety and IntelliSense\r\n- **🐳 Docker Support** - Production-ready containerization\r\n- **📚 Auto-Generated Docs** - API documentation with live examples\r\n- **🔧 Extensible** - Custom tool development framework\r\n\r\n## 🌐 Multi-Site Configuration\r\n\r\nPerfect for agencies and developers managing multiple WordPress sites:\r\n\r\n```json\r\n{\r\n  \"sites\": [\r\n    {\r\n      \"id\": \"main-site\",\r\n      \"name\": \"Main WordPress Site\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://site1.com\",\r\n        \"WORDPRESS_USERNAME\": \"admin\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"xxxx xxxx xxxx xxxx xxxx xxxx\"\r\n      }\r\n    },\r\n    {\r\n      \"id\": \"client-blog\",\r\n      \"name\": \"Client Blog\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://client-blog.com\",\r\n        \"WORDPRESS_USERNAME\": \"editor\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"yyyy yyyy yyyy yyyy yyyy yyyy\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nUse with site parameter: `wp_list_posts --site=\"main-site\"`\r\n\r\n📖 **[Complete Multi-Site Setup Guide](docs/user-guides/NPM_SETUP.md#multi-site-configuration)**\r\n\r\n## 🔐 Authentication Setup\r\n\r\n### WordPress Application Passwords (Recommended)\r\n\r\n1. **WordPress Admin** → **Users** → **Profile**\r\n2. Scroll to **Application Passwords**\r\n3. Enter name: \"MCP WordPress Server\"\r\n4. Click **Add New Application Password**\r\n5. Copy the generated password\r\n\r\n### Alternative Methods\r\n\r\n- **JWT Authentication** - With JWT plugin\r\n- **Basic Authentication** - Username/password (dev only)\r\n- **API Key Authentication** - With API Key plugin\r\n\r\n📖 **[Complete Authentication Guide](docs/user-guides/NPX_SETUP.md#authentication)**\r\n\r\n## 📋 Available Tools (59 Tools)\r\n\r\n### Content Management\r\n\r\n- **📝 Posts** (6 tools) - Create, edit, delete, list posts and revisions\r\n- **📄 Pages** (6 tools) - Manage static pages and revisions\r\n- **🖼️ Media** (6 tools) - Upload, manage media library and files\r\n\r\n### User & Community\r\n\r\n- **👥 Users** (6 tools) - User management and profiles\r\n- **💬 Comments** (7 tools) - Comment moderation and management\r\n- **🏷️ Taxonomies** (10 tools) - Categories and tags management\r\n\r\n### Site Management (Monitoring & Admin)\r\n\r\n- **⚙️ Site Settings** (7 tools) - Site configuration and statistics\r\n- **🔐 Authentication** (6 tools) - Auth testing and management\r\n- **⚡ Cache Management** (4 tools) - Performance caching control\r\n- **📊 Performance Monitoring** (6 tools) - Real-time metrics and optimization\r\n\r\n📖 **[Complete Tool Documentation](docs/api/README.md)** | **[Live API Reference](docs/developer/API_REFERENCE.md)**\r\n\r\n## 🤖 Claude Desktop Integration\r\n\r\n### 🎯 Real-World Use Cases\r\n\r\n**Content Creation & Management:**\r\n\r\n```text\r\n💬 \"Analyze my top 10 blog posts and create a new post about emerging trends\"\r\n💬 \"Upload these 5 images and create a photo gallery page with SEO optimization\"\r\n💬 \"Review all pending comments and approve the legitimate ones\"\r\n```\r\n\r\n**Site Management & Analytics:**\r\n\r\n```text\r\n💬 \"Check my WordPress site performance and provide optimization recommendations\"\r\n💬 \"Create a new user account for my freelance writer with editor permissions\"\r\n💬 \"Backup my site settings and show me cache performance statistics\"\r\n```\r\n\r\n**Bulk Operations:**\r\n\r\n```text\r\n💬 \"Update all posts from 2023 to include my new author bio\"\r\n💬 \"Find all images over 1MB and suggest compression strategies\"\r\n💬 \"List all users who haven't logged in for 6 months\"\r\n```\r\n\r\n### ⚙️ Configuration Methods\r\n\r\n#### Option 1: DXT Extension (Recommended)\r\n\r\n**No configuration needed** - built-in secure credential management!\r\n\r\n#### Option 2: NPX in Claude Desktop\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"wordpress\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@anuragsingk/mcp-wordpress\"],\r\n      \"env\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://your-site.com\",\r\n        \"WORDPRESS_USERNAME\": \"your-username\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"your-app-password\",\r\n        \"NODE_ENV\": \"dxt\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n📖 **[Complete Integration Guide](docs/integrations/claude-desktop.md)**\r\n\r\n## 📚 Examples\r\n\r\n### Basic Content Management\r\n\r\n**Create and Publish a Blog Post**\r\n\r\n```text\r\nYou: \"Create a new blog post titled 'AI Revolution in 2024' with content about recent AI breakthroughs\"\r\nClaude: \"I'll create that blog post for you...\"\r\nResult: ✅ Post \"AI Revolution in 2024\" created successfully (ID: 123)\r\n```\r\n\r\n**Media Management**\r\n\r\n```text\r\nYou: \"Upload the image at /path/to/image.jpg and set it as featured image for post 123\"\r\nClaude: \"I'll upload that image and set it as the featured image...\"\r\nResult: ✅ Image uploaded (ID: 456) and set as featured image\r\n```\r\n\r\n### Advanced Workflows\r\n\r\n**SEO-Optimized Content Creation**\r\n\r\n```text\r\nYou: \"Create an SEO-optimized blog post about 'WordPress Security Best Practices' with:\r\n     - Focus keyword: 'WordPress security'\r\n     - Meta description\r\n     - Proper heading structure\r\n     - At least 1500 words\"\r\n\r\nClaude: \"I'll create a comprehensive SEO-optimized post on WordPress security...\"\r\n```\r\n\r\n**Bulk Operations**\r\n\r\n```text\r\nYou: \"Find all draft posts older than 30 days and provide a summary\"\r\nYou: \"Update all posts in category 'News' to include a disclaimer at the end\"\r\nYou: \"Delete all spam comments from the last week\"\r\n```\r\n\r\n### Site Management\r\n\r\n**Performance Monitoring**\r\n\r\n```text\r\nYou: \"Analyze my site's performance and suggest optimizations\"\r\nClaude: \"Let me check your site's performance metrics...\r\n         - Cache hit rate: 67%\r\n         - Average response time: 245ms\r\n         - Recommendations: Enable object caching, optimize images...\"\r\n```\r\n\r\n**User Management**\r\n\r\n```text\r\nYou: \"Create a new editor account for john@example.com with a secure password\"\r\nYou: \"List all users who haven't logged in for 90 days\"\r\nYou: \"Update Sarah's role from Author to Editor\"\r\n```\r\n\r\n### Multi-Site Management\r\n\r\n**Working with Multiple Sites**\r\n\r\n```text\r\nYou: \"List all posts from my client-blog site\"\r\nClaude: \"I'll list the posts from the client-blog site...\"\r\n\r\nYou: \"Compare traffic between main-site and client-blog\"\r\nClaude: \"Here's a comparison of both sites...\"\r\n```\r\n\r\n## 🎨 Real-World Workflows\r\n\r\n### Content Marketing Agency Workflow\r\n\r\n**Scenario**: Managing 20+ client blogs with consistent SEO optimization\r\n\r\n```text\r\n💬 \"Analyze the top 5 performing posts across all sites and create similar content for underperforming clients\"\r\n💬 \"Batch update all client sites with the new privacy policy footer\"\r\n💬 \"Generate a weekly performance report comparing all client sites\"\r\n💬 \"Create social media snippets from the latest blog posts on each site\"\r\n```\r\n\r\n### E-commerce Store Management\r\n\r\n**Scenario**: Managing product launches and inventory updates\r\n\r\n```text\r\n💬 \"Create a product launch post with gallery, specifications, and pricing for the new iPhone case\"\r\n💬 \"Update all 'out of stock' products with restock notifications\"\r\n💬 \"Generate product comparison pages for similar items\"\r\n💬 \"Create seasonal landing pages with current promotions\"\r\n```\r\n\r\n### News Website Operations\r\n\r\n**Scenario**: Breaking news and content moderation\r\n\r\n```text\r\n💬 \"Publish breaking news about the tech merger with social media integration\"\r\n💬 \"Moderate comments on controversial articles and flag inappropriate content\"\r\n💬 \"Create topic clusters around trending news stories\"\r\n💬 \"Schedule social media posts for peak engagement times\"\r\n```\r\n\r\n### Educational Institution Portal\r\n\r\n**Scenario**: Course management and student communications\r\n\r\n```text\r\n💬 \"Create course announcement pages with enrollment forms\"\r\n💬 \"Update faculty profiles with new publications and achievements\"\r\n💬 \"Generate student newsletter with upcoming events and deadlines\"\r\n💬 \"Moderate discussion forums and highlight valuable contributions\"\r\n```\r\n\r\n### Non-Profit Organization\r\n\r\n**Scenario**: Fundraising campaigns and volunteer coordination\r\n\r\n```text\r\n💬 \"Create donation campaign pages with progress tracking\"\r\n💬 \"Update volunteer opportunity listings with current needs\"\r\n💬 \"Generate impact reports showing donation effectiveness\"\r\n💬 \"Create event registration pages with automated confirmations\"\r\n```\r\n\r\n## 🚀 Advanced Automation Examples\r\n\r\n### Smart Content Workflows\r\n\r\n**Automated SEO Optimization**\r\n\r\n```text\r\nYou: \"Optimize all posts from the last month for better SEO performance\"\r\nClaude: \"I'll analyze and optimize your recent posts...\r\n- Analyzed 15 posts from the last 30 days\r\n- Updated meta descriptions for 12 posts\r\n- Added focus keywords to 8 posts\r\n- Optimized heading structure in 10 posts\r\n- Improved internal linking in 15 posts\r\n- Average SEO score improved from 67% to 89%\"\r\n```\r\n\r\nTwo additional tools are available: `wp_seo_track_serp_positions` and `wp_seo_keyword_research`. By default they estimate keyword coverage from your WordPress content. You can upgrade to real Google Search Console data:\r\n\r\n**Google Search Console Integration (optional)**\r\n\r\n1. Create OAuth2 credentials (Desktop app) in [Google Cloud Console](https://console.cloud.google.com) and enable the Search Console API.\r\n2. Run the setup helper to obtain a refresh token:\r\n   ```bash\r\n   GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=yyy node scripts/google-auth.mjs\r\n   ```\r\n3. Add the credentials to your `.env`:\r\n   ```bash\r\n   SEO_PROVIDER_SEARCH_CONSOLE=true\r\n   GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com\r\n   GOOGLE_CLIENT_SECRET=GOCSPX-your-secret\r\n   GOOGLE_REFRESH_TOKEN=1//your-refresh-token\r\n   ```\r\n\r\nWhen enabled, `wp_seo_track_serp_positions` returns real average positions, clicks, impressions, and CTR from your Search Console property. `wp_seo_keyword_research` returns top queries containing the seed keyword, sorted by impressions. If credentials are missing or the API is unreachable, both tools fall back silently to WordPress content analysis.\r\n\r\n**Content Gap Analysis**\r\n\r\n```text\r\nYou: \"Identify content gaps in our blog compared to competitor topics\"\r\nClaude: \"After analyzing your content and common industry topics...\r\n- Missing topics: 'AI in Healthcare', 'Remote Work Security', 'Green Technology'\r\n- Underperforming categories: 'Tutorials' (only 3 posts vs 15+ needed)\r\n- Recommended: 8 new posts to fill major gaps\r\n- Priority topics based on search volume and competition\"\r\n```\r\n\r\n### Maintenance Automation\r\n\r\n**Site Health Monitoring**\r\n\r\n```text\r\nYou: \"Perform a comprehensive site health check and fix any issues\"\r\nClaude: \"Running complete site diagnostics...\r\n- ✅ SSL certificate valid (expires: March 15, 2025)\r\n- ⚠️ 3 broken internal links found and flagged\r\n- ✅ All images optimized (average load time: 1.2s)\r\n- ⚠️ 2 plugins need updates\r\n- ✅ Database optimized (reduced size by 15%)\r\n- ✅ Cache performance: 78% hit rate\"\r\n```\r\n\r\n**User Management Automation**\r\n\r\n```text\r\nYou: \"Clean up user accounts and update permissions for the new team structure\"\r\nClaude: \"Updating user management...\r\n- Deactivated 5 inactive accounts (no login >6 months)\r\n- Updated 12 user roles to match new org chart\r\n- Created 3 new editor accounts for content team\r\n- Set up role-based content access restrictions\r\n- Configured automated welcome emails for new users\"\r\n```\r\n\r\n### Performance Optimization\r\n\r\n**Intelligent Cache Management**\r\n\r\n```text\r\nYou: \"Analyze site performance and implement optimal caching strategies\"\r\nClaude: \"Implementing performance optimizations...\r\n- Enabled object caching (40% speed improvement)\r\n- Configured CDN for static assets\r\n- Optimized database queries (reduced load time by 25%)\r\n- Set up page caching with smart invalidation\r\n- Compressed and optimized 47 images\r\n- Site speed improved from 3.2s to 1.8s average load time\"\r\n```\r\n\r\n## 🎯 Industry-Specific Solutions\r\n\r\n### Healthcare Practices\r\n\r\n```text\r\n💬 \"Create HIPAA-compliant patient information pages with secure forms\"\r\n💬 \"Update doctor profiles with latest certifications and specializations\"\r\n💬 \"Generate appointment booking pages with calendar integration\"\r\n💬 \"Create health education content with medical disclaimers\"\r\n```\r\n\r\n### Legal Firms\r\n\r\n```text\r\n💬 \"Create practice area pages with case study examples\"\r\n💬 \"Update attorney profiles with recent wins and bar admissions\"\r\n💬 \"Generate client intake forms with confidentiality notices\"\r\n💬 \"Create legal blog posts with proper citations and disclaimers\"\r\n```\r\n\r\n### Real Estate Agencies\r\n\r\n```text\r\n💬 \"Create property listing pages with virtual tour embeds\"\r\n💬 \"Update agent profiles with recent sales and market statistics\"\r\n💬 \"Generate neighborhood guide pages with local amenities\"\r\n💬 \"Create mortgage calculator pages with current rates\"\r\n```\r\n\r\n### Restaurants & Food Service\r\n\r\n```text\r\n💬 \"Create menu pages with dietary restriction filters\"\r\n💬 \"Update chef profiles with signature dishes and cooking philosophy\"\r\n💬 \"Generate event booking pages for private dining\"\r\n💬 \"Create food blog posts with recipe cards and nutritional information\"\r\n```\r\n\r\n📖 **[More Examples](docs/examples/)** | **[Use Case Library](docs/use-cases/)**\r\n\r\n## 🛠️ Troubleshooting Guide\r\n\r\n### Quick Diagnostics\r\n\r\n**Connection Issues**\r\n\r\n```bash\r\n# Test WordPress connection\r\nnpm run status\r\n\r\n# Debug mode with detailed logs\r\nDEBUG=true npm run dev\r\n\r\n# Test specific site in multi-site setup\r\nnpm run status -- --site=\"your-site-id\"\r\n```\r\n\r\n**Authentication Problems**\r\n\r\n```bash\r\n# Verify WordPress application password\r\ncurl -u username:app_password https://your-site.com/wp-json/wp/v2/users/me\r\n\r\n# Test authentication with different methods\r\nnpm run test:auth\r\n\r\n# Regenerate application password\r\nnpm run setup\r\n```\r\n\r\n**Performance Issues**\r\n\r\n```bash\r\n# Check cache performance\r\nnpm run test:cache\r\n\r\n# Monitor real-time performance\r\nnpm run test:performance\r\n\r\n# Clear all caches\r\nrm -rf cache/ && npm run dev\r\n```\r\n\r\n### Common Error Solutions\r\n\r\n| Error                         | Cause                    | Solution                           |\r\n| ----------------------------- | ------------------------ | ---------------------------------- |\r\n| `401 Unauthorized`            | Invalid credentials      | Regenerate application password    |\r\n| `403 Forbidden`               | Insufficient permissions | Check user role (Editor+ required) |\r\n| `404 Not Found`               | Wrong site URL           | Verify WORDPRESS_SITE_URL          |\r\n| `SSL Certificate Error`       | HTTPS issues             | Add SSL exception or use HTTP      |\r\n| `Connection Timeout`          | Network/firewall         | Check WordPress REST API access    |\r\n| `Tools not showing in Claude` | Config file format       | Validate JSON syntax               |\r\n| `Plugin conflicts`            | WordPress plugins        | Disable conflicting plugins        |\r\n| `Rate limiting`               | Too many requests        | Implement request throttling       |\r\n\r\n### WordPress-Specific Issues\r\n\r\n**REST API Not Available**\r\n\r\n```bash\r\n# Test REST API directly\r\ncurl https://your-site.com/wp-json/wp/v2/\r\n\r\n# Check if REST API is disabled\r\ngrep -r \"rest_api\" wp-config.php\r\n\r\n# Verify permalink structure\r\nwp-admin → Settings → Permalinks → Post name\r\n```\r\n\r\n**Application Password Issues**\r\n\r\n```text\r\n1. WordPress Admin → Users → Profile\r\n2. Scroll to \"Application Passwords\"\r\n3. Ensure feature is enabled (WordPress 5.6+)\r\n4. Generate new password if needed\r\n5. Copy password exactly (includes spaces)\r\n```\r\n\r\n**Multi-Site Configuration Problems**\r\n\r\n```json\r\n// Check mcp-wordpress.config.json format\r\n{\r\n  \"sites\": [\r\n    {\r\n      \"id\": \"unique-site-id\",\r\n      \"name\": \"Human Readable Name\",\r\n      \"config\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://site.com\",\r\n        \"WORDPRESS_USERNAME\": \"username\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"xxxx xxxx xxxx xxxx xxxx xxxx\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n### Environment-Specific Solutions\r\n\r\n**Claude Desktop Integration**\r\n\r\n```json\r\n// Verify claude_desktop_config.json format\r\n{\r\n  \"mcpServers\": {\r\n    \"mcp-wordpress\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"mcp-wordpress\"],\r\n      \"env\": {\r\n        \"WORDPRESS_SITE_URL\": \"https://your-site.com\",\r\n        \"WORDPRESS_USERNAME\": \"your-username\",\r\n        \"WORDPRESS_APP_PASSWORD\": \"your-app-password\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Docker Deployment Issues**\r\n\r\n```bash\r\n# Check container logs\r\ndocker logs mcp-wordpress\r\n\r\n# Verify environment variables\r\ndocker exec mcp-wordpress env | grep WORDPRESS\r\n\r\n# Test network connectivity\r\ndocker exec mcp-wordpress curl https://your-site.com/wp-json/wp/v2/\r\n```\r\n\r\n**NPX Runtime Problems**\r\n\r\n```bash\r\n# Clear NPX cache\r\nnpx clear-npx-cache\r\n\r\n# Use specific version\r\nnpx mcp-wordpress@latest\r\n\r\n# Install globally instead\r\nnpm install -g mcp-wordpress\r\n```\r\n\r\n### Getting Help\r\n\r\n**Self-Diagnostics**\r\n\r\n```bash\r\n# Comprehensive health check\r\nnpm run health\r\n\r\n# Security validation\r\nnpm run security:check\r\n\r\n# Performance analysis\r\nnpm run test:performance\r\n```\r\n\r\n**Debug Information Collection**\r\n\r\n```bash\r\n# Generate debug report\r\nDEBUG=true npm run status > debug-report.txt 2>&1\r\n\r\n# Include system information\r\nnode --version >> debug-report.txt\r\nnpm --version >> debug-report.txt\r\nos-info >> debug-report.txt\r\n```\r\n\r\n**Community Support**\r\n\r\n- 🐛 [Report Issues](https://github.com/docdyhr/mcp-wordpress/issues)\r\n- 💬 [Discussions](https://github.com/docdyhr/mcp-wordpress/discussions)\r\n- 📧 [Security Issues](mailto:security@docdyhr.com)\r\n- 📚 [Documentation](docs/TROUBLESHOOTING.md)\r\n\r\n## 🧪 Testing & Status\r\n\r\n### Current Test Status ✅\r\n\r\n- **Main Test Suite**: 512/512 passed (100%) with Vitest\r\n- **Security Tests**: 40/40 passed (100%)\r\n- **Performance Tests**: 8/8 passed (100%)\r\n- **CI/CD Pipeline**: Fully functional with Vitest integration\r\n\r\n### Test Your Installation\r\n\r\n```bash\r\n# Check connection status\r\nnpm run status\r\n\r\n# Run full test suite (Vitest)\r\nnpm test\r\n\r\n# Run tests with coverage\r\nnpm run test:coverage\r\n\r\n# Quick validation\r\nnpm run test:fast\r\n```\r\n\r\n## 🔒 Security Status\r\n\r\n### Comprehensive Security Testing\r\n\r\nOur security posture is continuously monitored through automated testing and vulnerability scanning:\r\n\r\n| **Security Area**          | **Status** | **Tests**     | **Coverage**                                        |\r\n| -------------------------- | ---------- | ------------- | --------------------------------------------------- |\r\n| **XSS Protection**         | ✅ Secure  | 6/6 passing   | Script injection, URL validation, HTML sanitization |\r\n| **SQL Injection**          | ✅ Secure  | 3/3 passing   | Query parameterization, input validation            |\r\n| **Path Traversal**         | ✅ Secure  | 3/3 passing   | File path validation, directory restrictions        |\r\n| **Input Validation**       | ✅ Secure  | 9/9 passing   | Length limits, format validation, sanitization      |\r\n| **Authentication**         | ✅ Secure  | 7/7 passing   | Bypass prevention, token validation                 |\r\n| **Rate Limiting**          | ✅ Secure  | 3/3 passing   | DoS protection, request throttling                  |\r\n| **Information Disclosure** | ✅ Secure  | 2/2 passing   | Error sanitization, sensitive data protection       |\r\n| **Penetration Testing**    | ✅ Secure  | 12/12 passing | Comprehensive attack simulation                     |\r\n\r\n### Security Features\r\n\r\n- **🛡️ Input Sanitization**: All user inputs are validated and sanitized\r\n- **🔐 Authentication Security**: Multi-method auth with bypass prevention\r\n- **⚡ Rate Limiting**: Built-in protection against abuse and DoS attacks\r\n- **🔍 Vulnerability Scanning**: Daily automated security scans\r\n- **📊 Real-time Monitoring**: Continuous security status updates\r\n- **🚨 Automated Alerts**: Immediate notification of security issues\r\n\r\n### Security Testing Commands\r\n\r\n```bash\r\n# Run comprehensive security tests\r\nnpm run test:security\r\n\r\n# Run penetration testing suite\r\nnpm run test:security:validation\r\n\r\n# Security vulnerability audit\r\nnpm audit\r\n\r\n# Full security validation\r\nnpm run security:full\r\n```\r\n\r\n### Security Compliance\r\n\r\n- **OWASP Top 10**: Complete protection against common vulnerabilities\r\n- **CVE Monitoring**: Automated scanning for known vulnerabilities\r\n- **Security Headers**: Proper HTTP security headers implementation\r\n- **Data Protection**: Sensitive credential redaction and secure storage\r\n- **Access Control**: Role-based permissions and authentication validation\r\n\r\n📖 **[Complete Security Documentation](docs/SECURITY.md)** | **[Security Test Results](tests/security/)**\r\n\r\n## 🐛 Troubleshooting\r\n\r\n### Common Issues\r\n\r\n1. **\"Cannot connect to WordPress\"**\r\n\r\n   - Verify `WORDPRESS_SITE_URL`\r\n   - Test REST API: `curl https://your-site.com/wp-json/wp/v2/`\r\n\r\n2. **\"Authentication failed\"**\r\n\r\n   - Check username and application password\r\n   - Ensure Application Passwords are enabled\r\n   - Run `npm run setup` to reconfigure\r\n\r\n3. **\"Tools not appearing in Claude\"**\r\n   - Restart Claude Desktop after configuration\r\n   - Check Claude Desktop config file format\r\n\r\n### Get Help\r\n\r\n```bash\r\n# Debug mode\r\nDEBUG=true npm run dev\r\n\r\n# Connection test\r\nnpm run status\r\n\r\n# Re-run setup wizard\r\nnpm run setup\r\n```\r\n\r\n## 📚 Documentation\r\n\r\n### Getting Started\r\n\r\n- **[Quick Start Guide](#-quick-start)** - Get running in 5 minutes\r\n- **[Installation Guide](docs/INSTALLATION.md)** - Detailed setup instructions\r\n- **[Configuration Guide](docs/CONFIGURATION.md)** - All configuration options\r\n- **[Authentication Setup](docs/SECURITY.md#authentication)** - WordPress auth methods\r\n\r\n### User Guides\r\n\r\n- **[Basic Usage](docs/examples/basic-usage.md)** - Common tasks and workflows\r\n- **[Advanced Workflows](docs/examples/advanced-workflows.md)** - Complex automation\r\n- **[Multi-Site Management](docs/user-guides/multi-site.md)** - Managing multiple sites\r\n- **[Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions\r\n\r\n### Integration Guides\r\n\r\n- **[Claude Desktop](docs/integrations/claude-desktop.md)** - Complete Claude integration\r\n- **[VS Code](docs/integrations/vs-code.md)** - VS Code extension setup\r\n- **[Cline](docs/integrations/cline.md)** - Cline AI assistant integration\r\n- **[Custom Clients](docs/developer/custom-clients.md)** - Build your own MCP client\r\n\r\n### Developer Documentation\r\n\r\n- **[API Reference](docs/API_REFERENCE.md)** - Complete tool documentation\r\n- **[Architecture](docs/ARCHITECTURE.md)** - System design and decisions\r\n- **[Contributing](CONTRIBUTING.md)** - Development guidelines\r\n- **[Plugin Development](docs/developer/plugins.md)** - Extend functionality\r\n\r\n### Deployment & Operations\r\n\r\n- **[Docker Deployment](docs/deployment/docker.md)** - Container deployment\r\n- **[Publishing Troubleshooting](docs/PUBLISHING-TROUBLESHOOTING.md)** - Fix publishing issues\r\n- **[Security Best Practices](docs/SECURITY.md)** - Production security\r\n- **[Performance Tuning](docs/deployment/performance.md)** - Optimization guide\r\n- **[Monitoring](docs/deployment/monitoring.md)** - Logging and metrics\r\n\r\n## 🔧 Requirements\r\n\r\n- **WordPress 5.0+** with REST API enabled\r\n- **HTTPS recommended** for production\r\n- **User with appropriate permissions**\r\n- **Application Passwords enabled** (WordPress 5.6+)\r\n\r\n### WordPress User Roles\r\n\r\n| Role              | Access                        |\r\n| ----------------- | ----------------------------- |\r\n| **Administrator** | Full access to all functions  |\r\n| **Editor**        | Posts, pages, comments, media |\r\n| **Author**        | Own posts and media           |\r\n| **Contributor**   | Own posts (drafts only)       |\r\n| **Subscriber**    | Read only                     |\r\n\r\n## 📦 Installation Options\r\n\r\n### NPM Package\r\n\r\n```bash\r\n# Global installation\r\nnpm install -g mcp-wordpress\r\n\r\n# Direct usage (recommended)\r\nnpx -y mcp-wordpress\r\n```\r\n\r\n### Docker Images\r\n\r\n```bash\r\n# Latest version\r\ndocker pull docdyhr/mcp-wordpress:latest\r\n\r\n# Specific version\r\ndocker pull docdyhr/mcp-wordpress:1.3.1\r\n```\r\n\r\n### Distribution Channels\r\n\r\n- **NPM:** [`mcp-wordpress`](https://www.npmjs.com/package/mcp-wordpress)\r\n- **Docker Hub:** [`docdyhr/mcp-wordpress`](https://hub.docker.com/r/docdyhr/mcp-wordpress)\r\n- **GitHub:** [Latest releases](https://github.com/docdyhr/mcp-wordpress/releases)\r\n\r\n## 🚀 Next Steps\r\n\r\n**Ready to transform your WordPress management?**\r\n\r\n1. **🏆\r\n   [Download DXT Extension](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)** -\r\n   Easiest setup (2 minutes)\r\n2. **⚡ [Try NPX Method](docs/user-guides/NPX_SETUP.md)** - Power user setup (5 minutes)\r\n3. **📚 [Explore All Tools](docs/api/README.md)** - See what's possible\r\n4. **💬 [Join Discussions](https://github.com/docdyhr/mcp-wordpress/discussions)** - Get help and share ideas\r\n\r\n---\r\n\r\n## 🔗 Similar Projects\r\n\r\nLooking for alternatives or complementary tools? Check out these WordPress MCP implementations:\r\n\r\n- **[Automattic WordPress MCP](https://github.com/Automattic/wordpress-mcp)** - Official WordPress MCP server by\r\n  Automattic\r\n\r\n---\r\n\r\n## 📋 Changelog\r\n\r\n### v2.12.0 (December 2024) 🎉\r\n\r\n- **🏗️ Modular Architecture** - Split large files into domain-specific operation modules\r\n- **🔄 Circuit Breaker Pattern** - Fault tolerance for external API calls with automatic recovery\r\n- **📊 2200+ Tests** - Comprehensive test suite with operations and performance helper coverage\r\n- **📚 Deprecation Documentation** - Clear migration timeline for deprecated modules\r\n- **🔒 Security Improvements** - Updated dependencies and consolidated CI/CD workflows\r\n\r\n### v2.5.4+ (August 2024)\r\n\r\n- **🆕 Multi-Site DXT Extension** - New UI toggle for managing multiple WordPress sites in Claude Desktop\r\n- **🔧 Enhanced Configuration** - Auto-detection of multi-site configuration files\r\n- **⚡ Performance Improvements** - Optimized caching and request handling\r\n- **🛡️ Security Updates** - Enhanced input validation and dependency updates\r\n- **🐛 Bug Fixes** - Resolved hook path issues and improved error handling\r\n- **📚 Documentation** - Updated setup guides and troubleshooting information\r\n\r\n### v2.5.0 (July 2024)\r\n\r\n- **🚀 Production Ready** - Comprehensive testing suite with 96%+ coverage\r\n- **🔒 Security Framework** - Full security validation and penetration testing\r\n- **📊 Performance Analytics** - Real-time monitoring and optimization tools\r\n- **🎯 Tool Enhancements** - 59 WordPress management tools across 10 categories\r\n\r\n### v2.0.0 (June 2024)\r\n\r\n- **🏗️ Architecture Overhaul** - Migrated to modern TypeScript architecture\r\n- **🌐 Multi-Site Support** - Complete multi-site WordPress management\r\n- **💾 Intelligent Caching** - 50-70% performance improvement\r\n- **🔐 Authentication Methods** - Support for 4 authentication types\r\n\r\n---\r\n\r\n## 🙏 Acknowledgments\r\n\r\nSpecial thanks to **[Stephan Ferraro](https://github.com/ferraro)** for the upstream project that inspired this\r\nimplementation.\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n**⭐ Found this helpful? [Give us a star on GitHub!](https://github.com/docdyhr/mcp-wordpress) ⭐**\r\n\r\n</div>\r\n","readmeFilename":"README.md","_rev":"1-d58fcfc156a7a5f2fb835881dcefe2fb"}