All articles
Guide4 September 2026 9 min read

What Is an MCP Server? A Plain-English Guide

An MCP server exposes tools and data to an AI application over the Model Context Protocol. What that means, how it works, and how to connect one.

Written by

Scraper.io

Editorial

An MCP server is a small program that exposes tools, data and prompts to an AI application over the Model Context Protocol, so a model can call them without anybody writing a bespoke integration first. If the model is the brain and the chat app is the body, MCP is the standard socket, and an MCP server is whatever you plug into it: a code repository, a ticketing system, a database, or a live view of the web.

What is an MCP server?

The Model Context Protocol is an open standard for connecting AI applications to external systems. Before it existed, every pairing of an assistant and a system needed its own integration: your CRM had to be wired into one chat app, then again into the next one, then again into whatever your team adopted six months later. MCP replaces that with one contract. A system implements the protocol once, and any compliant client can use it.

An MCP server is the side of that contract that owns the capability. It advertises what it can do, receives calls, does the work, and returns a result the model can read. It is deliberately unglamorous software: most useful MCP servers are a thin, well-typed shell around something that already existed.

The important consequence is who chooses. The model is not hard-wired to a fixed menu of functions decided at build time. It discovers the tool list at run time, reads the descriptions, and picks. That is why a good server spends more care on its tool descriptions than on almost anything else.

How MCP works: host, client, server, tools

There are four moving parts and it is worth keeping them straight, because most confusion about MCP is really confusion about which piece someone means.

Servers speak over one of two transports. A local server runs on your own machine and talks over standard input and output, which is how filesystem and local-database servers work. A remote server is reached over HTTP, which is how a hosted service exposes itself to many users at once. The tools look identical to the model either way.

  • Host: the AI application the person is actually using — a desktop assistant, an IDE, an agent runtime.
  • Client: the connector inside the host that maintains one session with one server, and translates between them.
  • Server: the program that owns a capability and exposes it. This is the part you write or subscribe to.
  • Primitives: what a server offers — tools the model can call, resources it can read, and prompts it can reuse.

What a data MCP server does differently

Most of the MCP servers written so far wrap systems the user already controls: their files, their repository, their issue tracker, their warehouse. The value is convenience, and the data is as trustworthy as whatever put it there.

A data MCP server has a harder job, because it is answering questions about the outside world. The web changes underneath it, sources disagree, pages get truncated silently, and a model that receives a confident-looking answer has no way to tell a fact from a plausible sentence. Convenience is not the product. Evidence is.

That changes the shape of the return value. A data server should hand back the value, the URL it was read from, the date it was observed, and an honest confidence marker when sources conflict or a single origin is all there is. It should also return an explicit empty rather than a guess. Those four habits are what let an agent do something consequential with the answer instead of merely summarising it.

The scraper.io MCP server is a remote Streamable HTTP server with ten typed tools: list_monitors, get_monitor, create_monitor, update_monitor, pause_monitor, resume_monitor, list_alerts, get_evaluation, list_channels and check_now. Read-only agents can be issued read-only keys; creating or changing a monitor requires an explicit write scope, and every call is isolated to a single workspace.

How to connect an MCP server in four lines

Connecting a remote server to a desktop client is a configuration file, not a build step. The block below is the Claude Desktop configuration we publish on the MCP page, where a copy button gives you the same thing with the exact endpoint for your workspace already filled in.

Clients that speak Streamable HTTP natively skip the bridge entirely and take a url plus an Authorization header. The pattern is the same everywhere: name the server, point at the endpoint, attach a scoped key, restart the client, and the tools appear in its tool list.

claude_desktop_config.json
{
  "mcpServers": {
    "scraper-io": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://api.scraper.io/functions/v1/mcp",
        "--header", "Authorization:Bearer ${SCRAPERIO_API_KEY}"
      ],
      "env": { "SCRAPERIO_API_KEY": "sk_live_your_key" }
    }
  }
}

What a live-data MCP server returns

Here is the part people usually have to imagine. The block below is a trimmed result shaped from three real rows in the Frontier Lab Founders feed — people leaving major AI labs to start companies — as an agent would receive them.

Three things in that payload matter more than the values. Every row carries its own sources with the date each was observed, so the agent can cite rather than assert. Confidence is a field, not a tone: CONFIRMED means two or more independent origins, SIGNAL means a single origin, and the difference is visible to the model before it decides what to do. And a null is a null — Gabriel Petersson's capital is unknown, so it is returned as unknown rather than as a number that would read as fact.

An agent given this can behave sensibly. It can act on the confirmed row, flag the single-origin one for a human, and refuse to state a raise amount it was never given. An agent given three sentences of prose with no provenance can only sound confident.

tool result (trimmed)
{
  "rows": [
    {
      "name": "Ilya Sutskever",
      "lab": "OpenAI",
      "venture": "Safe Superintelligence (SSI)",
      "stage": "LAUNCHED",
      "capital": "$2B at $32B valuation (Apr 2025); prior $1B at $5B (Sep 2024",
      "confidence": "CONFIRMED",
      "first_seen": "2026-08-14",
      "sources": [
        { "label": "reuters.com", "observed": "2026-08-14",
          "url": "https://www.reuters.com/legal/transactional/nvidia-invest-5-billion-ilya-sutskevers-ai-startup-source-says-2026-07-27" },
        { "label": "techcrunch.com", "observed": "2026-08-14",
          "url": "https://techcrunch.com/2025/04/12/openai-co-founder-ilya-sutskevers-safe-superintelligence-reportedly-valued-at-32b" }
      ]
    },
    {
      "name": "Ion Stoica",
      "lab": "Databricks",
      "venture": "SkyPilot",
      "stage": "RAISING",
      "capital": "$20M",
      "confidence": "SIGNAL",
      "first_seen": "2026-08-14",
      "sources": [
        { "label": "news.lavx.hu", "observed": "2026-08-14",
          "url": "https://news.lavx.hu/article/skypilot-co-founded-by-databricks-ion-stoica-raises-20-million-for-portable-ai-compute" }
      ]
    },
    {
      "name": "Gabriel Petersson",
      "lab": "OpenAI",
      "venture": "Energy",
      "stage": "LAUNCHED",
      "capital": null,
      "confidence": "SIGNAL",
      "first_seen": "2026-08-14",
      "sources": [
        { "label": "cnbctv18.com", "observed": "2026-08-14",
          "url": "https://www.cnbctv18.com/business/startup/former-openai-researcher-gabriel-petersson-launches-ai-startup-energy-19964864.htm" }
      ]
    }
  ]
}

MCP server vs API vs RAG index

An MCP server is not a competitor to your API; it is usually a layer over it. The API defines what is possible, and the server defines what a model is allowed to do, in language a model can read, with the authority scoped to the key in play. If you already have an API, most of the work of an MCP server is deciding which ten operations are worth exposing and describing them well.

The comparison with a retrieval index is more interesting. A RAG corpus is a snapshot: you embed documents once, and from then on the model answers from a frozen copy whose age it cannot see. That is fine for a policy handbook and quietly wrong for prices, filings, deprecations and contract notices, where the whole question is what changed this week.

The rule of thumb is simple. Use retrieval for stable knowledge you own. Use an MCP server for facts that move, and prefer one that hands back the source line with the value. If you want to see the underlying sets before wiring anything up, the live feeds are the same data these tools serve.

A retrieval index tells the model what was true when you built it. A data MCP server tells the model what is true now, and where that came from.

Frequently asked questions

What is an MCP server in simple terms?
It is a small program that offers a set of named tools to an AI application over a shared protocol. The AI app connects, reads the list of tools, and calls the ones it needs. You write the server once and any compliant client can use it.
Do I need to write code to use one?
No. Using an existing server is a configuration entry: a name, an endpoint or command, and a key. Writing your own server is a small coding task, but connecting to one is not.
Is an MCP server the same as an API?
No, though it usually sits on top of one. An API is a general-purpose interface for software. An MCP server is a model-facing surface with described tools and scoped authority, designed so a model can choose the right call at run time.

MCP settles the plumbing question, which makes the remaining question the interesting one: what should an agent be allowed to call, and what should come back with the answer? For anything drawn from the live web, the answer should arrive with the URL it was read from and the date it was read.

Make the research useful twice

Build the market once. Review only what changes next.

Scraper.io turns a defined market into an inspectable table with evidence behind every populated value.

What Is an MCP Server? A Plain-English Guide — Scraper.io