{"slug": "how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks", "title": "How to Ship an Official MCP Server for Your SaaS in 2 Weeks", "summary": "A developer outlined a two-week process for shipping an official Model Context Protocol (MCP) server for a SaaS product, centered on a one-page tool spec, a short registry of 10–20 high-value tools, and read-only/destructive annotations. The approach recommends hosting a remote OAuth endpoint rather than letting customers paste full-access API keys into community servers, and stresses testing against Claude, ChatGPT and Cursor before launch.", "body_md": "*Originally published at [fadymondy.com](https://fadymondy.com/en/blog/ship-official-mcp-server-for-saas-in-2-weeks?utm_source=devto&utm_medium=social&utm_campaign=launch-oct26).*\n\nYour customers are starting to ask a new question in sales calls and support tickets: *\"Does it work with Claude?\"* Sometimes it is ChatGPT or Cursor instead, but the request is the same. They want to ask their AI assistant to do real work inside your product, without copying data between tabs.\n\nThe standard way to make that happen is an **MCP server**. The Model Context Protocol is the open protocol AI assistants use to discover and call tools in other products. If you already have a decent API, an official MCP server is a small, well-bounded project. Here is how I plan and ship one in about two weeks, and what to decide before anyone writes code.\n\nAn MCP server is a thin layer that sits **beside** your product and talks to your existing API. It exposes a short list of *tools*, each with a name, a plain-language description and a typed input schema. The assistant reads those descriptions, decides which tool fits the user's request, and calls it.\n\nThree things follow from that:\n\nThere are two common ways to run one: **remote** (a hosted HTTP endpoint your cloud customers connect to with OAuth) and **local** (a package the user runs on their machine, which suits self-hosted installs). Many SaaS products start with remote.\n\nIf you don't ship one, someone else might. Community MCP servers for popular products appear quickly, and they usually ask users to paste a full-access API key into a config file. Your customers then run unvetted code with their production credentials, and you get the support tickets.\n\nAn official server lets you control three things: which actions are exposed, how authentication works, and how your product is described to the assistant.\n\nTwo weeks is realistic when the API exists and is documented, and the first version focuses on the 10–20 actions people actually ask for. Here is the sequence I use.\n\nBefore building, I read your API docs and write a one-page spec. It lists the proposed tools, what each one does, its inputs, whether it reads or writes, and which auth scope it needs. It is the cheapest way for both sides to see whether the project makes sense.\n\nA good spec answers:\n\nTurn the spec into tool definitions. Keep the list short and the names obvious. **Don't mirror every endpoint.** An assistant does better with `find_customer` and `create_invoice` than with forty CRUD endpoints that differ by one field.\n\nWrite the descriptions as instructions to the model: when to use the tool, what it returns, and what *not* to use it for. In my experience this is the work that most changes how well the server performs.\n\nOn my own servers, tools live in a **registry**: one list the protocol layer reads. Adding a tool later means adding one entry, not touching the transport or auth plumbing. It keeps the server easy to grow after handover.\n\nThis is where an official server earns its name.\n\n`readOnlyHint` and `destructiveHint`). On Zekra, adding read-only annotations let AI coding agents and other MCP clients run recall and list tools without an approval prompt, while writes still ask.`author_kind = 'agent'`, so a human can always tell them apart.\nUnit tests aren't enough. Connect the server to Claude, ChatGPT and Cursor and run the prompts from the spec. Watch for:\n\nBe honest about scope up front. These usually add time:\n\nNone of them blocks a project. They belong in the spec so the plan and the price stay fixed.\n\nI build MCP servers for my own products, and they run in production:\n\nIf you want the same for your product, see [MCP server development](https://fadymondy.com/en/services/mcp-server-development?utm_source=devto&utm_medium=social&utm_campaign=launch-oct26). The process starts with a free one-page tool spec.", "url": "https://wpnews.pro/news/how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks", "canonical_source": "https://dev.to/fadymondy/how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks-47mi", "published_at": "2026-10-11 12:39:50+00:00", "updated_at": "2026-10-11 12:51:35.287475+00:00", "lang": "en", "topics": ["agent-protocols", "ai-agents", "ai-tools", "developer-tools"], "entities": ["Model Context Protocol", "Claude", "ChatGPT", "Cursor", "Zekra"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks", "markdown": "https://wpnews.pro/news/how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks.md", "text": "https://wpnews.pro/news/how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks.txt", "jsonld": "https://wpnews.pro/news/how-to-ship-an-official-mcp-server-for-your-saas-in-2-weeks.jsonld"}}