AI & ML
Best MCP Servers for Web Developers (2026): 12 Worth Installing
Twelve MCP servers a web developer would actually install, by job: what each exposes, license, transport, auth, the Claude Code install line and the risk.

The MCP servers worth installing for web work are the ones that replace a tab you keep open: a browser (Playwright or Chrome DevTools), your repo host (GitHub), current library docs (Context7), your database (Supabase, Neon or plain Postgres), your design file (Figma) and your host (Vercel or Cloudflare). Add one way to read the web, and stop there: every server is more tool definitions in context and one more set of credentials.
Twelve made the cut, grouped by job; ten come from the company behind the tool they connect to. Each entry was checked against the project's own README or docs on 11 November 2026. Where a README shows only JSON, the install line is that config in Claude Code's form. All 59 servers we track are on the MCP servers hub.
Browser and testing
Playwright MCP
Playwright MCP (Microsoft, Apache-2.0)
drives a browser through its accessibility tree, not screenshots. stdio, or HTTP with
--port; no account. Risk: the default profile persists logins (--isolated keeps it
in memory), and the README says it is not a security boundary.
claude mcp add playwright npx @playwright/mcp@latest
Chrome DevTools MCP
Chrome DevTools MCP (Chrome
DevTools team, Apache-2.0) gives the agent a live Chrome: performance traces, network
requests, console messages with source-mapped stack traces. stdio; no account. Risk:
the agent sees everything in that browser (--isolated uses a temporary profile), and
usage statistics are on by default (--no-usage-statistics turns them off).
claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
Code, repos and docs
GitHub MCP Server
The GitHub MCP Server (GitHub, MIT) covers
repos, issues, pull requests, Actions runs and security alerts. Hosted HTTP with OAuth or
a token (Claude guide),
or local stdio in Docker. Risk: anyone can write an issue the agent reads. Add
/readonly to the URL (--read-only locally); GitHub calls its lockdown mode a
best-effort filter, not a boundary, so the token's scopes are the real limit.
claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'
Context7
Context7 (Upstash, MIT) pulls current, version-specific library docs into context with two tools: resolve a library ID, then query it (for your own docs, see docs platforms AI agents can read). HTTP or stdio; a free API key raises rate limits. Risk: the docs are community-contributed, and the README does not guarantee their accuracy or security.
claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
Database and backend
Supabase MCP Server
The Supabase MCP Server (Supabase, Apache-2.0) manages tables, runs SQL and migrations, and handles Edge Functions and branches. Hosted, HTTP, OAuth; URL parameters scope it to one project, a read-only Postgres user and fewer tool groups. Risk: Supabase names prompt injection, such as a hostile support ticket, as the main attack.
claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp?project_ref=YOUR_REF&read_only=true"
Neon MCP Server
The Neon MCP Server (Neon, MIT) creates
projects and branches, runs SQL and migrations, and describes schemas. Hosted, HTTP, OAuth
or API key. Risk: Neon does not recommend it for production. Add readonly,
projectId and roleName to the URL to pin one project and a limited Postgres role.
claude mcp add --transport http neon "https://mcp.neon.tech/mcp?readonly=true"
Postgres MCP Pro (community)
For any other Postgres, Postgres MCP Pro
(Crystal DBA, MIT) adds index tuning, explain plans and health checks. stdio or SSE, with
a connection string; last release May 2025. Risk: the README's examples use
unrestricted; use restricted (read-only transactions) and a read-only database user.
claude mcp add postgres --env DATABASE_URI=postgresql://user:pass@localhost:5432/db -- uvx postgres-mcp --access-mode=restricted
Design
Figma MCP server
The Figma MCP server (Figma) returns design context, variables, components and screenshots, and can write frames back to the canvas. Hosted, HTTP, Figma sign-in; no source license published. Limits: View or Collab seats and Starter plans get up to 20 calls a month, Full and Dev seats on Professional 200 a day (rate limits). Community alternative: Framelink (MIT, stdio).
claude mcp add --transport http figma https://mcp.figma.com/mcp
Deploy and hosting
Vercel MCP
Vercel MCP (Vercel) searches Vercel's docs and manages projects and deployments: inspect deployments, read runtime logs and errors, fetch protected preview URLs. Hosted, HTTP, OAuth; no source license published. Risk: it gets the same access as your Vercel account, and Vercel warns about injected instructions that exfiltrate deployment logs.
claude mcp add --transport http vercel https://mcp.vercel.com
Cloudflare API MCP Server
The Cloudflare API MCP Server (Cloudflare, Apache-2.0) covers the whole API (Workers, KV, R2, D1, Pages, DNS) through code mode: the agent writes JavaScript that searches the spec and calls endpoints. Hosted, HTTP, OAuth or API token. Risk: one server, every product; grant only the permissions you need on the OAuth screen, or use a narrow API token.
claude mcp add --transport http cloudflare https://mcp.cloudflare.com/mcp
Web fetch and search
Fetch (reference server)
Fetch (MCP project,
MIT) has one tool: fetch a URL and return it as Markdown, in chunks. stdio; no account.
Risk: every fetched page is untrusted input. It refuses private addresses and cloud
metadata endpoints by default; --allow-private-ips removes that guard.
claude mcp add fetch -- uvx mcp-server-fetch
Firecrawl MCP Server
The Firecrawl MCP Server (Firecrawl,
MIT) adds search, scraping, crawling, site maps, PDF parsing and browser actions. stdio via
npx, or hosted HTTP with OAuth, an API
key, or no key for rate-limited scrape, search and parse. Risk: a crawl pulls many
pages of someone else's text into context; never put the key in the URL or a chat.
claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp-oauth
Side by side
| Server | Job | Maintainer | License | Transport | Auth |
|---|---|---|---|---|---|
| Playwright MCP | Browser automation | Microsoft | Apache-2.0 | stdio, HTTP | None |
| Chrome DevTools MCP | Debugging, performance | Chrome DevTools | Apache-2.0 | stdio | None |
| GitHub MCP Server | Repos, issues, PRs | GitHub | MIT | HTTP, stdio | OAuth or PAT |
| Context7 | Library docs | Upstash | MIT | HTTP, stdio | API key |
| Supabase MCP | Database, backend | Supabase | Apache-2.0 | HTTP | OAuth |
| Neon MCP | Postgres, branches | Neon | MIT | HTTP | OAuth or API key |
| Postgres MCP Pro | Any Postgres | Community | MIT | stdio, SSE | Connection string |
| Figma MCP | Design context | Figma | Not published | HTTP | Figma sign-in |
| Vercel MCP | Deployments, logs | Vercel | Not published | HTTP | OAuth |
| Cloudflare API MCP | Cloudflare API | Cloudflare | Apache-2.0 | HTTP | OAuth or API token |
| Fetch | Read one URL | MCP project | MIT | stdio | None |
| Firecrawl MCP | Search, scrape, crawl | Firecrawl | MIT | HTTP, stdio | OAuth, key or none |
How to choose
- Start with the gap you feel most: pasting console errors means Chrome DevTools; invented API calls mean Context7. Two or three servers is plenty.
- Prefer the vendor's hosted server. OAuth means no long-lived token in a file.
- One browser and one database server. Playwright for flows and tests, DevTools for performance; the database server that matches where your data lives.
How to add a server and keep it safe
claude mcp add writes to one of three scopes:
local (default: this project, only you), project (--scope project: a shared
.mcp.json in the repo) or user (--scope user: all your projects). Run /mcp to
sign in to OAuth servers. Cursor reads the same JSON from a project or global .cursor/mcp.json.
- Keep tokens out of
.mcp.json, which gets committed; Claude Code expands environment variables in it. Scope each token to one project and the fewest permissions. - Approve project servers on purpose. Claude Code asks before loading a cloned repo's
.mcp.jsonservers, and a repo cannot approve its own. - Treat fetched content as untrusted. Claude Code's docs warn that servers fetching external content expose you to prompt injection. Confirm anything that writes.
Two follow-ups go deeper: database MCP servers compared covers read-only modes and auth for Postgres, Supabase, Neon and MongoDB, and what agent skills are explains the other way to teach an agent your stack.
FAQ
Are these MCP servers free?
The servers are free; the service behind them bills as usual. Figma's limits depend on plan and seat, and Firecrawl's full tool set needs an account.
Local (stdio) or remote (HTTP) server?
A stdio server is a local process your client starts; a remote one is a URL, usually OAuth.
Should I share MCP config with my team?
Share the server definitions through a project-scoped .mcp.json. Keep credentials out:
reference environment variables, or use servers that sign in with OAuth.
All 59 servers we track, with license, transport and install line, are on the MCP servers hub; agent skills have their own list. For the tools these plug into, see AI tools for developers and Mac apps for Claude Code and Codex.