Skip to content
echogeco
Building an MCP server · Surface and auth

The tool surface for an accounting server

Cut a 52-endpoint accounting API to a tool surface for three callers, with scopes, a resource and a never-list, and price the definitions against wrapping everything.

designhardExercise · 4 min · 50 of 75
On this page

The books are the next system a model will touch, and a mis-posted journal is found only when the accountant reviews the month. The surface decides whether that can happen at all.

The situation

This exercise returns to the agency, not the online retailer of this module's lessons. Bookkeeping prep: each month about 600 bank transactions are categorised against a chart of 40 accounts. The operations manager keeps the books and does it by hand at about a minute each, 10 hours a month at an assumed $30 an hour, $300, and your external accountant reviews the month and signs it. You want one MCP server over the accounting system for three callers: a nightly categorisation automation, the operations manager, and you, asking "what did we spend on software in Q3?" from a chat host.

The accounting system's API has 52 endpoints: bank transactions, bills, invoices, contacts, journals, reports, payroll, attachments, users and settings. A contractor proposes wrapping all 52. In the system's own interface today, the operations manager can categorise transactions and attach receipts but cannot post journals or open payroll; only you see payroll; only the accountant can lock a period.

Assume about 150 tokens per tool definition, 4 model calls per transaction if the automation runs as an agent over the server, and the large model at $2 per million input tokens.

The question

Design the server's surface: the tools split into reads and writes with a scope on each, what becomes a resource, and the never-list. Then price the definitions a month against the contractor's 52.

A strong answer · Rubric · Where answers go wrong

Write your answer first, then open