Documentation

The 30-second guide.

Add the checked package to an existing Cloudflare Worker, then choose one operation.

Install

Mulder is a package inside your application, not a hosted account or a replacement for your API.

Public preview: Mulder is not on the npm registry. These commands download the versioned archive, verify its SHA-256 digest, and install that local file.
Shell
curl -fsSLO https://mulder.coey.dev/downloads/acoyfellow-mulder-0.2.0.tgz
curl -fsSLO https://mulder.coey.dev/downloads/acoyfellow-mulder-0.2.0.tgz.sha256
shasum -a 256 -c acoyfellow-mulder-0.2.0.tgz.sha256
npm install ./acoyfellow-mulder-0.2.0.tgz

Add it to your Worker

TypeScript
import { createWebMcpCompanion } from "@acoyfellow/mulder";
import { existingApi } from "./api";

const companion = createWebMcpCompanion({
  document: openApiDocument,
  renderPage: () => new Response(pageHtml, {
    headers: { "content-type": "text/html; charset=utf-8" }
  }),
  dispatch: (request) => existingApi(request)
});

export default {
  async fetch(request: Request) {
    return await companion.handle(request) ?? existingApi(request);
  }
};

Choose one operation

Code
get: {
  operationId: "get_service_health",
  description: "Get the health of one service in one region.",
  "x-webmcp-enabled": true,
  parameters: [
    { name: "service", in: "path", required: true, schema: { type: "string" } },
    { name: "region", in: "query", required: true, schema: { type: "string" } }
  ]
}

That is the complete integration. Open /__mulder/manifest to inspect exactly what the browser can discover.

Shell
curl https://your-site.example/__mulder/manifest

Not using a Worker?

Use the Hono, SvelteKit, or static-site instructions. Hono and SvelteKit reuse the same companion handler. Static sites can expose public GET APIs only.

Before production

Read the security guide. Mulder validates shape and fidelity; it does not authenticate users, authorize resources, approve writes, or filter API results.

Start typing to search.