I checked what my Raku knowledge base could actually prove

Getting the MCP connection to work was the easy part - the server is a small program the agent starts on my own machine, not a service anywhere. Then I asked the knowledge base how a grammar's action class shares state between rules.

I searched for grammar action class shared state. The Grammars page came fourth, under the Grammar type page twice and a module's heading parser. I opened the section I expected, Attributes in grammars, because its name sounded closest, but the answer wasn't there. It was higher up the page, under "Always succeed" assertion, with Methods in grammars and Dynamic variables in grammars in between. I'd never have thought to open that heading. Its Digifier example declares has @!numbers, and both digit and succ write to it. That attribute is the shared state.

I'd been describing results as page, section and passage, but reading my own code showed the index is flat - url, title, top-level section, text - and a heading inside a document isn't a result type at all. The page came back whole. Finding the section was my own doing. Being corrected by the Raku docs, not by the program I wrote around them, is the part worth having.

My second search, install offline bundle MCP server, got nowhere. Back came the Raku modules MCP, MCP::Server and MCP::Client, then Ruby's bundler and a Windows installer maker.

That miss turned out to be the useful answer to a question I hadn't asked. I'd been treating MCP for Raku as new ground, but three people have already built it: Waclaw Kusnierczyk, Matt Doughty and Anton Antonov.

Longer write-up, with the measurements and what the knowledge base is built from, is on dev.to. Both searches here were run on 26 September; the collection grows, so the order will drift.

Twice here the thing that needed checking wasn't the server. It was a sentence I'd written about it: once about what it gives back, once about who got there first.