MCP
What the MCP server will expose and how a client connects.
fikadesk is an MCP server and an MCP client. The design is settled in an accepted ADR; the server itself is not shipped yet. This page describes the contract so you can plan against it.
What the server exposes
The server turns four product surfaces into tools: conversations, contacts, articles and reporting. That is the whole surface. There are no bespoke vertical tools; every vertical gets order-aware actions through the same four.
conversationsto read, assign, reply and close threads.contactsto read and change contacts and companies.articlesto read and publish help-center content.reportingto read rollups.
The tool argument schemas are the same Zod objects that validate the REST endpoints. CI runs toJSONSchema() over every exported protocol schema and fails on throw, so a .refine() that exists on the REST path cannot silently disappear from the MCP tool schema.
Schema-representability
The ADR pins the wire protocol to schemas that JSON Schema can express. Zod lists bigint, int64, symbol, undefined, void, date, map, set, transform, nan and custom as unrepresentable, so protocol types are authored to avoid them. Adding a tool is one object, and three surfaces update: the REST route, the MCP tool and the mobile model.
Connecting a client
The client half of the contract is Streamable HTTP with OAuth, per-tenant tool allowlists, argument schemas, dry-run and confirm flags, rate limits and spend attribution. That describes how fikadesk reaches tenant systems as an MCP client.
Note
There is no live server to connect a client to yet. The server transport is internal to the api and swappable, so the wire protocol can change without touching the tool surface. Check this page after the next release for the endpoint and a connection example.