AI agents — tools like ChatGPT, Claude, Copilot, and the growing ecosystem of autonomous AI systems — are increasingly being pointed at websites to gather information, interact with APIs, and perform tasks on behalf of users. For a site to work well with these agents, it needs to speak the right language: publishing structured discovery files, declaring its capabilities, and responding to agent-specific requests in the right format.
KP Agent Ready handles all of that for your WordPress site. It implements the current set of agent-readiness standards and the broader AI agent ecosystem — without requiring you to manually create files, edit server configs, or touch a line of code. Everything is managed from a dedicated settings page in the WordPress admin.
What It Does
RFC 8288 Link Response Headers
Every response your site sends will include Link headers pointing agents to your API catalog, agent skills index, and MCP server card. This is how agents find your discovery documents without having to guess URLs.
API Catalog — /.well-known/api-catalog
Publishes a machine-readable catalog of your site’s APIs in the application/linkset+json format defined by RFC 9727. Each entry in the catalog can point to an OpenAPI specification, human-readable documentation, and a health/status endpoint. If you have not configured any entries yet, the plugin serves a sensible fallback automatically so the endpoint is always valid.
Agent Skills Index — /.well-known/agent-skills/index.json
Publishes a skills discovery index per the Agent Skills Discovery RFC v0.2.0. This tells agents what your site can do — search your blog, browse your portfolio, submit a contact form, and so on.
Skills are built from three sources:
- Blog articles — a search skill and a browse skill, toggled with a single switch
- Custom post types — any public CPT registered on your site appears as a checkbox; tick it and it gets a browse skill pointing to its archive
- Manual entries — define any additional skill with a name, type, description, URL, and an optional sha256 digest
MCP Server Card — /.well-known/mcp/server-card.json
Publishes an MCP Server Card (SEP-1649) identifying your site to Model Context Protocol clients. Configurable name, version, description, transport endpoint, and a capability list. If you do not have an MCP server running yet, just leave the transport blank — the card is still valid and useful for discovery.
OAuth / OIDC Discovery — /.well-known/openid-configuration or /.well-known/oauth-authorization-server
If your site exposes protected APIs that require authentication, this feature publishes the discovery metadata agents need to authenticate. Supports both OpenID Connect Discovery 1.0 and RFC 8414. Disabled by default — only enable it if you have the infrastructure in place.
OAuth Protected Resource Metadata — /.well-known/oauth-protected-resource
Complements the OAuth/OIDC feature by publishing RFC 9728 Protected Resource Metadata. Disabled by default.
robots.txt Content Signals
Appends Content Signals directives to your robots.txt file, declaring your preferences for how AI systems may use your content:
- ai-train — whether AI companies may use your content to train models
- search — whether search engines may index your content
- ai-input — whether AI retrieval systems (RAG) may use your content as input
Markdown Negotiation
When an AI agent sends a request with the Accept: text/markdown header, the plugin intercepts the response for singular posts and pages and returns a clean Markdown version of the content. Regular browser requests are completely unaffected.
WebMCP
Injects a small JavaScript snippet into your page footer that calls navigator.modelContext.provideContext(), exposing your site’s key actions as tools to AI agents running in the browser. Built-in tools include blog search, portfolio navigation, and contact page navigation — each individually toggleable.
Developer Filters
Two filters let themes and other plugins extend the plugin’s output without touching settings:
kp_agent_skills — add entries to the agent skills index:
add_filter( 'kp_agent_skills', function ( array $skills ): array {
$skills[] = [
'name' => 'my-skill',
'type' => 'api',
'description' => 'Does something useful.',
'url' => 'https://yoursite.com/api/endpoint',
];
return $skills;
} );
kp_webmcp_tools — add tools to the WebMCP context:
add_filter( 'kp_webmcp_tools', function ( array $tools ): array {
// $tools is the PHP array that becomes the JS tools array
return $tools;
} );
