Skip to content
Agentic AI services

MCP server development

Fig AI Systems builds MCP servers: Model Context Protocol servers that expose a system's tools and data to AI assistants. One server, built once, replaces a bespoke integration per assistant. We also support submission of MCP apps to Copilot, Claude and OpenAI.

What it is
One standard interface any MCP-compatible AI client can call
Best for
Tools and data that several assistants need to reach
Submission
Copilot, Claude and OpenAI

What the Model Context Protocol is

The Model Context Protocol (MCP) is an open standard for AI assistants to call external tools and read external data. A system exposes one MCP server, and every assistant that speaks the protocol can use it.

Without a shared standard, connecting five systems to four assistants means twenty separate integrations. With MCP, each system is built once as a server and each assistant acts as a client. The work then grows with the number of systems, not with systems multiplied by assistants.

An MCP server exposes three things:

  • Tools - actions the model can invoke, each with a name, a description and a typed schema for its arguments.
  • Resources - data the model can read, addressed by identifier, so context can be pulled in deliberately.
  • Prompts - reusable templates the server offers for common tasks, so usage guidance ships with the capability.

The protocol is the plumbing, not the intelligence. An MCP server makes a capability reachable. Deciding when to reach for it, and what to do when it fails, is the agent's job. So Fig AI Systems treats MCP work as part of the same practice as custom AI agent development.

What a production MCP server involves

A working MCP server can be written in an afternoon. A production one is mostly the parts around the tool calls: permissions, failure handling, and testing under a model.

  1. Tool and resource design. Every tool needs a name and description that are unambiguous on their own. Argument types must be tight enough to refuse an invalid call. Vague tools are the most common reason a model uses a server badly.
  2. Authentication and secret handling. The server holds credentials for the systems behind it; the model never should. Tokens are scoped to the narrowest permission that still does the job. Per-user identity is carried through, not collapsed into one shared service account.
  3. Scoping what the model may read and do. Read and write are separated. Destructive operations are excluded or gated behind an explicit confirmation. Resources are filtered to what the current user may see. A server should be safe when the model is wrong.
  4. Error surfaces a model can recover from. An error returned to a model is an instruction, not a log line. Name the wrong argument and state the accepted values, and you get a corrected retry. A bare stack trace gets an abandoned task or a confident invention.
  5. Transport choice. A local server and a network-reachable server differ in security, deployment and sessions. The choice follows from where the data lives and who must reach it.
  6. Rate limiting and cost control. Models retry, loop and call in parallel. Limits, timeouts, pagination and result-size caps protect the systems behind the server and the context window in front of it.
  7. Testing under a model. Unit tests prove a tool returns the right value for the right arguments. They say nothing about whether a model picks the right tool from the description, supplies sane arguments, or recovers from an error.

That last point is a discipline in its own right, covered on the closed-loop AI evaluation page. With several servers and agents in play, sequencing and failure propagation become the subject of multi-agent orchestration.

Submission to Copilot, Claude and OpenAI

Getting an integration in front of users inside someone else's assistant is a separate job from building it. We support submission to Copilot, Claude and OpenAI.

The work generally covers:

  • Packaging - building the server in the form the target ecosystem expects, including how users install and authenticate it.
  • Review expectations - going through each ecosystem's published requirements on permissions, data handling and behavior.
  • Documentation - user- and reviewer-facing material stating what the integration does, what data it touches and which tools it exposes.
  • Iterating on feedback - reviews come back with questions and requested changes. Fixing and resubmitting is part of the job.

Each ecosystem runs its own review on its own terms. We do the preparation and the iteration; the outcome and the schedule are theirs, and we will not pretend otherwise.

When an MCP server fits

An MCP server is worth building when several assistants or teams need the same capability. Below that, a direct API integration is usually the better answer.

Build an MCP server when one of these is true:

  • The same tools must be reachable from several assistants.
  • The tool surface is large enough that bespoke connectors are real work.
  • You want the integration distributed outside your own team.
  • The capability is a product in its own right, and you want it usable where your users already work.
  • Centralizing auth, scoping and audit in one place is worth an extra component.

Do not build an MCP server when exactly one assistant will ever use it and the surface is two or three calls. The protocol layer is then overhead with no payoff. The same applies to a one-off script, or to a system with no stable API to wrap yet.

Sometimes what you want is an application of your own. The products Fig AI Systems has built and owns are examples of that shape.

Get the capability correct and observable first. Expose it over MCP once the tool surface is settled. Wrapping an API you are still redesigning means rewriting schemas the model depends on.

Frequently asked questions

What is an MCP server in one sentence?

An MCP server exposes a system's tools and data to AI assistants through the Model Context Protocol, an open standard. Fig AI Systems builds MCP servers and supports submission of MCP apps to Copilot, Claude and OpenAI.

How is an MCP server different from a REST API?

A REST API is written for a developer who has read the documentation. An MCP server is written for a model that only sees the schemas it is given at runtime. So tool names and descriptions have to be unambiguous on their own. An MCP server usually sits in front of an existing API.

Does an MCP server make sense if only one assistant will ever use it?

Often not. The main advantage of the protocol is that one server works across assistants. With one consumer and a surface of two or three calls, a direct API integration is simpler. The calculation changes when the tool surface grows, or when a second assistant needs the same capability.

What does submission support to Copilot, Claude and OpenAI involve?

Getting an integration in front of users inside someone else's assistant is a separate job from building it. Fig AI Systems supports submission to Copilot, Claude and OpenAI: packaging the server for distribution, and writing the documentation each ecosystem expects. Their requirements on permissions, data handling and behavior have to be met before submitting. Each ecosystem reviews on its own terms, so no outcome or schedule is promised.

Ready when you are

Get your tools in front of AI assistants

Name the system you want assistants to reach: an internal API, a database, a product. We will come back with a practical next step.