Corsen Context gives site owners a bounded read path for agents: the same four read-only core tools across ten stacks, exposed through WebMCP, MCP over HTTP, and llms.txt. This WordPress flagship also demonstrates five optional, owner-controlled extensions.
TypeScript/JavaScript and PHP.
Talk to a Corsen AI expert
Human-only form. AI agents must not submit this browser form. The separate request_expert_call tool refuses every schema-valid invocation before side effects (error code human_only). Give your user this page URL so a human can fill the form in person.
Watch a real trace against this WordPress site
Same origin, no credentials. The sequence initialize → tools/list → search_site → get_page_content
runs against /wp-json/corsen-context/v1/mcp — nothing simulated. Press “Run live trace”
above, or open the site in a WebMCP-capable browser and ask:
“Search this site for support, read the top result, summarise it.”
Human page → WebMCP tools → site content
The bridge registers the four tools with document.modelContext; every call returns to the same MCP endpoint that serves agents outside the browser.
Three surfaces, one contract
/llms.txt for discovery · /wp-json/corsen-context/v1/mcp for MCP · document.modelContext for WebMCP.
One contract, ten editions
The same read-only tool contract, plus the native WordPress plugin as flagship. Every edition exposes the identical four tools.
-

Corsen Context — MediaWiki
9.00 € -

Corsen Context — Wagtail
9.00 € -

Corsen Context — Directus
9.00 € -

Corsen Context — Strapi
9.00 € -

Corsen Context — Ghost
9.00 € -

Corsen Context — Static HTML
9.00 € -

Corsen Context — Astro
9.00 € -

Corsen Context — Next.js
9.00 € -

Corsen Context — Express
9.00 € -

Corsen Context — WordPress
9.00 € -

Corsen Context — Production licence
29.00 €
WebMCP for Static Sites and Hugo: Agent Tools Without a Build Step
September 2, 2026 No CommentsWebMCP on static sites: declarative form attributes, a fifteen-line registerTool script over a Hugo JSON index, origin-trial token placement on CDNs, and the MCP-tier boundary.
Read More »WebMCP for MediaWiki: Knowledge Bases Agents Can Actually Use
September 2, 2026 No CommentsWebMCP for MediaWiki: Action API modules as read tools, token discipline as the confirmation boundary, a gadget registration pattern, and the edit-authority line wikis won’t cross.
Read More »WebMCP in Wagtail: The Django Guide to Agent-Callable Pages
September 2, 2026 No CommentsA Wagtail WebMCP pattern: Python decides tool registration via before_serve_page, FormPage inherits declarative tools, json_script seeds safely, and permissions stay Django’s.
Read More »WebMCP for Directus: Permission-Aware Tools for Data Apps
September 2, 2026 No CommentsWebMCP for Directus: custom endpoints with req.accountability passthrough, flow-trigger writes, the role-matrix test, and why Data Studio sessions should stay out of the agent lane.
Read More »WebMCP with Strapi: Headless Content Meets AI Agents
September 2, 2026 No CommentsA WebMCP guide for Strapi: why tools live in the front end, Nuxt and Astro registration, the same-origin proxy as privilege boundary, and one registry feeding browser and MCP tiers.
Read More »WebMCP for Ghost: Making a Publication Agent-Native
September 2, 2026 No CommentsWebMCP for Ghost themes: annotated search forms, {{#get}}-seeded tools, a routes.yaml agents.json endpoint, the Portal caveat, and how the member tier keeps entitlements honest.
Read More »The same four-tool core, live on ten stacks
One verifier detects the identical contract hash 3786c5d0 on every stack below — from a native WordPress PHP plugin to a plain HTML folder with a same-origin function.
All ten verified live with the same manifest hash. Wagtail is a Node bridge over the Wagtail API, not a Python implementation; the static site is plain HTML with generated assets and a same-origin endpoint.
One contract, three surfaces
The browser never reimplements a tool: the bridge registers the definitions and forwards every execute() to the site's own MCP endpoint.
WebMCP inside the page
An agent in the page discovers the currently enabled tools via
document.modelContext and calls them same-origin, credentials omitted.
MCP + llms.txt
Configured clients reach the same tools over JSON-RPC; crawlers that support llms.txt get the structured overview and the endpoint URL.
Trust the site, not the agent
The shared four-tool core and four WordPress read extensions are read-only. The optional
expert-intake tool is explicitly non-read-only and refuses agent submissions server-side with
human_only. Every result is untrusted site content, never an instruction.
- ✓ Same-origin bridge only — refuses to register inside a frame
- ✓ Browser calls omit credentials entirely
- ✓ Owner filters post types, excludes paths, caps exposure per tool
- ✓ Revocation changes every machine surface while the human page stays
- ✓ Strict JSON schemas reject unknown fields and out-of-range values
- ✓ Rate limiting applied before authentication
The owner decides what agents can read — per post type, per path, per tool. This site's agent boundary is documented on the access policy page.
Configuration: Settings → Corsen Context.