AI & Automation

What is MCP?

MCP, the Model Context Protocol, is an open standard for connecting AI assistants to external tools and data. A server declares the tools, resources and prompts it provides; a client such as Claude Desktop, Claude Code or an IDE discovers them at runtime over JSON-RPC and calls them on the model's behalf, so one integration works across every compatible assistant.

Messages are JSON-RPC 2.0. A session opens with an initialize handshake in which client and server agree a protocol version and announce capabilities, after which the client can call tools/list to enumerate what exists and tools/call to run one. Servers can also expose resources, which the client reads as context, and prompts, which are reusable templates a user selects. Every tool carries a name, a human-readable description and a JSON Schema for its inputs. The model picks tools from those descriptions, so vague wording produces wrong calls far more often than a bad implementation does.

Two transports cover most deployments. A local server runs as a subprocess and exchanges messages over stdin and stdout, which suits filesystem, git and database servers that already have access to the machine. A remote server listens on an HTTP endpoint and may stream responses back, which suits hosted services shared across a team. Remote servers usually sit behind an OAuth-style authorization flow so the server acts with the individual user's permissions rather than a shared key pasted into a config file.

Server design has a cost the protocol will not hide. Every tool definition consumes context on every turn, so a server exposing a hundred thin wrappers around REST endpoints makes tool selection worse and inflates the bill. Scope tools around whole tasks and keep their output compact. Return errors as readable tool results the model can act on instead of raw stack traces. Treat whatever a tool returns as untrusted text, because content fetched from elsewhere can carry instructions aimed at the model rather than at you.

PROXIES.SX runs an MCP server at agents.proxies.sx/mcp with tools including create_port, rotate_port and get_account_usage, so an assistant can provision an endpoint in a chosen country and rotate its IP without leaving the session where the scraper is being written. The shape generalises to any infrastructure whose control plane is already an API. A fairly thin MCP layer over that API turns provisioning and monitoring into something the assistant can do while the developer stays in one window.

Where you meet it

You meet MCP while editing a client config to add a server, and again ten minutes later when the model refuses to call the tool you added. The usual causes are a description that never says when to use the tool, a schema demanding parameters the model has no way to know, or a server that never completed the initialize handshake. Client logs show which of the three you are looking at.

Common questions

Is MCP only for Claude?

No. It is a published open specification, and multiple clients implement it, including IDEs and third-party assistants. A server written once works with any compatible client, which is the point of the standard. Clients still differ in which parts they support: tools are near-universal, while resources, prompts and sampling have patchier coverage.

What is the difference between an MCP server and a REST API?

An MCP server usually sits on top of one. REST defines transport and endpoints for programs; MCP defines how an assistant discovers what exists, what each operation expects, and how to call it during a conversation. It adds runtime discovery, typed tool schemas and a consistent authorization pattern that a plain API leaves to each integration.

Do I need a separate MCP server for each AI assistant?

No, and avoiding that duplication is why the protocol exists. Write one server, run it locally over stdio or host it over HTTP, and any compatible client connects to it. What varies between clients is the config file format and how each one stores credentials, not the server itself.

Related terms

AI Agent
An AI agent is a program that lets a language model choose its own next action toward a goal, calling tools such as a browser, an HTTP client or a shell between reasoning steps and feeding each result back into its context. A fixed script sets the order in advance; an agent derives it from what the last step returned.
API
An API (application programming interface) is a defined contract that lets one program call another. On the web that usually means HTTP endpoints returning JSON, with an authentication header, documented parameters and stable error codes. Proxy providers publish APIs so a script can list endpoints, trigger an IP rotation or read bandwidth usage without anyone opening a dashboard.
Browser Automation
Browser automation is the scripted control of a real browser, navigating, clicking, typing and reading the rendered DOM in place of a person doing it by hand. Playwright, Puppeteer and Selenium drive Chromium, Firefox and WebKit over a debugging or WebDriver protocol, headless or with a visible window, for testing, scraping and agent work.
Puppeteer
Puppeteer is a Node.js library that drives Chrome and Chromium through the Chrome DevTools Protocol. From JavaScript it launches a browser, opens pages, clicks and types, intercepts network traffic and renders screenshots or PDFs. Teams run it to scrape pages that only assemble their content after JavaScript executes, and to automate logged-in workflows.
Playwright
Playwright is Microsoft's browser automation library. A single API drives Chromium, Firefox and WebKit, with official bindings for JavaScript, Python, .NET and Java. It has auto-waiting, isolated browser contexts, per-context proxy settings and a trace viewer that replays a failed run step by step, which makes it the usual pick for new automation projects.
Selenium
Selenium is a browser automation framework that drives real browsers through the W3C WebDriver protocol. It has official bindings for Java, Python, C#, Ruby and JavaScript, and Selenium Grid spreads runs across many machines. Long-standing use makes it the default in enterprise QA, though newer libraries handle waiting and proxy credentials with far less code.
Scrapy
Scrapy is an open-source Python framework for large-scale web crawling. Its asynchronous engine keeps many requests in flight at once, while spiders, item pipelines and downloader middlewares keep parsing separate from transport. Proxies plug into the middleware chain, so a crawl can change exit IP addresses without any edit to spider code.

Real 4G/5G mobile and residential IPs

PROXIES.SX runs carrier IPs in 100+ countries with HTTP and SOCKS5 on every endpoint. $4/GB down to $2.40/GB at volume, free endpoints and rotation, and your GB never expire.