What is an MCP server?
Last reviewed 7 October 2026
An MCP server is a program that exposes capabilities to AI applications through the Model Context Protocol, so a model can call its tools, read its data and use its prompt templates. The server sits in front of one system, such as a database, a file store or a ticketing tool. Any MCP-capable application can then use that system without a custom integration written for it.
Also called: Model Context Protocol server, MCP tool server, local MCP server, remote MCP server.
Why MCP server matters
Before MCP, every AI application had to write its own connector for every system it wanted to reach, and each connector described its functions in a slightly different way. An MCP server turns that around: the owner of a system writes one server, and every host that speaks the protocol can discover and use it. That is why so many vendors now publish servers for their own products.
It also changes where risk sits. An MCP server that can write to a database or send email gives a model the power to do those things. The protocol documentation says tools may require user consent before they run, and suggests approval dialogs, pre-approved safe operations and activity logs. Deciding which servers a team may connect, and what each one may do, is now a security question as much as a developer one.
How it works
The protocol has three roles. The host is the AI application, such as an IDE or a desktop assistant. For each server it connects to, the host creates a client that holds a dedicated connection. The server is the program that provides context. Messages between client and server use JSON-RPC 2.0, and the current documentation describes requests that each carry the protocol version and the client's capabilities, plus a discovery request a client can send to learn what a server supports.
A server offers three kinds of building block. Tools are functions the model can choose to call, each described by a name and a JSON Schema for its inputs; the client finds them with tools/list and runs one with tools/call. Resources are read-only data addressed by URI, such as a file or a database schema, which the application decides how to use. Prompts are reusable templates that a user invokes explicitly, often as a slash command.
Servers run in two ways. A local server is started by the host on the same machine and talks over standard input and output; it runs with your user's permissions. A remote server runs elsewhere and talks over Streamable HTTP, which supports bearer tokens and API keys, and the protocol recommends OAuth for obtaining tokens. The same messages flow over either transport.
Worked example: a read-only database server
A data team writes an MCP server for its reporting database. It exposes one tool, run_query, whose schema accepts a SQL string, and one resource, the schema of the reporting tables. The server connects with a database role that can only read, and it rejects any statement that is not a SELECT.
An analyst asks their assistant how many orders were refunded last month. The host lists the server's tools, the model reads the schema resource, writes a query and calls run_query. The host shows the query and asks the analyst to approve it before it runs, the server returns rows, and the model writes the answer. The read-only role is the control that matters: even if the model is tricked by text inside the data, the server cannot change anything.
How Swfte relates to it
Built in the product
In Swfte you can deploy MCP servers from templates into a workspace, and each deployment answers tools/list. Calls go through a gateway that requires an API key scoped to that MCP server and checks it belongs to the workspace. Each call is logged with the workspace, the server, the JSON-RPC method, the status code and the latency. Cortex can also connect to external MCP servers, with an approval gate on destructive tools.
The limits are stated on the MCP gateway page. Access is decided per server, not per tool: per-tool allow and deny rules are designed for, not shipped. The gateway log does not record the calling person, the tool arguments or the result, and per-user OAuth identity inheritance is not built. For hardening any MCP server, with or without Swfte, use the security guide.
Related terms
- Model Context Protocol (MCP)
The Model Context Protocol (MCP) is an open protocol that gives AI applications a standard way to connect to external tools, data sources and prompts, so one integration can work with any compatible client.
- Function calling
Function calling is a feature of language model APIs that lets a model return a structured request to run a function you defined, with arguments that match its schema, instead of only replying in text.
- AI agent
An AI agent is a software program that uses an AI model to decide what to do next and then acts through tools to reach a goal it was given.
- Retrieval-augmented generation (RAG)
Retrieval-augmented generation (RAG) is a method in which a system first retrieves relevant passages from a collection of documents and then gives them to a language model as context for its answer.
- AI governance
AI governance refers to the policies, roles, processes and technical controls an organisation uses to decide which AI systems it builds or buys, how they may behave, and who answers for them.
Common questions
- What is the difference between MCP and an MCP server?
- MCP, the Model Context Protocol, is the specification: the message formats and rules. An MCP server is one program that implements the server side of that specification for a particular system. A host application uses MCP clients to talk to any number of MCP servers.
- Is an MCP server the same as an API?
- No. An MCP server often wraps an API, but it adds a standard way for an AI application to discover the available functions, read their input schemas and call them. A REST API is designed for programmers who read its documentation; an MCP server is designed so a model can find and use its tools at run time.
- Are local MCP servers safe to run?
- A local server runs with your user account's privileges, so it can reach whatever you can reach. Install servers only from sources you trust, pin the version, read what each tool does, and prefer hosts that ask before running tools that write, send or delete. Treat tool output as untrusted input to the model.
- When should I not build an MCP server?
- If only one fixed workflow calls the system, a direct API call in that workflow is simpler and easier to test. An MCP server pays off when several AI applications, or a model choosing among many tools, need the same capability. Building one for a single internal script adds a moving part without a benefit.
Sources
Definitions on this page were read on the sources below on 7 October 2026. Where sources define the term differently, the page says so. The full glossary lists more terms.
- Model Context Protocol documentation, understanding MCP servers (read 2026-10-07)
- Model Context Protocol documentation, architecture overview (read 2026-10-07)