How to serve issues, notes, and skills over MCP
Start with initialized stores and the corresponding tools installed. Each server resolves its store as the CLI does; Tools gives the resolution rule. Run from the repository, or use --root <dir> to name the store directory literally.
Start the servers
For an MCP client that starts tisket and uses stdin and stdout, configure it to run:
tisket serveFor a client that connects over HTTP, start each server in a separate terminal:
tisket serve --bind 127.0.0.1:7432
zettel serve --bind 127.0.0.1:7431
almanac serve --bind 127.0.0.1:8931Tisket prints:
tisket serving on http://127.0.0.1:7432/mcp (read-only)Zettel and almanac print the same form with their names and ports. Each server answers what the CLI answers and is read-only by default.
Connect the client
Set the MCP client’s HTTP server addresses to the corresponding endpoints:
| Store | Endpoint |
|---|---|
| Issues | http://127.0.0.1:7432/mcp |
| Notes | http://127.0.0.1:7431/mcp |
| Skills | http://127.0.0.1:8931/mcp |
None of the servers has authentication. Keep the bind address at 127.0.0.1, or put an authenticating proxy in front.
Set access and surfaces
If the client needs to append working notes to an issue, start tisket with write access:
tisket serve --access read-writeThis adds only scratch-note appends. The caller cannot create an issue, change a status, or edit a body.
If the client needs to create notes, start zettel with write access:
zettel serve --access read-writeEvery note written through the server is recorded as agent-written. The server never exposes approval. Use How to keep an issue’s research in notes for human review.
For an HTTP server, set the same --access read-write option on its bound invocation.
Almanac is always read-only. Its default surfaces are skills,tools; use --surfaces skills,resources,tools to include resources.
The CLI references list server options for tisket, zettel, and almanac.