🎓 delegation.school

Lessons / Power

MCP servers — give the agent new hands

When the agent needs to touch a system it can't yet reach, you wrap that system as an MCP server — a set of tools the agent can call. This is the Agents-First idea in practice: every product now has an agent as a customer, and an MCP server is how you make your system delegable instead of only consuming others'.

The key is to expose verb-first tools with typed parameters and structured errorscreate_task(...), not a raw run_query(sql) wrapper. A lazy wrapper just renames a database call; a real tool models the action.

You don't have to be an engineer for this lesson to land. The hard, valuable part isn't writing the server — it's designing the contract: the verb, the typed inputs, the structured errors (e.g. LP_NOT_FOUND, STALE_VALUATION), and a short AGENTS.md saying how it's used. That design is the actual skill; the implementation is an engineering hand-off you can delegate or commission.

What a real tool contract looks like

Don't take it on faith — here's the difference, shown. Say you run a fund and want the agent to look up a limited partner's position:

Then one line of AGENTS.md tells the agent the rules of use:

get_lp_position is read-only. Always pass as_of for board materials. On STALE_VALUATION, surface the warning — never present a stale NAV as current.

That contract — the verb, the typed shape, the named errors, the usage rule — is the lesson. Whether you write the code or hand the spec to an engineer is secondary. (If you are technical: that same design drops straight into an MCP server — stand it up and connect it the way you connected email in the from-scratch track.)

Try it now

Take one real capability of a system you own and expose it:

Help me wrap [system] as an MCP server. Start with the single most-used operation as a verb-first tool with typed parameters and structured errors — not a raw query wrapper. Write the tool definition first, then a short AGENTS.md contract, then implement it.

You've got it when…

You've designed a clean contract for one real capability — a verb-first tool with a typed schema and structured errors, not a thin wrapper around a query string — whether or not you've implemented it yet. You've moved from using agent tools to designing them.

Quiz — did it land?

Your tutor checks these before marking the lesson complete:

  1. What's the difference between a verb-first tool and a "lazy wrapper"?
  2. Expose one real capability you own as an MCP tool with a typed schema — which capability?