MCPInstall
mcp_postgis logo

mcp_postgis

by AndresHerrera AndresHerrera/mcp_postgis

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

READMEmain

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
    }
  }
}
example1 example1

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"

example1

"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"

example2