πConnect an Agent to the Wiki
The wiki serves itself over the Model Context Protocol at
https://wiki.lolwtf.ca/mcp, so an agent that has never seen this repo can read the homelab documentation. Public and read-only, exactly like the site.Connect
Anything that speaks remote MCP over HTTP takes the URL directly. No token, no OAuth, no tailnet.
Claude Desktop: Settings β Connectors β Add custom connector, URL
https://wiki.lolwtf.ca/mcp.Claude Code:
claude mcp add --transport http homelab-wiki https://wiki.lolwtf.ca/mcpAnything reading a JSON config file:
{ "mcpServers": { "homelab-wiki": { "type": "http", "url": "https://wiki.lolwtf.ca/mcp" } } }
The tools
list_pagesβ every page and its url. The cheapest way for an agent to learn what is documented.searchβ full-text across every page, best matches with surrounding context.read_pageβ one page in full, by name (Architecture/Kubernetes) or url path.
Check it by hand
curl -s https://wiki.lolwtf.ca/mcp -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq '.result.tools[].name'Expect
list_pages,search,read_page. A405means the request was not a POST; this endpoint has no SSE stream to open.
If it misbehaves
Tools answer but the content is stale. The endpoint reads
pages.json, emitted byapps/wiki/build.tsalongside the rendered pages, so it is exactly as current as the site. Check that thewikiworkflow ran on the merge.Every
tools/callfails. The function fetches/pages.jsonfrom the site's own assets β loadhttps://wiki.lolwtf.ca/pages.jsonin a browser. Empty or missing means the build, not the endpoint, is broken.Nothing responds at all. It is a Cloudflare Pages Function on the same project as the wiki (
apps/wiki/functions/mcp.ts), deployed by.github/workflows/wiki.yml. If the site is up and/mcpis not, the Function failed to compile β read that workflow's deploy step.
Changing it
The endpoint is one file,
apps/wiki/functions/mcp.ts, with tests inapps/wiki/functions/mcp.test.tsrun bybun run test. Adding a tool means adding it toTOOLSand tocall(). It runs on the public internet with no authentication, so it only ever reads what this public site already publishes.
Linked references 3
Spindrift serves its command registry over the Model Context Protocol at https://spindrift-control.lolwtf.dev/mcp, so an agent can drive the platform β list apps, dispatch a build, deploy, roll back β through the same commands the UI dispatches. Unlike Runbooks/Connect an Agent to the Wiki this surface is authenticated and it writes. Every tool is an act.
Runbooks/Connect an Agent to the Wiki β this wiki is also an MCP server at wiki.lolwtf.ca/mcp
Runbooks/Connect an Agent to the Wiki β point Claude Desktop or any MCP client at wiki.lolwtf.ca/mcp so an agent can read the homelab docs