cursor mcpindependent directory

Posts / When remote HTTP is enough

When remote HTTP is enough

Most of these servers are a URL now. Local npx is the exception, not the default.

Direct answer

Eight of the ten servers in this directory are a url in mcp.json. Cursor talks to them over Streamable HTTP (or older SSE). Local stdio is for tools that must run on your machine, here Playwright and Firecrawl. Prefer the vendor's hosted URL when it exists. npx is slower, harder over SSH, and it runs as you.

Someone working on a laptop by a rain-streaked train window, no cables
A URL does not care whether npx works.

The first MCP servers everyone copied were local processes. command, args, npx -y something@latest. That matched the spec's stdio transport: Cursor spawns a subprocess and talks over stdin and stdout.

Vendors then started hosting the same protocol on a URL. GitHub, Figma, Notion, Linear, Supabase, Sentry, Stripe, Context7. You put "url": "https://..." in mcp.json and finish OAuth. Cursor's docs call that Streamable HTTP (and still mention SSE for older endpoints).

In this directory, eight of ten are that URL shape. Two are still npx.

The split in this list

Remote HTTP:

  • Context7 https://mcp.context7.com/mcp
  • GitHub https://api.githubcopilot.com/mcp/
  • Figma https://mcp.figma.com/mcp
  • Notion https://mcp.notion.com/mcp
  • Linear https://mcp.linear.app/mcp
  • Supabase https://mcp.supabase.com/mcp
  • Sentry https://mcp.sentry.io/mcp
  • Stripe https://mcp.stripe.com

Local stdio:

GitHub still publishes a local Docker path. Figma still has a desktop server on 127.0.0.1:3845. The pages here lead with the hosted URL because that is what Cursor users can paste without babysitting a process.

When the URL is enough

If the data already lives on someone else's servers, a URL is enough. GitHub issues are not on your laptop. Neither is Stripe. Neither is Figma's file (unless you insist on the desktop app).

Remote MCP also behaves better when Cursor itself is not a simple local window. stdio is a child process of the editor. SSH, remote workspaces, and "Node is not on PATH in the environment Cursor launched" are how those child processes die. A URL does not care whether npx works.

Auth is usually OAuth in a browser, which is less ugly than pasting a PAT into chat. GitHub's Cursor install doc still shows a Bearer PAT on the hosted URL if you go that way. Restricted keys beat "I dumped the secret key in the prompt."

When you still want stdio

Playwright has to drive a browser you can see, against localhost. Microsoft's server is explicit about that. Node 18 or newer. First run may download browsers. Their README also says it is not a security boundary.

Firecrawl could theoretically be a hosted MCP. The install this site documents is the local npx server with an API key, because that is what their MCP docs led with when these pages were written. If they publish a URL later, match their page.

stdio is also how you talk to something that only exists as a file on disk. That is not this directory.

The first time npx hangs on train Wi-Fi, you will convert to the URL and you will not convert back.

What Cursor puts in the JSON

Remote, from Cursor's docs, is a url and optional headers. Local is command, args, optional env. Do not mix them on one server.

Older snippets still say "type": "sse" and a trailing /sse. Linear in particular has been documented both ways. If the URL 404s, open the vendor's current page and copy that path. Guessing /mcp vs /sse is a sport I have already lost.

A boring rule

If the vendor hosts it, use the URL. If the tool needs your browser or your filesystem, use stdio, and read Stdio and the trust dialog before you click through.

FAQ

Is Streamable HTTP the same as SSE?

No. SSE was the earlier remote binding. Streamable HTTP is the current remote transport in the MCP spec: you POST to one endpoint and read the reply as a stream. Cursor still lists SSE as a type. If a vendor's current docs say /mcp, use that URL.

Why is Playwright local?

It launches a browser on your computer so the agent can see localhost. A hosted URL cannot click your dev server. Microsoft documents npx @playwright/mcp@latest over stdio.

Sources

Install JSON: GitHub, Playwright, Firecrawl, Figma.