Quick answer
- Browser automation
- Playwright MCP (official), Puppeteer (reference)
- DOM & perf inspection
- Chrome DevTools MCP, live DOM, network, console, traces
- Design-to-code
- Figma MCP, design frames into components with correct tokens
- Rule of thumb
- Curate; every server advertises tools into the window whether used or not
What an MCP Server Actually Does for a Frontend Agent
An MCP server is a small process that exposes tools (functions the agent can call) and resources (data it can read) through the Model Context Protocol. The client, Claude Code, the Codex CLI, or any MCP-capable harness, discovers those tools and lets the model call them mid-task. For the broader landscape of MCP across all coding work, see MCP servers for AI coding; this guide narrows the lens to frontend.
Frontend work is visual and stateful. Most of what decides whether a change is right, how a component renders at 375px, what the DOM actually looks like after a click, what the current props of the component library are, lives outside the source tree. An agent reading only your files sees what the UI should be; MCP lets it see what it is. That is the whole game: the agent stops hallucinating props and starts verifying against reality.
The Shortlist, Ranked
Ranked on three axes: real DX gain (how much a frontend agent actually improves with it), maintenance quality (official or well-maintained community project), and install pain (lower is better). Only real, verifiable servers are on this list.
| Server | Job | DX gain | Maintenance | Install pain |
|---|---|---|---|---|
| Playwright MCP | Browser automation, screenshots, form fill | High | Official (Microsoft) | Low |
| Chrome DevTools MCP | Live DOM, network, perf, console access | High | Official (Chrome DevTools team) | Low |
| Figma MCP | Read design frames, tokens, components | High for design-heavy work | Official (Figma) + community | Medium (needs Figma access token) |
| Puppeteer (reference) | Headless Chromium: navigate, screenshot | Medium (Playwright covers most) | Reference server | Low |
| Filesystem (reference) | Scoped read/write in an allowed directory | Medium (baseline) | Reference server | Low |
| Git + GitHub (reference/official) | Branch/PR ops, read issues | Medium | Reference / official (GitHub) | Low (GitHub needs token) |
| Fetch (reference) | Retrieve any URL as text | Medium (docs, MDN, live specs) | Reference server | Low |
| Sequential Thinking (reference) | Structured chain-of-thought scratchpad | Low-to-medium; niche | Reference server | Low |
Deep Dives on the Top Four
Playwright MCP (official, Microsoft)
The workhorse. Maintained by the Playwright team at Microsoft, it drives a real browser so the agent can navigate to a URL, click, fill forms, wait for state, screenshot, and read page content. For a UI story this is the difference between the agent shipping a component it never saw render and the agent screenshotting its own result at three viewport widths before opening the PR. If you install one server for frontend work, install this one.
Chrome DevTools MCP
Exposes the Chrome DevTools protocol: inspect the live DOM tree, read network requests and responses, capture performance traces, and pull console errors and warnings. Where Playwright is best for acting on a page (click, type, screenshot), DevTools is best for debugging a page (why did this layout shift, why is this request 401, which console error correlates with the failing click). The two are complementary, not competitors.
Figma MCP
Reads a Figma file's structure, so the agent can turn a design frame into a component with the right spacing, colors, typography, and component hierarchy, rather than approximating from a screenshot. High leverage when the design system is real and the frame you point at is complete; less useful when Figma is aspirational and the source of truth is the code. Needs a Figma access token; that is the main install friction.
Filesystem, Git, GitHub, Fetch (reference servers)
The four reference servers from modelcontextprotocol that frontend agents lean on for the boring, load-bearing plumbing: constrained file access (filesystem), local history and diffs (git), issues and PR ops on GitHub (github, official), and pulling arbitrary URLs like MDN pages or a library's latest docs as text (fetch). None of them do anything glamorous; skipping them costs you the small conveniences that add up across a day.
Your AI workspace for shipping software.
Download AIDEN free and point it at your existing Claude Code or Codex setup. No credit card, running in minutes.
Download AIDEN freeFree to start · macOS 12+ · No credit card required
Servers That Are Overhyped or Obsolete for Frontend
A short honest list. This is not a swipe at the servers themselves; several are excellent for other work. The question is whether they earn their context slot on a frontend project:
Puppeteer, if you already have Playwright
Web-search servers, mostly
Sequential Thinking, for straightforward UI
Anything that hasn't shipped a release in 12+ months
Wiring Servers Into Claude Desktop, Claude Code, and AIDEN
MCP is a protocol, so the same server binary works across clients, only the registration differs. In Claude Code you add a server with claude mcp add or declare it in a project's .mcp.json so the whole team inherits it:
# Add the official Playwright MCP server to Claude Code
claude mcp add playwright -- npx -y @playwright/mcp@latest
# Add the Chrome DevTools MCP server (for live DOM & perf inspection)
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
# Or declare servers per-project in .mcp.json (checked into the repo)The .mcp.json form is checked into the repo, so every developer, and every agent, gets the same setup:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
},
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
}
}
}Claude Desktop is a separate app with its own claude_desktop_config.json; the Codex CLI reads its own config format again. In every case the underlying server command is identical, that is the whole point of the protocol. AIDEN is a cockpit over your local Claude Code and Codex, so it inherits whatever you registered in either CLI, no double configuration.
Common Install Pitfalls
- 1
Confusing Claude Code and Claude Desktop config
Many guides point you at ~/.claude/claude_desktop_config.json, which belongs to Claude Desktop. Claude Code never reads it. If servers don't appear, run `claude mcp list` and check ~/.claude.json (or the project's .mcp.json) instead. - 2
Forgetting to restart the client
Adding a server rarely hot-reloads. Restart the Claude Code session (or the client app) after registering a server so its tools show up in the model's tool list. - 3
Over-broad filesystem scope
The filesystem reference server takes an allowed directory as an argument. Pointing it at $HOME or / gives the agent access to secrets, SSH keys, and unrelated projects. Pass the specific project path and nothing else. - 4
Committing tokens into .mcp.json
Project-scoped .mcp.json is checked into git, so any env value you put there ships to the repo. Reference secrets from environment variables the CLI reads at runtime rather than pasting tokens into the JSON. - 5
Piling on servers you never use
Every registered server advertises its tools into the model's context window even when unused. A pile of rarely-called servers is pure context tax that competes with your actual code for attention. Curate.
How MCP Fits Into AIDEN
AIDEN is a cockpit over agent CLIs: it orchestrates your local Claude Code and Codex behind a spec-first kanban with the flow Project → Epic → Story → Spec, an approval gate before any code lands, a git worktree per story, and a pull request per story. You bring your own inference (your Claude or Codex subscription or API key). Because AIDEN runs your existing CLIs rather than replacing them, the MCP servers you set up flow straight through, whatever's in ~/.claude.json or a project's .mcp.json is available to every agent AIDEN launches.
The concreteness payoff is per-story. A story like “rebuild the pricing page from the new Figma frame and add a visual test” can, in one isolated worktree, use the Figma MCP to read the design, Playwright MCP to screenshot the result, Chrome DevTools MCP to check network and performance, and the reference servers to move the branch and open the PR. Pair the right servers with the right skills and you get both halves, capability from MCP, procedure from skills, of a frontend agent that ships UI you can trust. Solo is $19/month, free for one project.