Corsen Context ships in three shapes: a native WordPress plugin, npm packages for Node frameworks, and reference bridges for headless CMSs. Every shape publishes the same four read-only tools over MCP, registers them through WebMCP inside the page, and publishes /llms.txt for discovery.
WordPress (native plugin)
- In your WordPress admin, open Plugins > Add New, search for Corsen Context, then Install and Activate. You can also upload the release ZIP from the GitHub releases.
- Open Settings > Corsen Context: choose the public post types, exclude private paths, and pick which of the four core tools agents may call.
- Open Settings > Corsen Context Control to switch on optional extensions (live product data, page sections, structured data, the agent-access self-test, the human-only expert intake) and the WebMCP bridge. Everything except the four read-only core tools is off by default.
- Verify: open
/llms.txt, runtools/listagainst the MCP endpoint displayed in the settings, and open any page in a WebMCP-capable browser.
No code, build step, or API key is required. This site runs that plugin.
Next.js, Astro, Express, static HTML
The TypeScript core and the framework adapters are published on npm as @corsenai/corsen-context, @corsenai/corsen-context-nextjs, @corsenai/corsen-context-astro and @corsenai/corsen-context-cli. Each stack also has a standalone repository with a complete example, tests, CI and a step-by-step deployment guide:
- Next.js App Router — adapter plus reference app
- Astro — adapter plus SSR reference app
- Express — framework-agnostic core plus reference server
- Static HTML — generated pages plus one same-origin endpoint
- Netlify — one-click template with a serverless function
In every case you implement one small ContentProvider over your own public content, set SITE_URL, and mount three same-origin routes: /v1/mcp, /webmcp.js and /llms.txt.
Ghost, Strapi, Directus, Wagtail, MediaWiki
These are deployable Node bridges, not native CMS plugins. Each reads the corpus your CMS role permits through the CMS’s own public API, and runs either as the public frontend or as a sidecar behind your existing site:
Verify any deployment
From any machine:
npx @corsenai/[email protected] doctor --url https://your-site.example
Then confirm by hand: GET /v1/mcp returns 405 with Allow: POST; initialize negotiates protocol 2025-11-25; tools/list returns exactly search_site, get_page_content, list_content and get_sitemap; search_site returns one of your URLs and get_page_content reads it. The public verifier in the main repository runs that sequence against all ten demonstration sites and checks the shared contract hash.
Revoke at any time
Every surface has an owner switch. Turning MCP off removes the endpoint and the in-page bridge; turning the text exports off removes /llms.txt. The human pages never change.