PostgreSQL MCP Server Usage Guide¶
Overview¶
This guide shows how to use the PostgreSQL MCP Server with different MCP clients and integration methods.
Tool Discovery¶
Available Tools¶
list_databases¶
Description: List all databases on the PostgreSQL server
Parameters: - No parameters required
list_schemas¶
Description: List all accessible database schemas for a given database
Parameters:
- database
(string) (optional): No description
list_tables¶
Description: List tables in a specific schema
Parameters:
- schema
(string) (optional): No description
describe_table¶
Description: Get detailed schema information for a table
Parameters:
- table
(string) (required): No description
- schema
(string) (optional): No description
list_columns¶
Description: List columns in a specific table
Parameters:
- table
(string) (required): No description
- schema
(string) (optional): No description
execute_query¶
Description: Execute a SQL query against PostgreSQL (subject to read-only restrictions)
Parameters:
- query
(string) (required): No description
- limit
(string) (optional): No description
explain_query¶
Description: Get query execution plan for a SQL query
Parameters:
- query
(string) (required): No description
get_database_info¶
Description: Get information about the PostgreSQL database
Parameters: - No parameters required
get_table_stats¶
Description: Get statistics for a specific table
Parameters:
- table
(string) (required): No description
- schema
(string) (optional): No description
list_indexes¶
Description: List indexes for a specific table
Parameters:
- table
(string) (required): No description
- schema
(string) (optional): No description
list_constraints¶
Description: List constraints for a specific table
Parameters:
- table
(string) (required): No description
- schema
(string) (optional): No description
test_connection¶
Description: Test the database connection
Parameters: - No parameters required
get_connection_info¶
Description: Get information about the current database connection
Parameters: - No parameters required
Usage Examples¶
# Start interactive mode
mcp_platform interactive
# Deploy the template (if not already deployed)
mcpp> deploy postgres
# List available tools after deployment
mcpp> tools postgres
Then call tools:
import asyncio
from mcp_platform.client import MCPClient
async def use_postgres():
client = MCPClient()
# Start the server
deployment = client.start_server("postgres", {})
if deployment["success"]:
deployment_id = deployment["deployment_id"]
try:
# Discover available tools
tools = client.list_tools("postgres")
print(f"Available tools: {[t['name'] for t in tools]}")
# Call list_databases
result = client.call_tool("postgres", "list_databases", {})
print(f"list_databases result: {result}")
# Call list_schemas
result = client.call_tool("postgres", "list_schemas", {'database': 'example_value'})
print(f"list_schemas result: {result}")
finally:
# Clean up
client.stop_server(deployment_id)
else:
print("Failed to start server")
# Run the example
asyncio.run(use_postgres())
Integration Examples¶
Add this configuration to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Install the MCP extension and add this to your VS Code settings (.vscode/settings.json
):
Configuration¶
For template-specific configuration options, see the main template documentation. Common configuration methods:
Troubleshooting¶
Common Issues¶
-
Template not found: Ensure the template name is correct
-
Connection issues: Check if the server is running
-
Tool discovery fails: Try refreshing the tool cache
Debug Mode¶
Enable debug logging for troubleshooting:
For more help, see the main documentation or open an issue in the repository.