MCP server reference
One hosted, multi-tenant MCP server exposes all four primitives to your agent. This page is the map — how to connect, how a session picks its Team, and which tools exist. Each tool's arguments live in the tool's own schema, which your agent reads on connect; they are not restated here.
Connect
The server is a single streamable HTTP endpoint, mounted at /mcp on the main
host — for example https://aigears.example.com/mcp. Every buyer's agent
connects to the same URL; there is no per-Team subdomain.
Unlike the HTTP API, MCP does not take a Bearer API key. The server authenticates the human operator over OAuth, with Dynamic Client Registration, so an OAuth-capable host registers itself and runs the login flow on first connect — nothing to paste. Point a client at the URL:
{
"mcpServers": {
"aigears": {
"url": "https://aigears.example.com/mcp"
}
}
}
On first use the host opens the browser for you to sign in and consent; after that the session is authenticated. Sessions are stateful — the Team you select (below) is remembered for the life of the connection.
Session bootstrap
A REST API key is bound to exactly one Team, so REST never has to ask which Team you mean. An OAuth token is not: one operator can belong to several Teams, and the token is not pre-bound to any of them. So every session starts by choosing a Team:
- Call
teams_listto see the Teams the signed-in operator belongs to. - Call
set_current_teamwith the one you want. That Team is now the session's working Team, and every following tool call reads and writes its state.
Until a Team is selected, the primitive tools have no Team to act on and fail
with a no_team_selected error. A well-behaved agent runs this bootstrap once
at the start of a session — the agent skill
below packages that habit.
Tool inventory
Every tool the server exposes, grouped by primitive, one line each. Each tool's arguments and return shape are in the tool's own schema — read them there, not here. The names mirror the HTTP API operations one-to-one.
Session
teams_list— list the Teams the signed-in operator belongs to.set_current_team— choose the session's working Team.
Schedules
schedule_create— register a one-off or recurring schedule.schedule_list— list schedules.schedule_get— fetch one schedule.schedule_cancel— cancel a pending schedule.
Deadlines
deadline_remember— record a deadline with its escalation policy.deadline_query— the cross-session recall: ask what is due.deadline_list— list deadlines.deadline_get— fetch one deadline.deadline_complete— mark a deadline done, stopping escalation.deadline_snooze— push a deadline out to a new time.deadline_cancel— cancel a deadline.
Approvals
approval_request— open an approval gate and notify the approver.approval_status— check whether a request is still pending or decided.approval_list— list approval requests.approval_cancel— withdraw a pending request.
Watches
watch_create— start watching a source for changes.watch_list— list watches (optionally by status).watch_history— read a watch's per-change event log.watch_pause— pause polling (keeps config, stops billing).watch_resume— resume a paused watch.watch_delete— delete a watch.
Guiding your agent
The tool descriptions above are per-tool; they can't teach the cross-tool
habits that make an agent effective — running the set_current_team bootstrap
first, reaching for a deadline rather than a schedule when a task has a due
date, passing an idempotency key on every retry. That knowledge lives in the
agent skill, which you can add to a skill-aware
host so your agent picks it up automatically.