ec2b666284
Continuous Integration / Pre-commit Linter (push) Has been cancelled
Continuous Integration / Mypy Check (Python 3.10) (push) Has been cancelled
Continuous Integration / Mypy Check (Python 3.11) (push) Has been cancelled
Continuous Integration / Mypy Check (Python 3.12) (push) Has been cancelled
Continuous Integration / Mypy Check (Python 3.13) (push) Has been cancelled
Continuous Integration / Unit Tests (Python 3.10) (push) Has been cancelled
Continuous Integration / Unit Tests (Python 3.11) (push) Has been cancelled
Continuous Integration / Unit Tests (Python 3.12) (push) Has been cancelled
Continuous Integration / Unit Tests (Python 3.13) (push) Has been cancelled
Continuous Integration / Unit Tests (Python 3.14) (push) Has been cancelled
Continuous Integration / A2A v0.3 Tests (Python 3.10) (push) Has been cancelled
Continuous Integration / A2A v0.3 Tests (Python 3.11) (push) Has been cancelled
Continuous Integration / A2A v0.3 Tests (Python 3.12) (push) Has been cancelled
Copybara PR Handler / close-imported-pr (push) Has been cancelled
Continuous Integration / A2A v0.3 Tests (Python 3.13) (push) Has been cancelled
Continuous Integration / A2A v0.3 Tests (Python 3.14) (push) Has been cancelled
2.2 KiB
2.2 KiB
PostgreSQL MCP Agent
This agent uses the PostgreSQL MCP server to interact with PostgreSQL databases. It demonstrates how to:
- Connect to a PostgreSQL database using MCP (Model Context Protocol)
- Use
uvxto run the MCP server without manual installation - Pass database credentials securely via environment variables
Prerequisites
- PostgreSQL Database: You need access to a PostgreSQL database with a connection string
- uvx: The agent uses
uvx(part of theuvpackage manager) to run the MCP server
Setup Instructions
1. Configure Database Connection
Create a .env file in the mcp_postgres_agent directory:
POSTGRES_CONNECTION_STRING=postgresql://user:password@host:port/database
Example connection string format:
postgresql://username:password@localhost:5432/mydb
postgresql://postgres.xyz:password@aws-region.pooler.supabase.com:5432/postgres
2. Run the Agent
Start the ADK Web UI from the samples directory:
adk web
The agent will automatically:
- Load the connection string from the
.envfile - Use
uvxto run thepostgres-mcpserver with unrestricted access mode - Connect to your PostgreSQL database
3. Example Queries
Once the agent is running, try these queries:
- "What tables are in the database?"
- "Show me the schema for the users table"
- "Query the first 10 rows from the products table"
- "What indexes exist on the orders table?"
- "Create a new table called test_table with columns id and name"
Configuration Details
The agent uses:
- Model: Gemini 2.0 Flash
- MCP Server:
postgres-mcp(viauvx) - Access Mode: Unrestricted (allows read/write operations). Warning: Using unrestricted mode in a production environment can pose significant security risks. It is recommended to use a more restrictive access mode or configure database user permissions appropriately for production use.
- Connection: StdioConnectionParams with 60-second timeout
- Environment Variable:
DATABASE_URI(mapped fromPOSTGRES_CONNECTION_STRING)
Troubleshooting
- Ensure your
POSTGRES_CONNECTION_STRINGis correctly formatted - Verify database credentials and network access
- Check that
uvis installed (pip install uvorbrew install uv)