PostGIS MCP Server Example
Ejemplo de servidor MCP que expone una herramienta (tool) para ejecutar consultas SQL en una base de datos PostgreSQL con PostGIS, usando datos geograficos de la Univalle y pruebas realizadas con Cloude Desktop
Install dependencies
conda create --name env_ai python=3.8
conda activate env_ai
pip install mcp psycopg2-binary
Claude config
Add claude_desktop_config.json to your cloude desktop config
{
"mcpServers": {
"postgis-mcp": {
"command": "C:\\Users\\User\\miniconda3\\Scripts\\conda.exe",
"args": [
"run",
"-n",
"env_ai",
"--no-capture-output",
"python",
"C:\\Users\\User\\Desktop\\AI\\mcp_postgis\\mcp_postgis.py"
],
"host": "127.0.0.1",
"port": 5001,
"timeout": 30000
}
}
}
Create database
CREATE DATABASE uvruteo;
Add PostGIS extension to database
CREATE EXTENSION postgis;
Populate the database
psql -h localhost -p 5432 -d uvruteo -U postgres -f geodata/edificios_univalle.sql
psql -h localhost -p 5432 -d uvruteo -U postgres -f geodata/rios_univalle.sql
psql -h localhost -p 5432 -d uvruteo -U postgres -f geodata/sitiosinteres_univalle.sql
Example Prompts
"Cual es la longitud de todos los rios_univalle transforma los datos al epsg:3115 la columna the_geom contiene la geometria"
"Cual es el edificio más cercano al sitio de interés plazoleta de ingeniería, entrégame la distancia en metros, usa las tablas edificios_univalle y sitiosinteres_univalle , transforma los datos en epsg:3115 si es necesario, usa la columna the_geom"

