{"id":328881,"date":"2026-06-21T05:33:55","date_gmt":"2026-06-21T05:33:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kalicart-mcp-make-your-content-readable-by-ai-agents\/"},"modified":"2026-06-21T05:33:38","modified_gmt":"2026-06-21T05:33:38","slug":"kalicart-mcp","status":"publish","type":"plugin","link":"https:\/\/tg.wordpress.org\/plugins\/kalicart-mcp\/","author":23482077,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.10","stable_tag":"0.2.10","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"KaliCart MCP","header_author":"KaliCart","header_description":"Agent-callable WordPress content and tools.","assets_banners_color":"ff8200","last_updated":"2026-06-21 05:33:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/mcp.kalicart.com","header_author_uri":"https:\/\/kalicart.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.10":{"tag":"0.2.10","author":"carthub","date":"2026-06-21 05:33:38"}},"upgrade_notice":{"0.2.5":"<p>New admin header logo.<\/p>","0.2.4":"<p>Restores the toggle switch appearance.<\/p>","0.2.3":"<p>Completes the toggle click-area fix for the content exposure section.<\/p>","0.2.2":"<p>Fixes the exclusion toggle reacting to clicks on the whole row.<\/p>","0.2.1":"<p>Minor admin UI fixes (menu icon and toggle behavior).<\/p>","0.2.0":"<p>Adds content exclusion controls, automatic WooCommerce page exclusion, and IT\/DE\/FR\/ES translations.<\/p>","0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3580300,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3580300,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3580300,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3580300,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.10"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[5061,2353,216196,4608,242115],"plugin_category":[],"plugin_contributors":[261605],"plugin_business_model":[],"class_list":["post-328881","plugin","type-plugin","status-publish","hentry","plugin_tags-agent","plugin_tags-ai","plugin_tags-chatgpt","plugin_tags-markdown","plugin_tags-mcp","plugin_contributors-carthub","plugin_committers-carthub"],"banners":{"banner":"https:\/\/ps.w.org\/kalicart-mcp\/assets\/banner-772x250.png?rev=3580300","banner_2x":"https:\/\/ps.w.org\/kalicart-mcp\/assets\/banner-1544x500.png?rev=3580300","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kalicart-mcp\/assets\/icon-128x128.png?rev=3580300","icon_2x":"https:\/\/ps.w.org\/kalicart-mcp\/assets\/icon-256x256.png?rev=3580300","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>KaliCart MCP makes your WordPress site agent-ready: it turns your editorial content into something AI agents and assistants \u2014 such as ChatGPT, Claude, Gemini, Perplexity and any MCP-capable client \u2014 can browse, search and read directly. It exposes your posts, pages and public custom post types as a standards-based <strong>Model Context Protocol (MCP) server<\/strong> over JSON-RPC 2.0, alongside clean Markdown output and a lightweight presence\/discovery layer. No LLM, no cloud, no external calls \u2014 everything runs on your own server.<\/p>\n\n<p>It is <strong>read-only<\/strong>: an agent connects to a single endpoint on your site and can list, search, and read your published content as structured data \u2014 it never creates, edits, or deletes anything.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Serves a JSON-RPC 2.0 MCP endpoint at <code>\/wp-json\/kalicart-mcp\/v1\/mcp<\/code>.<\/li>\n<li>Exposes five tools: site_info, site_map, list_content, search_content, get_content.<\/li>\n<li>Converts post content to clean GitHub-Flavored Markdown, including tables.<\/li>\n<li>Advertises itself through a <code>&lt;link rel&gt;<\/code> tag, a <code>\/.well-known\/kalicart-mcp<\/code> discovery document, a Content-Signal header, and robots.txt entries.<\/li>\n<\/ul>\n\n<h4>Content stays under your control<\/h4>\n\n<p>Exclusion works on three levels, all enforced:<\/p>\n\n<ol>\n<li><strong>Structural<\/strong> - attachments and commerce objects (products, variations) are never exposed. MCP is for content, not commerce.<\/li>\n<li><strong>WooCommerce functional pages<\/strong> - cart, checkout, my account, shop, and policy pages are excluded automatically as application UI rather than editorial content.<\/li>\n<li><strong>Per-item<\/strong> - a \"Hide from AI agents\" checkbox in the editor lets you remove any single post or page.<\/li>\n<\/ol>\n\n<p>You choose which post types are exposed from a simple toggle in the admin screen.<\/p>\n\n<h4>WooCommerce coexistence<\/h4>\n\n<p>KaliCart MCP is the content companion to the KaliCart Bridge commerce plugin. The two are fully independent - separate namespaces, separate code - and can run side by side. MCP handles editorial content; Bridge handles products and commerce.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/kalicart-mcp<\/code>, or install through the Plugins screen in WordPress.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Open the <strong>KaliCart MCP<\/strong> menu to see your endpoint, choose which content types to expose, and copy the ready-to-paste Claude Desktop configuration.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20send%20my%20content%20to%20any%20external%20service%3F\"><h3>Does this send my content to any external service?<\/h3><\/dt>\n<dd><p>No. The plugin makes no outbound calls. It only responds to agents that connect to your own endpoint. There is no LLM and no cloud component.<\/p><\/dd>\n<dt id=\"is%20it%20read-only%3F\"><h3>Is it read-only?<\/h3><\/dt>\n<dd><p>Yes. Agents can read, list, and search your published content. The plugin never creates, edits, or deletes anything.<\/p><\/dd>\n<dt id=\"how%20do%20i%20connect%20an%20agent%3F\"><h3>How do I connect an agent?<\/h3><\/dt>\n<dd><p>The admin screen provides a copy-paste Claude Desktop configuration using mcp-remote. Any MCP-compatible client can connect to the endpoint at <code>\/wp-json\/kalicart-mcp\/v1\/mcp<\/code>.<\/p><\/dd>\n<dt id=\"will%20my%20products%20show%20up%3F\"><h3>Will my products show up?<\/h3><\/dt>\n<dd><p>No. Products, variations, attachments, and WooCommerce functional pages are excluded automatically. MCP exposes editorial content only.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20a%20specific%20page%3F\"><h3>Can I hide a specific page?<\/h3><\/dt>\n<dd><p>Yes. Each post and page has a \"Hide from AI agents\" checkbox in the editor sidebar.<\/p><\/dd>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce is optional. If it is installed, the relevant functional pages are detected and excluded automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.10<\/h4>\n\n<ul>\n<li>Compliance: admin page styles and scripts are now enqueued via wp_enqueue_style \/ wp_enqueue_script on admin_enqueue_scripts (scoped to the plugin's own screen) instead of being printed inline. Dynamic values reach the script through wp_localize_script.<\/li>\n<li>Compliance: unified every plugin-owned identifier (options, post meta, query var, nonces, classes, constants) under a single kcmcp_ prefix. No new behavior; no database migration.<\/li>\n<li>Robustness: the admin category list and the site_info term counts now restrict to the primary language through the same multilingual helper used by the content tools, so WPML sites (not only Polylang) show one language. No-op on monolingual sites.<\/li>\n<\/ul>\n\n<h4>0.2.9<\/h4>\n\n<ul>\n<li>Multilingual support: on sites running a multilingual plugin (Polylang or WPML), KaliCart MCP now serves content in the site's primary language only. This removes duplicate posts, pages and categories from listings, search and the site map, so agents receive one clean, coherent set of content instead of the same item repeated once per language. The served language is declared in the JSON (language \/ served_language) so agents never have to guess; agents translate on demand for the end user.<\/li>\n<li>Admin: the category exclusion list now shows only primary-language categories (no more ambiguous per-language duplicates), with an explanatory notice on multilingual sites. Monolingual sites are unaffected.<\/li>\n<li>Content: list and search results now include each item's taxonomy terms (categories, tags), so the JSON is self-contained \u2014 an agent sees an article's category without a follow-up request.<\/li>\n<\/ul>\n\n<h4>0.2.8<\/h4>\n\n<ul>\n<li>Hardening: reviewed all REST routes for WordPress.org compliance. Read-only public MCP endpoints declare an explicit public permission_callback (__return_true); admin endpoints require manage_options plus a per-item capability check and a wp_rest nonce. No behavioral change.<\/li>\n<li>Maintenance: removed the manual load_plugin_textdomain() call (translations are loaded automatically for plugins hosted on WordPress.org since WP 4.6).<\/li>\n<\/ul>\n\n<h4>0.2.7<\/h4>\n\n<ul>\n<li>Fix: site_map no longer surfaces WooCommerce navigation (shop, product categories\/tags); menu filtering matches linked objects, not URL slugs, so it is language-independent.<\/li>\n<li>Fix: list_content returns an explicit error for a non-exposed post_type instead of silently falling back to posts.<\/li>\n<li>Add: when WooCommerce is detected, the initialize instructions state the content-only policy and point agents to KaliCart Bridge for catalog data.<\/li>\n<\/ul>\n\n<h4>0.2.6<\/h4>\n\n<ul>\n<li>Admin: finalized the KaliCart MCP brand logo in the page header.<\/li>\n<li>Maintenance: corrected the readme Contributors entry.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>Admin: new KaliCart MCP brand logo in the page header.<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Fix: restore toggle switch styling (a clipping rule was hiding the switch track); switch styles are now unified across both toggle sections.<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Fix: the \"Content exposure\" toggles now react only to the switch, not to clicks on the type label \u2014 same scheme as the exclusion list.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Fix: clicking a row's title no longer toggles it \u2014 the hidden checkbox is now confined to the switch control instead of overflowing the whole row.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Fix: sidebar menu icon now uses the same inline-SVG scheme as KaliCart Bridge (correct alignment, no CSS mask).<\/li>\n<li>Fix: exclusion row toggles switch only via the switch control, not by clicking the row.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Admin: content exclusion controls \u2014 hide categories, individual posts and pages from AI agents via instant toggles, plus a per-item \"Hide from AI agents\" switch in the editor sidebar.<\/li>\n<li>Admin: unified post\/page search with AJAX toggles and a live-updating \"currently hidden\" list.<\/li>\n<li>WooCommerce functional pages (cart, checkout, account, shop) are now excluded from agent-readable content automatically.<\/li>\n<li>Internationalization: Italian, German, French and Spanish translations; translation loader added.<\/li>\n<li>Fix: row toggles now switch only when the switch itself is clicked, not the whole row.<\/li>\n<li>Fix: sidebar menu icon alignment.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>JSON-RPC 2.0 MCP server with five tools (site_info, site_map, list_content, search_content, get_content).<\/li>\n<li>Content data layer with three-level exclusion (structural, WooCommerce functional pages, per-item opt-out).<\/li>\n<li>HTML to GitHub-Flavored Markdown conversion, including tables.<\/li>\n<li>Presence and discovery layer: link rel, .well-known document, Content-Signal header, robots.txt entries.<\/li>\n<li>Admin screen: server status, content-exposure toggles, endpoint with copy, Claude Desktop config, WooCommerce coexistence card.<\/li>\n<li>Per-item \"Hide from AI agents\" control in the editor.<\/li>\n<\/ul>","raw_excerpt":"Make your WordPress content AI-ready: an MCP server that lets ChatGPT, Claude and any agent read your posts and pages as clean Markdown.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/328881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=328881"}],"author":[{"embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/carthub"}],"wp:attachment":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=328881"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=328881"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=328881"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=328881"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=328881"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=328881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}