Activity Log for MCP
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.
Top keywords
- mcp16×2.22%
- request8×1.11%
- wordpress7×0.97%
- activity6×0.83%
- agent6×0.83%
- ai6×0.83%
- custom6×0.83%
- data6×0.83%
- log6×0.83%
- logs6×0.83%
- requests6×0.83%
- abilities5×0.69%
Notification for Telegram
The “Notification for Telegram” plugin for WordPress is a tool that allows you to send notifications and messages to a Telegram channel, group or user/s when specific events occur on your WordPress site. This plugin is useful for monitoring critical events on your site, such as new comments, new user registrations, publishing activities, New forms sent,Woocommerce and Surecart orders, cart and lowstock, Mailchimp and more, by sending notifications directly to a Telegram channel or group or user/s of your choice. It also offers a shortcode to send Telegram notifications on every page of your website or in your code. Receive Telegram messages notification when: When receive a new order in Woocommerce. When a Woocommerce order change status. When receive a new order in Surecart. Every event captured by WP Activity Log plugin New field in Woocommerce checkout page let customers add the own telegram nickname Low Stock Product notifications when a product is low stock conditions. Shows Telegram Nick link in admin order details page when present When receive new forms (supports Elementor Pro Form, WPForm , CF7 and Ninjaform) When new user subscribes or unsubscribes to mailchimp. MC4WP integration When new user registers. Helps identify unauthorized or suspicious registrations. When users login or fail login. When new comment is posted. When someone adds or remove a product in the Woocommerce cart. When a new Pending posts is received. (works with any post type) Say function to speak to make the bot say Something to the people Cron job detect and notify when Plugins & Core need to update. Send custom message with Shortcode anywhere in your WP. Should Work on Multisite You can enable/disable every notification in the Plugin settings page. To configure the plugin, you need a valid Telegram API token. Its easy to get starting a Telegram Bot. You can learn about obtaining tokens and generating new ones in Setup Guide A complete step-by-step guide is available here: View the full documentation To get your Bot Token, you can refer to one of these resources: Official Telegram documentation Step-by-step guide on Medium To get your Chat ID, you need at least one recipient ID. You can retrieve it using one of these bots directly in Telegram: @get_id_bot — send /start and it will reply with your personal Chat ID @RawDataBot — send any message and it will return your full account info including your ID For Channel and Group Chatid settings see the FAQ section. Once You got the 2 fields save the configuration and try the “TEST” button .. you should receive a message in you telegram : “WOW IT WORKS” !! If not, check token and chatid fields again for the correct values. this plugin is relying on a 3rd party service to geolocate the Ip address https://ip-api.com/ https://ip-api.com/docs/legal to see the services’ a terms of use and/or privacy policies AI & MCP Compatible This plugin supports the WordPress Abilities API and is compatible with MCP (Model Context Protocol) — the standard that allows AI agents like Claude, ChatGPT, and others to interact with WordPress autonomously. If the Abilities API and MCP Adapter plugins are installed, any authorized AI agent can automatically discover and use the Send Telegram Message ability — no extra configuration needed. What an AI can do with this plugin: * Send a Telegram message with custom text * Add an inline button with label and URL * Override the default chat ID Requirements for MCP WordPress 7.0+ (Abilities API built-in) Plugin: MCP Adapter Enable “AI / MCP” in the plugin settings WordPress 6.9 compatibility WordPress 6.9+ Plugin: Abilities API Plugin: MCP Adapter MESSAGES TRANSLATION To translate Telegram messages, use WPML or Loco Translate. All notification strings are now translatable. Go to Loco Translate → Plugins → Notification for Telegram to add your translations. For WPML, ensure String Translation is enabled to modify notification texts. ACTION HOOK for third-party Plugin Notification for Telegram (version > 3.5.1) exposes a dedicated action hook so any third-party plugin can send messages without calling internal functions directly. Basic usage: do_action( ‘nftb_send_message’, ‘Your message here’ ); Look FAQ Section for more esamples. SHORTCODE EXAMPLE [telegram_mess message="Im so happy" chatids="0000000," token="000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" showsitename="1" showip="1" showcity="1" ] SHORTCODE OPTIONS: message : Your message to be sent. Example (message=”hello world”) chatids : Recipient(s) who will receive your message separated by comma (example chatids=”0000000,11111111″) , If not present this field the shortcode will use default value in Plugin option page. token: The token looks something like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 If not present this field, the shortcode will use default value in Plugin option page. showsitename: if set to “1” appends sitename after the message. Defaultvalue is “0” Example (showsitename=”1″) showip: if set to “1” appends user ip address after the message. Default value is “0” Example (showip=”1″) showcity: if set to “1” appends user city name after the message. Default value is “0” Example (showcity=”1″) USE SHORTCODE IN YOU PHP CODE WOOCOMMERCE FILTER HOOKS We have created 4 filter hooks for WooCommerce order notification message. 4 new positions: Message Header, Message Footer, before Items, and after Items. And we have created a filter through which you can add custom code to product rows, and if you want, you can replace and customize the entire row. : 4 new Positions and code axample ( echo payment_status in the 4 positions) get_data(); // Extract specific order information $payment_status = $order->get_status(); $payment_method = $order->get_payment_method(); } return "\r\n\r\n".$payment_method."(".$payment_status.")\r\n" ; } ?> Product rows Filter with 2 different behaviors ADD or REPLACE LINE ".$product_id. "\r\n"; // REPLACE Product ITEM LINE CODE WITH YOUR CODE without concatenate $message. $modified_data = $product_id. "\r\n"; return $modified_data; } ?> USER LOGIN FILTER HOOKS user_registered; $timestamp = strtotime( $registration_date ); $formatter = new IntlDateFormatter( 'en_US', IntlDateFormatter::LONG, IntlDateFormatter::LONG, 'UTC' ); $formatter->setPattern( 'd MMMM y HH:mm:ss' ); $formatted_date = $formatter->format( $timestamp ); $message = "\r\n\r\nUser Registration Date: " . $formatted_date . "\r\n\r\n"; } else { $message = "\r\nNo info available for this user.\r\n"; } return $message; } ?> LEGACY FUNCTIONS (kept for backward compatibility) Before hooks were introduced, 3 overridable functions allowed message customization without editing plugin code. These are still supported but we encourage migrating to hooks. 1) Before the product list — example: prepend the Order ID 2) After the product list — example: append the order currency get_data(); return "Currency: " . $data['currency']; } ?> 3) At the end of each product line — example: append the product slug get_slug() . " "; } ?> Suggestions for new notifications, hooks, and plugin integrations are always welcome!