mcp.nexlab.net is live. Twenty-four Model Context Protocol servers, 208 tools, behind one endpoint and one credential.
The problem it solves
MCP is a good protocol with an awkward distribution story. Every server is its own install, its own process, its own configuration block. Two dozen useful servers means two dozen of everything, and an agent that wants three of them pays that cost three times.
Running them in one process changes the arithmetic. Shared dependencies are loaded once rather than two dozen times, and the whole fleet answers on a single URL:
https://mcp.nexlab.net/mcp
Tools arrive namespaced server__tool, so a client sees one
coherent surface. Individual servers stay addressable at
/mcp/<slug> for anyone who wants just one.
Built for agents rather than for browsers
Three decisions follow from that, and they are the ones I would defend:
- Errors are typed.
401for a missing key,402for an exhausted quota,403for no subscription,404for an unknown server. An agent can act on each of those. It cannot act on a500, and the marketplace I was using before returned500for all four — which took months to diagnose. - OAuth 2.1 with dynamic client registration. A client
that meets a
401reads the protected-resource metadata, registers itself, completes an authorisation-code flow with PKCE, and carries on. Nobody emails a secret to anybody. - Overspending is opted into. Usage can be metered per call against a prepaid balance, but when a monthly allowance runs out the default is to stop. An agent in a retry loop can spend a balance in seconds, and that should never be the default behaviour.
What the servers do
They answer questions about the physical and civic world: weather, marine
and aviation conditions, earthquakes and hazards, satellite passes and launch
windows, grid carbon intensity, EU and US legislative activity, court records,
tariffs, corporate filings, vulnerability advisories, research papers and
scripture. The largest, planet-watch, carries 41 tools on its own;
sacred-texts carries 25 across six traditions.
Every answer carries its source. That is the point of them — an agent that cites where a number came from is worth more than one that simply asserts it.
How it is built
Python and FastMCP for the servers, Starlette for the gateway, running in a rootless podman container behind nginx, with a Tor hidden service alongside for callers who need it. The gateway is about five thousand lines with roughly fourteen hundred lines of tests, and every payment rail — card, PayPal, Bitcoin, Ethereum, Solana — was verified end to end against the live provider before it was switched on.
Since launch: making 208 tools usable
Two hundred and eight tools is more than most clients want in a single
list, and a model handed all of them at once reasons worse, not better. So
the aggregate endpoint now manages its own surface. Two free tools do it:
nexlab__search_tools finds any tool by description and adds it
to the advertised list, and nexlab__set_toolset switches between
named sets — security, compliance, research, travel, earth-and-sky,
media — or turns the whole mechanism off.
A tool that is not currently advertised can still be called by name. The list is a working set, not a permission boundary; permissions remain the subscription, which is where they belong.
Try it
A free allowance is granted automatically on the first call, so an agent can use a server before anyone decides to pay for it. Point any MCP client that speaks Streamable HTTP at the endpoint above, or read the notes for agents first.