The best MCP servers for Cursor are the official servers for the systems you already use: GitHub for repositories, Playwright or Chrome DevTools for the browser, Context7 for library docs, Supabase for the database, Sentry for errors, and Figma or Linear for design and issues. Each one goes into an mcp.json file: .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project (Cursor MCP docs). A remote server needs only its URL:
{
"mcpServers": {
"supabase": {
"url": "https://mcp.supabase.com/mcp"
}
}
}
Applies to: Cursor editor and Cursor CLI, docs as of October 13, 2026. Last checked: October 13, 2026.
On this page
How this list was picked
Every server below is in the Aftergradient MCP directory, is published by the owner of the service it connects to, and has its own setup instructions for Cursor. Each config is copied from that vendor’s documentation, linked next to it. There is no ranking inside a group: pick the server for the system you work in. Cursor itself points to the Cursor Marketplace for official plugins and to cursor.directory for community plugins and servers (Cursor MCP docs).
For the same servers set up in Claude Code, see Best MCP servers for Claude Code.
How mcp.json works in Cursor
Cursor reads MCP servers from two files (Cursor MCP docs):
| File | Scope |
|---|---|
.cursor/mcp.json in the project | Tools for that project only |
~/.cursor/mcp.json in your home directory | Tools available in every project |
You can also install servers from the Customize page, where one-click “Add to Cursor” entries install a server and sign you in with OAuth. Cursor supports three transports: stdio (a local command that Cursor starts), SSE and Streamable HTTP (a URL to a local or remote server) (Cursor MCP docs).
A local server is a command with arguments and environment variables. This is the Node.js example from Cursor’s docs:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "mcp-server"],
"env": {
"API_KEY": "value"
}
}
}
}
A remote server is a URL with optional headers:
{
"mcpServers": {
"server-name": {
"url": "http://localhost:3000/mcp",
"headers": {
"API_KEY": "value"
}
}
}
}
To keep tokens out of the file, Cursor resolves ${env:NAME} in the command, args, env, url and headers fields, along with ${userHome}, ${workspaceFolder}, ${workspaceFolderBasename} and ${pathSeparator}. Local stdio servers also accept an envFile path such as ".env"; remote servers do not (Cursor MCP docs). This is Cursor’s example for a token in a header:
{
"mcpServers": {
"remote-server": {
"url": "https://api.example.com/mcp",
"headers": {
"Authorization": "Bearer ${env:MY_SERVICE_TOKEN}"
}
}
}
}
The Cursor CLI uses the same configuration as the editor. agent mcp list shows each server’s status and whether it comes from the project or the global file, and agent mcp login <identifier> signs in to a server that needs OAuth (Cursor CLI MCP docs).
Before you add a server
Warning
Cursor’s MCP docs say MCP servers can access external services and execute code on your behalf, and to understand what a server does before installing it. Cursor’s checklist: verify the source and install only from trusted developers and repositories, review what data and APIs the server will access, use restricted API keys with the minimum permissions, and review the source code of critical integrations.
What Cursor gives you to limit the risk (Cursor MCP docs):
- Tool approval. By default Cursor asks for approval before it uses an MCP tool, and you can expand the call to see its arguments. MCP tools follow the same Run Modes as terminal commands: in Auto-review mode, allowlisted MCP tools run immediately and everything else goes through the classifier.
- Toggles. A server can be switched off in Customize without removing it; disabled servers do not load or appear in chat.
- Secrets in the environment. For sensitive data the docs advise environment variables instead of hardcoded secrets, local
stdiotransport, minimal API key permissions and isolated environments. - Admin controls. Enterprise admins can set an MCP allowlist by command or URL pattern, restrict which tools of an approved server run automatically, and set network rules for local servers.
Warning
The Cursor CLI has an
--approve-mcpsflag that auto-approves all MCP servers and skips the approval prompts (Cursor CLI MCP docs). Leave it off for anything you do not run in an isolated environment; the default approval prompt and the Run Mode allowlist above are the documented ways to keep control.
Code hosting
GitHub MCP Server
GitHub’s own server for repositories, issues and pull requests. Its Cursor install guide recommends the hosted server, which needs Cursor v0.48.0 or later for Streamable HTTP and, for now, a GitHub personal access token rather than OAuth:
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_GITHUB_PAT"
}
}
}
}
The same guide gives a local option through Docker (ghcr.io/github/github-mcp-server) that signs in with OAuth in the browser, and notes that the old npm package @modelcontextprotocol/server-github is no longer supported. Listing: GitHub MCP Server in the directory.
Browser and testing
Playwright MCP
Microsoft’s server drives a browser through Playwright and reads pages from accessibility snapshots, so no vision model is needed. It requires Node.js 18 or newer (README). The README’s Cursor steps: go to Cursor Settings -> MCP -> Add new MCP Server, choose the command type and enter npx @playwright/mcp@latest. Its standard config:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
The README also says coding agents may get more out of Playwright CLI with skills, which loads less into the context window, and keeps MCP for long-running browser loops that need persistent state. Listing: Playwright MCP in the directory.
Chrome DevTools MCP
Chrome’s server controls and inspects a live Chrome browser: network requests, console messages, screenshots and performance traces (README). Its client guide says to add it in Cursor under Cursor Settings -> MCP -> New MCP Server with the standard config:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
Warning
The README says the server exposes the browser’s content to the MCP client, so avoid sharing sensitive or personal information. Performance tools may send trace URLs to Google’s CrUX API (turn this off with
--no-performance-crux), and usage statistics are collected by default (opt out with--no-usage-statistics).
Docs lookup
Context7
Upstash’s server returns current, version-specific library documentation through two tools, resolve-library-id and query-docs. From the Context7 client docs, which recommend pasting the config into ~/.cursor/mcp.json:
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
The same page gives a local variant ("command": "npx", "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]) and an OAuth endpoint: change /mcp to /mcp/oauth in the URL. The README recommends a free API key from the Context7 dashboard for higher rate limits and offers npx ctx7 setup as a one-command setup, with a --cursor option to target Cursor. Listing: Context7 in the directory.
Database
Supabase MCP
Manages Supabase projects: queries, migrations, Edge Functions, logs and docs search. Supabase’s MCP page gives this for .cursor/mcp.json:
{
"mcpServers": {
"supabase": {
"url": "https://mcp.supabase.com/mcp"
}
}
}
Sign-in opens a browser and needs no personal access token. URL parameters narrow the server: ?project_ref= for one project, ?read_only=true for read-only queries and ?features=database,docs for chosen tool groups.
Warning
Supabase says connecting an LLM to your Supabase projects carries security risks and asks you to read its security best practices before running the server (Supabase MCP).
Listing: Supabase MCP in the directory.
Errors and issues
Sentry MCP
Searches Sentry errors and issues, analyzes performance and reads Sentry docs. All connections use OAuth, and Sentry recommends scoping the URL to one project (Sentry docs):
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp/{organizationSlug}/{projectSlug}"
}
}
}
Replace the slugs with your own, or use https://mcp.sentry.dev/mcp/{organizationSlug} for a whole organization. Listing: Sentry MCP in the directory.
Linear MCP
Finds, creates and updates Linear issues, projects and comments. Linear’s MCP docs install it in Cursor through a one-click link or by searching for Linear on Cursor’s MCP tools page. The server lives at https://mcp.linear.app/mcp and signs in with OAuth; https://mcp.linear.app/mcp/readonly exposes only read tools.
Design
Figma MCP Server
Brings Figma frames, variables, components and Code Connect mappings into the agent, and can write to Figma and FigJam files. Figma’s installation guide prefers its Cursor plugin, which bundles the server settings with skills and rules. Type this in Cursor’s agent chat:
/add-plugin figma
The manual route is Figma’s deep link, then Install and Connect to sign in. Figma notes that only clients in its MCP catalog, Cursor among them, can connect.
Quick reference
| Job | Server | Transport in Cursor | Auth (per its docs) |
|---|---|---|---|
| Code hosting | GitHub | Remote HTTP or local Docker | PAT (remote), OAuth or PAT (local) |
| Browser | Playwright | Local stdio | None |
| Browser | Chrome DevTools | Local stdio | None |
| Docs | Context7 | Remote HTTP or local stdio | API key or OAuth |
| Database | Supabase | Remote HTTP | OAuth |
| Errors | Sentry | Remote HTTP | OAuth |
| Issues | Linear | Remote HTTP | OAuth, token or API key |
| Design | Figma | Remote HTTP (plugin) | OAuth |





