Skip to main content
Glama
security.md4.97 kB
# Security WP Navigator MCP is designed with security as a core principle. This document explains our security model and best practices. --- ## Safe by Default WP Navigator MCP operates in **read-only mode** by default. Write operations (create, update, delete) are disabled until explicitly enabled. ### Enabling Writes To enable write operations, set the environment variable: ```json { "mcpServers": { "wpnav": { "command": "npx", "args": ["-y", "@littlebearapps/wp-navigator-mcp", "./wp-config.json"], "env": { "WPNAV_ENABLE_WRITES": "1" } } } } ``` This prevents accidental modifications when you only need to read content. --- ## Transport Security ### HTTPS Enforcement - **Non-localhost connections require HTTPS** (TLS 1.2+) - HTTP is blocked by default for remote sites - For local development, set `ALLOW_INSECURE_HTTP=1` ```bash # Only for localhost development ALLOW_INSECURE_HTTP=1 npx wpnav status ``` ### Single-Origin Policy WP Navigator MCP only connects to the WordPress URL you configure. It will not: - Follow redirects to different domains - Make requests to arbitrary URLs - Connect to URLs provided in tool arguments This prevents Server-Side Request Forgery (SSRF) attacks. --- ## Authentication ### Application Passwords WP Navigator uses [WordPress Application Passwords](https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/) for authentication: - **Scoped access** - Separate from your main WordPress password - **Revocable** - Delete anytime in WordPress admin - **Auditable** - WordPress logs Application Password usage ### Creating Application Passwords 1. Go to WordPress Admin → Users → Your Profile 2. Scroll to "Application Passwords" 3. Enter a name (e.g., "WP Navigator MCP") 4. Click "Add New Application Password" 5. Copy the generated password immediately (it won't be shown again) ### Best Practices - **Use a dedicated user** - Create a WordPress user specifically for WP Navigator - **Minimum permissions** - Only grant roles/capabilities needed - **Rotate regularly** - Regenerate Application Passwords periodically - **Revoke when done** - Delete unused Application Passwords --- ## WordPress Plugin Security The WP Navigator plugin (Free or Pro) enforces additional security: ### Policy-Based Access Control Configure which operations are allowed in WordPress admin: - **Category-level control** - Enable/disable posts, pages, media, plugins, etc. - **Read/write separation** - Allow reads but block writes per category - **Per-user policies** - Different permissions for different users ### Audit Logging The plugin logs all MCP operations: - Tool invocations - User and timestamp - Success/failure status Check logs in WordPress admin for security monitoring. --- ## Data Handling ### What Data Is Sent WP Navigator MCP sends to your WordPress site: - Tool invocation parameters (post IDs, titles, content, etc.) - Authentication credentials (in HTTP headers) ### What Data Is NOT Sent - No telemetry to third parties - No analytics collection - No data leaves your WordPress site except responses to your requests ### Local Storage Configuration files may contain sensitive data. Protect them: ```bash # Recommended permissions for config file chmod 600 wpnav.config.json # Add to .gitignore echo "wpnav.config.json" >> .gitignore echo "wp-config.json" >> .gitignore ``` --- ## Operational Security ### Timeouts All operations have configurable timeouts to prevent hanging: ```bash # Default: 10 minutes (600000ms) WPNAV_TOOL_TIMEOUT_MS=300000 npx wpnav call wpnav_list_posts ``` ### Response Size Limits Large responses are truncated to prevent memory issues: ```bash # Default: 64KB WPNAV_MAX_RESPONSE_KB=128 npx wpnav call wpnav_list_posts ``` ### Concurrency Guard Only one write operation runs at a time. This prevents: - Race conditions - Conflicting updates - Accidental bulk modifications --- ## Reporting Security Issues If you discover a security vulnerability: 1. **Do NOT open a public GitHub issue** 2. Use [GitHub Security Advisories](https://github.com/littlebearapps/wp-navigator-mcp/security/advisories/new) 3. Or email security@littlebearapps.com We will: - Acknowledge within 48 hours - Investigate and provide updates - Credit you in the fix (unless you prefer anonymity) --- ## Security Checklist Before using WP Navigator MCP in production: - [ ] HTTPS enabled on WordPress site - [ ] Dedicated WordPress user for MCP access - [ ] Minimum necessary permissions configured - [ ] Application Password (not main password) used - [ ] Configuration file excluded from version control - [ ] `WPNAV_ENABLE_WRITES` only enabled when needed - [ ] Regular review of WordPress audit logs --- ## See Also - [CLI Reference](cli-reference.md) - Command documentation - [Troubleshooting](troubleshooting.md) - Common issues - [FAQ](faq.md) - Frequently asked questions

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/littlebearapps/wp-navigator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server