Create .env
file with your postgres db vars
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "<table>",
"DB_USER": "<user>",
"DB_PASSWORD": "<password>"
-
npm i
-
npm run build
-
Ensure your server script is executable:
chmod +x ./dist/server.js
-
Ensure the shebang line at the top of your compiled server.js:
#!/usr/bin/env node
In cursor go to: Settings > MCP Servers
{
"mcpServers": {
"postgres": {
"command": "node",
"args": ["./dist/server.js"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "<db_name>",
"DB_USER": "<db_user>",
"DB_PASSWORD": "<password>"
}
}
}
}
To test run in terminal:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | node dist/server.js
Once you add it in cursor settings, restart cursor and then reopen and make sure it loads
Start a new chat and tell it to use your MCP server
Give me the first record in the table
Do not read my local code files - use the database MCP server instead.