# Netlify API + MCP vs Railway MCP Server

> Netlify scores 69.4 (B) to Railway's 53.2 (D) for cloud hosting. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/netlify-vs-railway-mcp-server
- Markdown: https://www.anchorterminal.com/compare/netlify-vs-railway-mcp-server.md (~5,400 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-04

Netlify API + MCP scores 69.4 (B) on agent readiness against Railway MCP Server's 53.2 (D), and leads in 6 of 7 scored categories. Railway MCP Server leads on security & auth. Both do cloud hosting.

- Netlify API + MCP: grade B, 69.4/100, rank #226 of 1349. Markdown https://www.anchorterminal.com/tools/netlify.md · JSON https://www.anchorterminal.com/api/v1/tools/netlify.json
- Railway MCP Server: grade D, 53.2/100, rank #852 of 1349. Markdown https://www.anchorterminal.com/tools/railway-mcp-server.md · JSON https://www.anchorterminal.com/api/v1/tools/railway-mcp-server.json
- Best cloud infrastructure tools for AI agents: https://www.anchorterminal.com/best/infrastructure/index.md
- All 31 infra comparisons: https://www.anchorterminal.com/compare/infrastructure/index.md

## Which one, for what

### Netlify API + MCP (B)

Good for: An agent that builds and deploys web projects, sets environment variables and reads forms or logs on a team's Netlify account, including with no account through anonymous deploys.

Ahead on:
- Reliability, 67 against 57
- Schema & documentation, 79 against 56
- Agent ergonomics, 69 against 59
- Payments & pricing, 55 against 40
- Transparency & trust, 81 against 74

Also in its favour:
- No incidents deducted, where Railway MCP Server loses 7 points for them

Watch for: Personal access tokens and OAuth apps have no scopes, so a token reaches every team its owner belongs to

### Railway MCP Server (D)

Good for: Agents that deploy and operate applications on Railway from an editor and are content to hand multi-step work to Railway's own agent.

Ahead on:
- Security & auth, 65 against 59

Watch for: The hosted server's source and tool schemas are not public, so inputs can only be read after signing in.


## Why the edge

### Schema & documentation: Netlify API + MCP +23

- Netlify API + MCP (79): A public Swagger 2.0 spec, version 2.63.1, with 124 paths and 188 operations, and MCP tools typed through zod (25). llms.txt and a Markdown twin of every docs page, with agent skills in netlify/context-and-tools (10). Every spec operation has a summary, most one line, and the MCP tool descriptions say what to call first, as the deploy tool does for get-projects, but not when to leave an endpoint alone (14 of 20). 232 parameters with 9 enums; the MCP selector tools take an `operation` literal and a `params` object per operation inside one union, which is typed but nested (9 of 15). The API guide gives curl examples for sites and deploys, a shared `error` object of code and message is the default response, and 422, 404, 409 and 423 are declared on some operations, but the docs' error reference covers builds and domains rather than API codes (8 of 15). The spec carries a version, the API a /v1 path, Netlify a dated changelog, and the MCP server a dated CHANGELOG from release-please (13 of 15). 25 + 10 + 14 + 9 + 8 + 13 = 79.
- Railway MCP Server (56): The hosted server's source is closed and `tools/list` needs a signed-in client, so no tool schema was read. A server card and a registry entry are public, and the CLI proxy source shows that tools declare their parameters (15 of 25). llms.txt on both sites and a Markdown twin of every docs page (10). The docs name the 11 tools and describe four of them in a line each. The descriptions the server sends were not read (8 of 20). Input types, enums and bounds could not be read (5 of 15). The docs give example prompts and the 401 challenge, and the API docs list error codes. No list of tool errors was found (9 of 15). Railway's changelog is weekly and dated, but the growth from seven tools to 11 has no dated entry found, and the hosted server shows a fixed version 1.0.0 (9 of 15).

### Payments & pricing: Netlify API + MCP +15

- Netlify API + MCP (55): No x402, MPP or L402 (0). Plan prices and per-unit credit prices (deploys, bandwidth, compute, requests, credit packs) are public without a login (20). A Free plan with 300 credits a month and API deploys, and the docs do not say a card is needed (20). `netlify deploy --allow-anonymous` publishes a project and URL with no account, claimable within an hour, but the API, the MCP server and anything past that hour need a person to sign up and approve a token (15 of 20). 0 + 20 + 20 + 15 = 55.
- Railway MCP Server (40): No x402, MPP or L402 on the server (0). Railway can be provisioned through Stripe's Agentic Provisioning Protocol, which is a separate route and earns nothing here. Plan fees and per-second prices for CPU, memory, volumes and egress are public (20). The trial gives $5 of credit for 30 days with no card, followed by a Free plan with $1 a month (20). Dynamic client registration needs no setup, but a person has to sign in and approve the grant in a browser or with a device code (0).

### Reliability: Netlify API + MCP +10

- Netlify API + MCP (67): Read with the hosted lines. Statuspage at netlifystatus.com with component history and an Atom feed (20). From 5 August to 3 November 2026 the feed lists 19 incidents and no maintenance. None names the API or the MCP server. Errors reaching hosted sites and the Netlify application for about 85 minutes on 21 September read as one major outage; errors on the edge network for 55 minutes on 5 October, CDN DNS errors for 34 minutes on 24 September, 6 minutes of 500s on 18 August, and build, Agent Runner, AI Gateway and log-delay incidents read as minor (10 of 30). Limits are published with numbers, about 500 requests a minute, 3 deploys a minute and 100 a day, with X-RateLimit headers (15). The docs say retrying a timed-out upload is safe and give the reset header, but no backoff guidance, no idempotency key for deploys or site creation, and 429 appears in the spec only on agent runner endpoints (7 of 15). A 99.99 per cent SLA is named for Enterprise on the pricing page, with its terms in order forms (5 of 10). The API is generally available (10). 20 + 10 + 15 + 7 + 5 + 10 = 67.
- Railway MCP Server (57): Scored as a hosted server. Railway's terms bar crawling or scraping any page of its websites by manual or automated means, so no railway.com page was re-read on 4 November and the status lines are per the 9 October check. status.railway.com is an in-house status page with component history by region and for the API and OAuth login (20). On 9 October it listed about 25 incidents from 11 July to 8 October 2026, most on slow builds and deployments, including a five-minute routing failure for all domains on 30 September, services and databases unavailable for some users in US West on 3 October and a hardware fault in US West on 29 August. The MCP server is not a component. The readable part of today's window (6 August to 8 October) holds one major, the all-domain routing failure, and 9 October to 4 November was not read (10 of 30). No limit is stated for the MCP server. The public API's limits are published with numbers, 100 to 10,000 requests an hour by plan (8 of 15, held partial). The API docs give `Retry-After` on 429, backoff advice and retry rules for mutations, with no idempotency key, which this run reads as safe-retry guidance without keys (12 of 15, was 10). A 99.99% SLA is named for Enterprise with terms by contract, and no SLA document was found or read (0 of 10, was 5). The docs carried no beta label, but the April 2026 launch note called it ready for public testing (7 of 10, held partial). 20 + 10 + 8 + 12 + 0 + 7 = 57.

### Agent ergonomics: Netlify API + MCP +10

- Netlify API + MCP (69): Lists are sized with `per_page` up to 100 and there is no field selection. The hosted MCP server registers about 11 tools by default, a reader and an updater selector per domain plus coding context and design import, and lists all 25 operations one by one only for OpenAI clients, so the context cost is low either way (18 of 25). `page` and `per_page` with a `Link` header, few filters, and MCP pagination bounds enforced since v1.19.0 (15 of 20). Errors return a code and message; the MCP server answers a bad selector with text telling the agent to pick an operation again (12 of 20). No idempotency key for deploys or sites, though timed-out uploads are safe to retry; every MCP tool declares readOnly, destructive, idempotent and openWorld hints since v1.18.0, with project renames marked destructive (12 of 20). Few required parameters, a Go client, a JS client and the CLI (12 of 15). 18 + 15 + 12 + 12 + 12 = 69.
- Railway MCP Server (59): Eleven tools, one over the ten that earns full marks, with `railway-agent` taking multi-step work in a single call (20 of 25). The three list tools are the only read tools apart from the flag tools. Pagination and size controls could not be read (6 of 20). A missing or expired token answers 401 with a `WWW-Authenticate` challenge, the CLI proxy returns a login hint, and API errors carry a code and a trace id (12 of 20). The docs say destructive tools are marked at the protocol level so clients prompt. Read-only hints were not established, and there is no idempotency key (12 of 20). The CLI proxy fills project context from the linked directory for tools that accept it. Two official SDKs for the platform API were not found (9 of 15).

### Transparency & trust: Netlify API + MCP +7

- Netlify API + MCP (81): The MCP server is ISC and the CLI MIT, on a closed platform with clear terms naming Netlify, Inc. (25 of 30). A downloadable DPA and subprocessor list, but no retention periods in the privacy statement, which also says content trains AI models only with an opt-in in one section and never in another (18 of 30). Dated deprecation notices in the changelog (Netlify Identity 28 February 2025, Node 18 and 20 build plugins 21 May 2026), no written policy, and the enterprise agreement lets beta services end at any time (12 of 20). Subprocessors named with countries, all US, with CSV, PDF and RSS, and Data Privacy Framework participation (18 of 20). 25 + 18 + 12 + 18 = 73.
- Railway MCP Server (74): The hosted server is closed source under clear terms. The CLI proxy and the local server are MIT (20 of 30). The DPA is published in full. The privacy policy's full text was not read. Audit log and image retention are stated by plan, and nothing was found on what the hosted server or `railway-agent` keeps from a session (18 of 30). The old npm server was deprecated on 23 May 2026 with a shim and a registry notice, and API fields are marked `@deprecated` before removal with no stated period. The terms let Railway suspend or discontinue any part of the Services (10 of 20). The DPA names Google Cloud Platform and the United States, promises ten days' notice of a new sub-processor and points to a list at trust.railway.com that was not read (13 of 20). Per the 9 October check, not re-read on 4 November (Railway's terms bar scraping its pages). The CLI's telemetry is on by default and documented with an opt-out (`railway telemetry disable`, `DO_NOT_TRACK` or `RAILWAY_NO_TELEMETRY`); the source sends events with the account token, the linked project, environment and service IDs and a caller name read from the process tree. That is scored on the local-software reading, not on this hosted line.

### Security & auth: Railway MCP Server +6

- Netlify API + MCP (59): Personal access tokens get a name and an expiry date at creation and can be deleted, but no scopes are documented and the spec's OAuth2 implicit flow declares none, so a token reaches every team its owner belongs to. The hosted MCP uses OAuth 2.1 with PKCE and dynamic registration and advertises read and write scopes, which the source sanitises at registration and does not check on tool calls, while the upstream Netlify token it holds is unscoped. Secrets travel in headers; v1.21.0 keeps the upstream token out of URLs (18 of 30). Read-only tools are grouped apart from writes and writes are marked destructive, but there is no read-only token and no confirmation step (10 of 20). Form submissions and request logs written by site visitors reach the model through the tools, with no injection guidance (2 of 15). Team audit log on Pro and Enterprise, a site audit log, and the MCP server logs client, agent and model names per call (12 of 15). Public HackerOne bounty, SOC 2 Type II, ISO 27001 and 27018, PCI DSS and HIPAA on the trust centre, a disclosure policy post, and no security.txt (17 of 20). 18 + 10 + 2 + 12 + 17 = 59.
- Railway MCP Server (65): OAuth with PKCE required, dynamic client registration, grants limited to the workspaces and projects a person picks, one-hour access tokens and rotating refresh tokens. Revocation is in the dashboard only, and the MCP resource lists a single scope, `workspace:member` (25 of 30). There is no read-only grant for the hosted server. Destructive tools carry hints that prompt in clients that respect them, and project tokens are refused (10 of 20). `railway-agent` reads logs and configuration, which are untrusted content. The docs tell users to review actions and keep to non-critical environments, with no prompt-injection guidance found (4 of 15). Workspace audit logs record the actor and can be exported through the API, kept 48 hours on Free and Hobby, 30 days on Pro and 18 months on Enterprise. No marker for MCP calls was found (11 of 15). SOC 2 Type II and SOC 3, a HIPAA BAA, a Bugcrowd bounty that is invite-only and public incident reports. No security.txt (15 of 20).

## Score by category

| Category | Weight | Netlify API + MCP | Railway MCP Server | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 67 | 57 | Netlify API + MCP +10 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 79 | 56 | Netlify API + MCP +23 |
| Agent ergonomics | 13% (16.2 this run) | 69 | 59 | Netlify API + MCP +10 |
| Security & auth | 14% (17.5 this run) | 59 | 65 | Railway MCP Server +6 |
| Payments & pricing | 10% (12.5 this run) | 55 | 40 | Netlify API + MCP +15 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 87 | 83 | Netlify API + MCP +4 |
| Transparency & trust | 7% (8.8 this run) | 81 | 74 | Netlify API + MCP +7 |
| Negative events | ≤15 | 0 | -7 | |
| **Total** | | **69.4 · B** | **53.2 · D** | |

## Facts side by side

| Fact | Netlify API + MCP | Railway MCP Server |
| --- | --- | --- |
| Kind | HTTP API | MCP server |
| Vendor | Netlify, Inc. | Railway Corporation |
| Hosted endpoint | `https://api.netlify.com/api/v1` | `https://mcp.railway.com` |
| Transports | HTTP, Streamable HTTP, stdio | Streamable HTTP, stdio |
| Auth | OAuth or key | OAuth |
| Pricing | Freemium | Your plan |
| x402 | no | no |
| Licence | ISC for the MCP server (@netlify/mcp) and MIT for the CLI (netlify-cli). The Netlify platform they act on is a proprietary service under Netlify's terms | Proprietary hosted server under Railway's Terms of Service. The Railway CLI, which carries the stdio proxy and a separate local MCP server, is MIT |
| Tools exposed | 11 | 11 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | `com.railway/mcp` |
| Last release | 2026-10-26 | 2026-10-19 |
| Terms last updated | 2026-10-14 | couldn't be read |
| Privacy policy last updated | 2026-04-10 | couldn't be read |
| Customer content may train models | not found in the text | couldn't be read |
| Terms restrict automated access | not found in the text | couldn't be read |
| Terms restrict benchmarking | not found in the text | couldn't be read |
| Terms or service can change without notice | not found in the text | couldn't be read |
| Arbitration or class-action waiver | not found in the text | couldn't be read |
| Popularity | 58k npm/wk | 426k npm/wk |

## How the scores have moved

### Netlify API + MCP

No score change since it was listed.

### Railway MCP Server

- -3.6 on 4 November 2026 (C to D): security, correction
- +0.1 on 28 October 2026: new evidence

## Verdicts

**Netlify API + MCP.** A public OpenAPI spec with 188 operations, documented rate limits, an anonymous deploy route and an MCP server released weekly through October 2026 with complete tool annotations. Personal access tokens and the OAuth flows carry no scopes, the hosted MCP enforces none on tool calls, and the status feed shows several site-serving incidents in the 90 days to 3 November.

**Railway MCP Server.** A small hosted server with 11 tools, OAuth grants limited to chosen workspaces and one-hour tokens. Most infrastructure work goes through the `railway-agent` tool, which is billed by model tokens. The hosted server's source and tool schemas are not public, there is no read-only scope, and the CLI fixed a database password exposure in September without an advisory.

## Before you call either

### Netlify API + MCP

1. Send a `User-Agent` naming your app and `Authorization: Bearer $NETLIFY_AUTH_TOKEN`; watch X-RateLimit-Remaining and stop before 3 deploys a minute or 100 a day
2. Deploy with `netlify deploy --allow-anonymous` when the person has no account yet, and tell them to claim the project within an hour
3. Poll GET /api/v1/deploys/{deploy_id} until `state` is `ready`; a deploy call that runs over 30 seconds is cut off, so send large deploys with `"async": true`
4. Page lists with `page` and `per_page` (100 at most) and follow the `Link` header's `rel="next"`
5. Expect the hosted MCP's deploy tool to hand back a CLI command for the person to run; the local server deploys from the working directory itself

### Railway MCP Server

1. Connect to `https://mcp.railway.com` with OAuth, or run `railway mcp` after `railway login`. Project tokens are refused.
2. Treat `redeploy`, `accept-deploy`, `delete-feature-flag` and `railway-agent` as actions that change production. Confirm the project and environment first.
3. `railway-agent` spends model tokens billed to the workspace. Use the single-purpose tools for listing and redeploying.
4. For variables, domains, volumes, logs or metrics as separate tools, use `railway mcp local`, which has a different tool set.
5. On a 401, follow the `WWW-Authenticate` challenge and run the OAuth flow again. Access tokens expire after one hour.

## Questions

### Which is better for AI agents, Netlify API + MCP or Railway MCP Server?

Netlify API + MCP scores 69.4 (B) on agent readiness against Railway MCP Server's 53.2 (D), and leads in 6 of 7 scored categories. Railway MCP Server leads on security & auth.

### Do Netlify API + MCP and Railway MCP Server need an API key?

Netlify API + MCP takes an API key or an OAuth sign-in. Railway MCP Server uses an OAuth sign-in.

### Can an agent call Netlify API + MCP and Railway MCP Server without installing anything?

Yes. Netlify API + MCP has a hosted endpoint at https://api.netlify.com/api/v1 and Railway MCP Server at https://mcp.railway.com.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/netlify-vs-railway-mcp-server.json, and with the fewest tokens: https://www.anchorterminal.com/compare/netlify-vs-railway-mcp-server.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "netlify", "b": "railway-mcp-server"}`. From a terminal: `anchor compare netlify railway-mcp-server`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/netlify.json and https://www.anchorterminal.com/api/v1/tools/railway-mcp-server.json

## Other comparisons with Netlify API + MCP or Railway MCP Server

- [Azure MCP Server vs Netlify API + MCP](https://www.anchorterminal.com/compare/azure-mcp-vs-netlify.md)
- [Azure MCP Server vs Railway MCP Server](https://www.anchorterminal.com/compare/azure-mcp-vs-railway-mcp-server.md)
- [DigitalOcean MCP Server vs Netlify API + MCP](https://www.anchorterminal.com/compare/digitalocean-mcp-vs-netlify.md)
- [DigitalOcean MCP Server vs Railway MCP Server](https://www.anchorterminal.com/compare/digitalocean-mcp-vs-railway-mcp-server.md)
- [neckbeard vs Netlify API + MCP](https://www.anchorterminal.com/compare/neckbeard-vs-netlify.md)
- [neckbeard vs Railway MCP Server](https://www.anchorterminal.com/compare/neckbeard-vs-railway-mcp-server.md)
- [Netlify API + MCP vs Render MCP Server](https://www.anchorterminal.com/compare/netlify-vs-render-mcp-server.md)
- [Netlify API + MCP vs Terraform MCP Server](https://www.anchorterminal.com/compare/netlify-vs-terraform-mcp.md)
- [Railway MCP Server vs Render MCP Server](https://www.anchorterminal.com/compare/railway-mcp-server-vs-render-mcp-server.md)
- [Railway MCP Server vs Terraform MCP Server](https://www.anchorterminal.com/compare/railway-mcp-server-vs-terraform-mcp.md)
- [Cloudflare CLI (cf) vs Netlify API + MCP](https://www.anchorterminal.com/compare/cloudflare-cli-vs-netlify.md)
- [Cloudflare CLI (cf) vs Railway MCP Server](https://www.anchorterminal.com/compare/cloudflare-cli-vs-railway-mcp-server.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
