@athenaintelligence/mcp-server-athena-neon
v0.1.1
Published
MCP server for self-hosted Neon PostgreSQL - enables AI assistants to manage databases via natural language
Maintainers
Readme
@athenaintelligence/mcp-server-athena-neon
An MCP (Model Context Protocol) server for managing self-hosted Neon PostgreSQL deployments. This server allows AI assistants like Claude to interact with your Neon databases using natural language.
Features
- Database Management: Create, list, describe, and delete databases
- SQL Execution: Run queries and explore database schemas
- Compute Control: Start and suspend compute instances
- Branch Management: Create and manage database branches for development/testing
Installation
npm install -g @athenaintelligence/mcp-server-athena-neonOr use directly with npx:
npx @athenaintelligence/mcp-server-athena-neon start http://your-neon-host:8080Usage
Starting the Server
# With explicit URL
mcp-server-athena-neon start http://localhost:8080
# With API key
mcp-server-athena-neon start https://neon.example.com your-api-key
# Using environment variables
NEON_BASE_URL=http://localhost:8080 mcp-server-athena-neon startClaude Desktop Setup
Step 1: Locate your config file
| OS | Config File Location |
|----|---------------------|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Step 2: Add the MCP server configuration
Open the config file and add the following (create the file if it doesn't exist):
{
"mcpServers": {
"athena-neon": {
"command": "npx",
"args": [
"-y",
"@athenaintelligence/mcp-server-athena-neon",
"start",
"https://your-neon-control-plane.example.com",
"YOUR_API_KEY"
]
}
}
}Getting your API key:
- Navigate to your Neon control plane (e.g.,
https://your-neon-control-plane.example.com/settings) - Go to Settings → API Keys
- Click "Create API Key"
- Copy the key and add it as the fourth argument above
Example with Athena staging (with API key):
{
"mcpServers": {
"athena-neon": {
"command": "npx",
"args": [
"-y",
"@athenaintelligence/mcp-server-athena-neon",
"start",
"https://neon-aws-staging.athenaintel.com",
"YOUR_API_KEY"
]
}
}
}Note: Get your API key from the Settings page at https://neon-aws-staging.athenaintel.com/settings
Step 3: Restart Claude Desktop
Completely quit and reopen Claude Desktop for the changes to take effect.
Step 4: Verify it's working
In Claude Desktop, you should see a hammer icon (🔨) in the input area indicating MCP tools are available. Try asking:
"List all my Neon databases"
Troubleshooting
- Tools not appearing? Make sure Node.js >= 18 is installed and in your PATH
- Connection errors? Verify the control plane URL is accessible from your machine
- Permission errors? Check that the config file is valid JSON
Available Tools
Database Management
| Tool | Description |
|------|-------------|
| list_databases | List all databases in the deployment |
| describe_database | Get detailed info about a specific database |
| create_database | Create a new database |
| delete_database | Delete a database |
| get_connection_string | Get PostgreSQL connection string |
SQL Execution
| Tool | Description |
|------|-------------|
| run_sql | Execute SQL queries |
| get_database_tables | List tables in a schema |
| describe_table_schema | Get column definitions for a table |
| list_schemas | List schemas in a database |
Compute Management
| Tool | Description |
|------|-------------|
| get_compute_status | Get compute instance status |
| start_compute | Resume a suspended compute |
| suspend_compute | Suspend a running compute |
Branch Management
| Tool | Description |
|------|-------------|
| list_branches | List branches for a database |
| describe_branch | Get branch details |
| create_branch | Create a new branch |
| delete_branch | Delete a branch |
Example Interactions
Once configured, you can ask Claude things like:
- "List all my Neon databases"
- "Create a new database called 'myapp'"
- "Show me all tables in the orders database"
- "Run this query: SELECT * FROM users LIMIT 10"
- "Suspend the compute for the test-db database"
- "Create a branch called 'feature-test' from the main database"
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Run locally
npm start -- start http://localhost:8080Architecture
MCP Client (Claude Desktop, etc.)
│
│ MCP Protocol (stdio)
▼
┌─────────────────────────────┐
│ MCP Server (this package) │
│ - Tool definitions │
│ - Request handling │
└─────────────────────────────┘
│
│ HTTP REST
▼
┌─────────────────────────────┐
│ Neon Control Plane API │
│ /api/v1/... │
└─────────────────────────────┘
│
▼
[Your Neon Databases]Requirements
- Node.js >= 18.0.0
- A running self-hosted Neon deployment with control plane API
License
MIT
