Skip to main content
Boot a working server from the shipped hello-world example, then list and call a tool over MCP. The example is one local greet tool — no agents, no services to stand up, nothing to configure. The server does make one outbound call of its own: it polls the marketplace for security advisories on a timer, and MARKETPLACE_ADVISORIES_POLL=false turns that off.
1

Install the runtime

The example ships in the tai42 monorepo under core/skeleton, so run it from a checkout — clone the monorepo and install the skeleton into a fresh environment, as the installation guide describes:
2

Boot the hello example

From the repository root, load the examples/hello manifest and serve it:
ACCESS_CONTROL_ENABLE=false turns off the request-auth gate, which is on by default and checks every request against Redis — this example does not use it. PYTHONPATH=examples/hello makes the example’s myapp package importable, because the manifest loads tools by import path.Startup is chatty — most of it is the operations projection reporting which of the server’s own operations it did and did not expose. The log ends with:
3

Call the tool

The MCP endpoint is http://127.0.0.1:8765/mcp. From a second terminal — inside the same checkout, because uv run --no-sync runs against the environment installed there — list the tools and call greet:
The first line prints the server’s tool names, greet among them; the second is the call result:
Only greet came from the manifest. The rest are operation tools: the server projects its own management operations onto the MCP surface, and the manifest’s api_tools block — which governs that projection — is on by default. Add api_tools: {enabled: false} to the manifest to switch it off and leave greet on its own.

What just happened

The manifest named one tool module, myapp.tools. Importing that module ran its registration decorator, which registered greet on the server:
The manifest is the only thing that decides what a server loads from your app. An empty manifest ({}) still boots, serving the projected operation tools and nothing of yours; adding sections adds your capabilities.

Next steps

Mental model

How the runtime fits together in one page.

Concepts

One page per pillar of the platform.

Build a tool

Register your own function as a tool.

Connect an MCP client

Point Claude Desktop, Cursor, or any client at your server.