Activity Log for MCP

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 pagination
  • GET /stats — totals, success rate, and calls per ability
  • GET /sessions/{id} — every request in a session, in order
  • GET /search — full-text across routes, abilities, and bodies
  • GET /errors — recent failed executions and HTTP errors
  • GET /tool-performance — per-ability call count, error rate, and unique users
  • GET /filters — distinct ability names and users for dropdowns
  • GET /export-csv — server-side streamed CSV download
  • DELETE /requests — clear all logs
  • DELETE /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 filters
  • get-stats — summary metrics with optional date range
  • get-activity-by-session — full session trace, with optional body exclusion for lighter payloads
  • search-activity — full-text search across stored requests and responses
  • analyze-errors — recent errors with full details
  • get-tool-performance — per-ability performance metrics
  • clear-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

  • Real-time log view with date, ability, and user filters.
  • Request detail modal with collapsible request and response panels.
  • Three-dot overflow menu for CSV export and clearing logs.

Installation

  1. Upload the activity-log-for-mcp folder to /wp-content/plugins/, or install through the WordPress plugin directory.
  2. Activate the plugin from the Plugins screen.
  3. 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_options capability.

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 /retention endpoint or call the clear-old-logs ability with a before_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-Id header, 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-Id header
  • 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