Skip to main content
Glama

PostgreSQL MCP Server

by hthuong09
MIT License
22
  • Linux
  • Apple
README.md2.79 kB
# MCP PostgreSQL Server This is a Model Context Protocol server for interacting with PostgreSQL databases. It provides a read-only interface to query PostgreSQL databases and inspect their schema. ## Installation ```bash npm install -g @hthuong09/postgres-mcp ``` ## Configuration The server can be configured in multiple ways, listed in order of priority: 1. **Environment Variables** - `POSTGRES_URL`: Full database URL (e.g., `postgres://user:pass@host:5432/dbname`) - Individual connection parameters: - `POSTGRES_HOST`: Database host - `POSTGRES_PORT`: Database port (default: 5432) - `POSTGRES_DB`: Database name - `POSTGRES_USER`: Database user - `POSTGRES_PASSWORD`: Database password - `POSTGRES_SSL`: Enable SSL mode (set to 'true' to enable) - `POSTGRES_SCHEMA`: Database schema (default: 'public') - Additional configuration: - `DOTENV_PATH`: Custom path to .env file - `DEBUG_MCP`: Enable debug logging (set to 'true' to enable) 2. **Command Line** ```bash npx @hthuong09/postgres-mcp "postgres://user:pass@host:5432/dbname" ``` ### Resources - Table schemas: Each table in the database is exposed as a resource - Resource URI format: `postgres://user@host/dbname/table_name/schema` - Response format: JSON array of column definitions (name and data type) ## Usage Examples 1. Using environment variables: ```bash export POSTGRES_HOST=localhost export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword npx @hthuong09/postgres-mcp ``` 2. Using a connection URL: ```bash npx @hthuong09/postgres-mcp "postgres://myuser:mypassword@localhost:5432/mydb" ``` 3. Using environment variables with SSL: ```bash export POSTGRES_HOST=db.example.com export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword export POSTGRES_SSL=true npx @hthuong09/postgres-mcp ``` 4. Using a custom .env file location: ```bash DOTENV_PATH=/path/to/.env npx @hthuong09/postgres-mcp ``` ## Security Considerations - Database credentials should be kept secure - Use environment variables or .env files instead of command line arguments in production to avoid exposing credentials in process lists - Consider using SSL in production environments - The server only allows read-only transactions for safety - Passwords are automatically stripped from resource URIs ## Development To build the server locally: ```bash npm install npm run build ``` To run in watch mode during development: ```bash npm run watch ``` ## Debugging Set `DEBUG_MCP=true` to enable debug logging. Logs will be written to: - Unix/macOS: `/tmp/postgres-mcp-debug.json` - Windows: `%TEMP%/postgres-mcp-debug.json` ## License MIT

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hthuong09/postgres-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server