Description
AI agents are starting to talk to WordPress sites directly. Claude Desktop, ChatGPT custom GPTs, and a growing list of MCP clients can connect to your site, browse content, place orders, edit posts, or call any custom tool you expose. The Model Context Protocol (MCP) is the open standard that makes this possible.
The problem: by default, you can’t see any of it. Requests come in, things change, and there’s no record of what an agent actually did, when it did it, or which user it acted as.
Activity Log for MCP records every MCP request the moment it hits your site. You see the route, the ability that was called, the user it acted as, the request body, the response, and whether it succeeded. Everything is browsable in a clean React admin page that feels like the rest of WordPress.
If you’re running an AI integration, debugging a custom MCP server, or just want a paper trail before letting agents touch your data — this is the visibility layer.
What you get
A real-time log of every MCP request, with filters for date range, ability name, and user. Click any row to inspect the full request and response, copy bodies to your clipboard, or trace a single agent session end-to-end. Sortable columns, configurable per-page counts (10 to 500), and full-text search across request and response bodies. Export to CSV when you need to share findings or feed them into another tool.
The whole interface is built with @wordpress/components so it inherits the WordPress design language — no jarring custom UI to learn.
Built for both halves of the audience
If you’re a site owner: install, activate, and click into Tools MCP Logs. There’s no setup screen and no configuration — the plugin starts logging the moment an MCP client makes a request.
If you’re a developer: there’s a full REST API for every admin feature, authenticated via WordPress Application Passwords or WooCommerce API keys. The plugin is also itself MCP-aware — it registers an MCP server with seven abilities, so an AI agent can introspect its own activity log programmatically. Source ships under src/ and builds with npm run build.
Why you’d want this
- Debug a custom MCP integration without tailing server logs
- Audit AI agent activity on production sites before something goes wrong
- Review per-tool error rates to spot which abilities are flaky
- Trace a single agent session end-to-end when something breaks
- Export logs for compliance reviews or external analysis
- Let an AI agent monitor its own activity through the MCP server
REST API
Every admin feature is exposed under /wp-json/activity-log-for-mcp/v1/:
GET /requests— list with filters, sort, and paginationGET /stats— totals, success rate, and calls per abilityGET /sessions/{id}— every request in a session, in orderGET /search— full-text across routes, abilities, and bodiesGET /errors— recent failed executions and HTTP errorsGET /tool-performance— per-ability call count, error rate, and unique usersGET /filters— distinct ability names and users for dropdownsGET /export-csv— server-side streamed CSV downloadDELETE /requests— clear all logsDELETE /retention— delete logs older than a given date
MCP abilities
The plugin registers itself as an MCP server (activity-log-for-mcp-server) with seven abilities agents can call directly:
get-activity— paginated log retrieval with filtersget-stats— summary metrics with optional date rangeget-activity-by-session— full session trace, with optional body exclusion for lighter payloadssearch-activity— full-text search across stored requests and responsesanalyze-errors— recent errors with full detailsget-tool-performance— per-ability performance metricsclear-old-logs— date-based retention cleanup
Privacy and data handling
All data stays in your WordPress database — nothing is sent anywhere. Logs live in a custom table named {prefix}alfmcp_requests. You control retention and can clear everything from the admin UI or via REST. There’s no telemetry, no third-party calls, no external dependencies at runtime.
Disclaimer
Activity Log for MCP is not affiliated with, endorsed by, or sponsored any AI provider or the Model Context Protocol project. “MCP” and “Model Context Protocol” are referenced solely to describe the open protocol that this plugin observes.
Privacy Policy
Activity Log for MCP records REST API requests that contain the Mcp-Session-Id header. Logged data includes request routes, methods, headers, bodies, response data, user IDs, and timestamps. All data is stored in your WordPress database and is never transmitted to external services.
Screenshots
Installation
- Upload the
activity-log-for-mcpfolder to/wp-content/plugins/, or install through the WordPress plugin directory. - Activate the plugin from the Plugins screen.
- Open Tools MCP Logs and start watching activity as it happens.
No configuration is required. The first MCP request to hit your site will appear in the log immediately.
FAQ
-
I’ve never heard of MCP. Do I need this plugin?
-
If you don’t have any AI agents connecting to your site, probably not. This plugin is for sites that expose MCP servers — either through custom code or via other plugins — and want visibility into how agents are using them. If you’ve started exploring AI integrations for WordPress, installing this before something goes wrong is much easier than reconstructing what happened afterward.
-
Does the plugin slow down my site?
-
No measurable impact on regular page loads. The logger only fires on MCP REST endpoints, writes a single row per request, and all subsequent reads are object-cached. There’s no front-end JavaScript and no admin overhead outside the plugin’s own page.
-
Will this modify or block requests?
-
No. The plugin only observes and records. Requests pass through untouched.
-
Where is the data stored?
-
In a custom database table named
{prefix}alfmcp_requests. Nothing is transmitted externally — not to Anthropic, not to any third party, not anywhere. -
How do I authenticate API requests?
-
WordPress Application Passwords (Users Your Profile Application Passwords) work out of the box via HTTP Basic Auth. WooCommerce API keys are also supported when WooCommerce is active. Either method maps to a real WordPress user; the user must have the
manage_optionscapability. -
What exactly gets logged?
-
Route, HTTP method, request headers, request body, response status, response body, ability name, execution status (success / error / unknown), user ID, MCP session ID, and timestamp. Request and response bodies are stored in full so you can see exactly what was sent and returned.
-
Can I delete old logs automatically?
-
Yes. Hit the
DELETE /retentionendpoint or call theclear-old-logsability with abefore_date, either manually or from a scheduled cron job, to remove entries older than your chosen cutoff. -
My MCP client doesn’t appear in the logs — why?
-
The plugin only logs requests that include the
Mcp-Session-Idheader, which is part of the MCP transport spec. Most clients send it automatically. If yours doesn’t, requests will pass through silently — that’s a client-side configuration issue, not a plugin issue. -
Does it work with WooCommerce?
-
Yes. The plugin logs MCP requests regardless of which other plugins are active, and adds first-class support for WooCommerce API key authentication on top of Application Passwords.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Activity Log for MCP” is open source software. The following people have contributed to this plugin.
Contributors“Activity Log for MCP” has been translated into 2 locales. Thank you to the translators for their contributions.
Translate “Activity Log for MCP” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
Initial release.
- React admin UI built with
@wordpress/components - MCP request detection via the
Mcp-Session-Idheader - 10 REST API endpoints with full filtering, search, and pagination
- 7 MCP abilities exposed via the plugin’s MCP server
- WordPress Application Password and WooCommerce API key authentication
- Full-text search across stored request and response bodies
- Server-side streamed CSV export
- Per-ability performance metrics
- Session-based log grouping with optional body exclusion
- Date-based retention management
- Object caching on all database reads




