Most SaaS products do not need their own MCP server
Published Aug 2, 2026
By Emre Salmanoglu

Most SaaS products do not need their own MCP server

Most SaaS products need accurate docs behind an MCP, not a hand-built tool per endpoint. A 54-trial eval took first-search accuracy from 28% to 85%.

Trust Center
AI
B2B

Most SaaS products do not need their own MCP server

Objective

A trust center that can be set up and operated end to end by an AI agent, as efficiently as possible, from first setup through versioning documents to announcing changes to customers, working from documentation alone.

A hot take this work was built on: most SaaS products do not need their own MCP (stateless 2.0) server. Wrapping an API in tools means maintaining it twice. 163 operations become 30–40 tool definitions, each with read/write/delete permissions set by hand, each loaded into context before the agent acts, each free to drift from the endpoint it mirrors.

Four documentation tools reach all 163, and stay four as the product grows. Unless you need generative UI, a deterministic API with accurate, current documentation behind an MCP is the better trade.

Actions

Interface. Added an MCP server exposing four tools. Agents query directly instead of scraping pages, and each tool answers a different question:

  • search_docs(query)"where do I start?" Takes a plain question in any language and returns ranked pages. The entry point for an agent that knows the task but not the vocabulary.
  • get_page(url)"what exactly do I send?" Returns one page in full. For API pages this expands the operation: parameters, request body, responses, error codes, working examples.
  • list_endpoints(tag?)"what else can I do with this?" Returns every REST operation, or one resource's complete set. An agent that finds activate sees create, publish, schedule and cancel beside it, without searching for each.
  • list_guides()"how does this product work?" The product guides as a nested index, for conceptual questions rather than endpoint lookups.

Corpus. Removed duplicate language variants: 597 pages → 199, machine-readable index 1.87 MB → 580 KB. Reduced the discovery paths to a handful.

API reference. Generated the missing endpoint indexes, only 74 of 163 operations were linked. Grouped them semantically across 25 tags so follow-up operations surface together.

Content. Added user guidance for first setup. Fixed the core copy-paste examples that returned errors.

Eval design

54 trials across three stages, in three languages. One criterion: did the agent find the correct page in its first search.

  • ① Set it up — create an API key, store it, create a first document, upload the file, publish it
  • ② Run it daily — update subprocessors, import Q&As from third parties, announce changes
  • ③ Operate in depth — clone → publish → activate, activation recovery, version scheduling

Results

                        FIRST-SEARCH PERFORMANCE

                              BEFORE              AFTER
 ┌───────────────────────────────────────────────────────────────┐
 │                                                               │
 │  ① SET IT UP              ██░░░░░░░░          ██████████      │
 │                            3/18    17%         18/18   100%   │
 │                                                +83 points     │
 │                                                               │
 │  ② RUN IT DAILY           █████░░░░░          ████████░░      │
 │                            9/18    50%         15/18    83%   │
 │                                                +33 points     │
 │                                                               │
 │  ③ OPERATE IN DEPTH       ██░░░░░░░░          ███████░░░      │
 │                            3/18    17%         13/18    72%   │
 │                                                +55 points     │
 │                                                               │
 ├───────────────────────────────────────────────────────────────┤
 │  OVERALL                  15/54    28%         46/54    85%   │
 └───────────────────────────────────────────────────────────────┘

   ② RUN IT DAILY — by language

                    BEFORE                AFTER
      English       ██████████  6/6       ██████████  6/6
      German        ██          1/6       ████████    5/6
      French        ███         2/6       ██████      4/6

Findings

Each stage failed for a different reason. Setup failed on content, daily operation on infrastructure, depth on ranking. Fixing the layer we assumed at the start would have moved none of them.

Stage ① was content. Made implicit knowledge explicit for first-time agents: nothing stated that an API key is shown once, the upload example sent no file, and one example omitted a required field.

Stage ② was infrastructure, not language. English scored 6/6 before and after. German and French failed because the layer translating a question into search terms was underpowered. Changing that model to a smaller and faster model recovered 33 points with no content rewritten.

Stage ③ is ranking, still open. The routes exist and are reachable. Search returns pages individually, so a request needing five operations returns three with no signal that two are missing. Measured at 10 pages returned versus 5, with the correct page absent from the smaller set.

Most SaaS products do not need their own MCP server