
Neon MCP Server
github.com/neondatabase/mcp-server-neon- Category
- Developer Tools
- Rank
- No. 402Tools index
- Pricing
- Free
- Type
- TOOL
- Use case
- Deployment & Operations · Data, Retrieval & Knowledge
- Interfaces
- MCP
- Builder
- neondatabase
- GitHub
- 650 stars
- Date
About
Neon's official MCP server: create and manage serverless Postgres databases, run migrations, and query data in natural language from an MCP client.
What it does
It connects an MCP-capable editor or agent to a Neon account, translating conversational requests into Neon API operations. It can inspect projects and schemas, execute SQL, manage branches, and guide schema changes. A managed HTTP endpoint handles authentication and exposes only the tools allowed by the selected access controls.
Why it's ranked here
The strongest case is its unusually practical control surface. OAuth or API keys cover different clients, while read-only, project, and category restrictions narrow exposure without another authorization round. The repository also shows deliberate OAuth error handling and broad automated testing. Its own production warning keeps the verdict grounded.
What's good
Setup can be hosted and OAuth-based, so clients need no local server installation or embedded Neon key. Read-only access still supports project discovery, schema inspection, data queries, performance analysis, logs, documentation search, and connection retrieval. Project and tool-category filters provide useful boundaries, while legacy transport support helps older MCP clients.
Tradeoffs
This is explicitly a local development and IDE integration tool, not a production control plane. Natural-language access can trigger destructive database operations, so every proposed action needs human review. It requires a Neon account and an MCP client, with Node.js required for the documented setup command. Organization access also needs explicit project or organization context under OAuth.
How to use it well
Use it for developers and data practitioners who want an agent beside their Neon development workflow. Start with read-only and project-scoped access for exploration, diagnostics, and query work. Grant write access only for reviewed branch or migration tasks. It does not replace production authorization, deployment controls, backups, or operational change management.
Technical notes+
package.json defines an ESM TypeScript and Next.js application managed with pnpm, using the MCP SDK, Neon SDKs, OAuth, Redis, Sentry, Vitest, and Playwright. lib/config.ts centralizes deployment, OAuth, API, documentation, analytics, and monitoring settings. lib/oauth/client.ts caches discovery configuration, supports authorization-code and refresh grants, injects cancellation through AsyncLocalStorage, and logs sanitized request summaries. lib/oauth/cookies.ts signs approved-client state with HMAC-SHA256. lib/oauth/redirect-uri.ts implements loopback redirect matching, while lib/oauth/protected-resource-metadata.ts derives HTTPS resource metadata identifiers. lib/errors.ts maps upstream OAuth, network, parsing, and internal failures to HTTP responses. next.config.ts rewrites public MCP, SSE, and health routes to API routes. vitest.config.ts and playwright.config.ts define unit, integration, MCP end-to-end, and Chromium web coverage.
Observed
- License
- MIT
- Primary language
- TypeScript
- Package surface
- ES module package published as @neondatabase/mcp-server-neon and managed with pnpm
- Interface
- Remote MCP server over Streamable HTTP, with deprecated SSE compatibility
- Authentication
- Supports OAuth and bearer API keys
- Access controls
- Supports read-only scopes, project scoping, and tool-category filtering
- Runtime
- Documented setup requires Node.js 18 or newer; repository development requires Node.js 22 or newer
- Testing
- Package scripts define unit, integration, MCP end-to-end, live end-to-end, and Playwright web tests
Read from README.md, package.json, lib/assert.ts, lib/config.ts, lib/errors.ts, lib/oauth/client.ts, lib/oauth/cookies.ts, lib/oauth/redirect-uri.ts, lib/oauth/upstream-error.ts, lib/oauth/protected-resource-metadata.ts, next.config.ts, vitest.config.ts, eslint.config.mjs, postcss.config.mjs, playwright.config.ts.
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.