Introducción
Los asistentes conversacionales basados en inteligencia artificial, como ChatGPT o Claude ya no se limitan a generar texto o responder preguntas. Actualmente estas herramientas también pueden interactuar con aplicaciones, ejecutar herramientas y acceder a información procedente de sistemas externos.
Esta evolución plantea un nuevo reto: la información más valiosa de una organización no reside en el propio modelo de IA, sino en sus bases de datos, servicios web y aplicaciones corporativas. Para que un asistente aporte valor, debe ser capaz de acceder a esos sistemas de forma segura y controlada.
Con este objetivo nace Model Context Protocol (MCP), un protocolo abierto impulsado por Anthropic que establece un mecanismo estandarizado para conectar asistentes de IA con herramientas y fuentes de datos externas, evitando desarrollar integraciones específicas para cada aplicación.
En el ámbito de los Sistemas de Información Geográfica (SIG), esta aproximación resulta especialmente interesante. Gran parte de la información espacial se almacena en bases de datos PostgreSQL con la extensión PostGIS, donde se gestionan tanto las geometrías como los análisis espaciales.
En este artículo veremos cómo utilizar MCP para conectar Claude Desktop con una base de datos PostGIS, prestando especial atención a la arquitectura de la solución, las buenas prácticas de seguridad y algunos ejemplos de consultas espaciales mediante lenguaje natural.
¿Qué es Model Context Protocol?
Model Context Protocol (MCP) es un protocolo abierto que define una forma estandarizada para que los asistentes de inteligencia artificial interactúen con herramientas, aplicaciones y fuentes de datos externas.

Fuente: https://modelcontextprotocol.io/docs/getting-started/intro
Su principal objetivo es evitar desarrollar integraciones específicas para cada combinación de asistente y sistema. En lugar de que el modelo se conecte directamente a una base de datos, una API o una aplicación, MCP introduce un servidor que actúa como intermediario y expone de forma controlada las operaciones disponibles.
Una arquitectura MCP está formada por tres componentes principales:
- Asistente de IA, que interpreta la petición del usuario.
- Cliente MCP, encargado de gestionar la comunicación.
- Servidor MCP, que proporciona acceso a una o varias herramientas, como una base de datos PostgreSQL, un sistema de archivos o una API.

Gracias a esta separación de responsabilidades, un mismo servidor MCP puede utilizarse desde distintos asistentes compatibles y un mismo asistente puede trabajar simultáneamente con varios servidores especializados. Esta arquitectura facilita la integración de la IA con los sistemas corporativos y reduce el esfuerzo necesario para incorporar nuevas herramientas.
Clientes, servidores y directorios MCP
El ecosistema MCP distingue cuatro conceptos básicos que conviene conocer antes de comenzar a trabajar con esta tecnología.
| Componente | Función |
|---|---|
| Host | Aplicación desde la que trabaja el usuario, como Claude Desktop o Visual Studio Code. |
| Cliente MCP | Gestiona la conexión y el intercambio de mensajes con los servidores. |
| Servidor MCP | Expone capacidades concretas, como consultar PostgreSQL o acceder a una API. |
| Herramienta | Operación que el servidor permite ejecutar, por ejemplo, lanzar una consulta SQL. |
Entre los clientes compatibles destacan Claude Desktop, una de las opciones más utilizadas para trabajar con servidores MCP locales; Claude Code y Visual Studio Code, orientados principalmente a tareas de desarrollo. Por su parte, ChatGPT también incorpora soporte para MCP, tanto desde su API como mediante conectores disponibles en determinados planes.
A medida que el ecosistema ha ido creciendo, han surgido distintos directorios para localizar servidores MCP ya desarrollados. Entre los más utilizados se encuentran el Registro oficial de MCP, el directorio de conectores de Anthropic y plataformas comunitarias como MCP Market, Smithery, PulseMCP o MCP.so.

No obstante, la presencia de un servidor en uno de estos directorios no garantiza su calidad o seguridad. Antes de incorporarlo a un entorno de trabajo conviene comprobar quién lo mantiene, revisar su código fuente, verificar los permisos que solicita y confirmar que continúa recibiendo actualizaciones.
En entornos corporativos, como puede ser las distintas áreas de Geoinnova (territorio, formación, SIG y Desarrollo, sostenibilidad..), es recomendable utilizar servidores oficiales o desarrollados internamente y comenzar siempre con herramientas de solo lectura. Esta estrategia reduce los riesgos de seguridad y facilita una adopción progresiva de MCP dentro de la organización.
MCP aplicado al ámbito GIS
El ámbito geoespacial es uno de los escenarios donde MCP puede aportar mayor valor. Un proyecto GIS suele integrar múltiples herramientas y fuentes de información como bases de datos espaciales, servicios web, aplicaciones de escritorio o catálogos de datos que hasta ahora requerían integraciones específicas.
Durante los últimos meses han aparecido los primeros servidores MCP orientados al mundo GIS. Entre ellos destacan las integraciones con QGIS , que permiten interactuar con proyectos SIG y capas desde un asistente; CARTO, para consultar y analizar datos espaciales; y Felt, orientado a la exploración y edición colaborativa de mapas.

Este enfoque también puede extenderse a otras tecnologías ampliamente utilizadas en el sector, como GeoServer, ArcGIS, los servicios basados en estándares OGC, los catálogos STAC o las APIs de geolocalización, para las que se pueden desarrollar nuevos servidores MCP en el caso de que no existan ya.
Arquitectura del ejemplo
Para ilustrar el funcionamiento de MCP utilizaremos Claude Desktop como cliente y una base de datos PostgreSQL con la extensión PostGIS. Aunque el protocolo es compatible con otros asistentes, Claude Desktop ofrece actualmente una de las implementaciones más estables para trabajar con servidores MCP locales.
La arquitectura propuesta es sencilla: Claude Desktop no accede directamente a la base de datos, sino que todas las peticiones se canalizan a través de un servidor MCP, responsable de establecer la conexión con PostgreSQL y ejecutar las consultas autorizadas.

Cuando el usuario realiza una consulta, Claude Desktop decide si necesita utilizar alguna de las herramientas proporcionadas por el servidor MCP. En ese caso, este ejecuta la consulta SQL sobre PostgreSQL/PostGIS y devuelve el resultado al asistente, que lo incorpora a la respuesta en lenguaje natural.
Esta separación de responsabilidades aporta varias ventajas. El asistente no necesita conocer los detalles de la conexión ni las credenciales de la base de datos, mientras que el servidor MCP centraliza el acceso a la información y permite aplicar políticas de seguridad, limitar permisos y registrar las operaciones realizadas.
Preparación segura de PostgreSQL y PostGIS
Antes de conectar un asistente de IA a una base de datos PostgreSQL conviene definir una estrategia de seguridad adecuada. Aunque técnicamente sería posible utilizar el usuario postgres o una cuenta con privilegios elevados, esta práctica no es recomendable en un entorno de producción.
Como en cualquier otra aplicación, debe aplicarse el principio de mínimo privilegio: el servidor MCP únicamente debería disponer de los permisos necesarios para ejecutar las operaciones previstas. En la mayoría de los casos, un usuario de solo lectura será suficiente.
El siguiente ejemplo crea un usuario específico para el servidor MCP y le concede acceso únicamente al esquema inventario y permisos de consulta sobre sus tablas.
-- Crear usuario de solo lectura para el servidor MCP
CREATE ROLE mcp_readonly
LOGIN
PASSWORD 'contraseña_segura';
-- Permitir la conexión a la base de datos
GRANT CONNECT
ON DATABASE gis
TO mcp_readonly;
-- Permitir el uso del esquema
GRANT USAGE
ON SCHEMA inventario
TO mcp_readonly;
-- Permitir consultar las tablas existentes
GRANT SELECT
ON ALL TABLES IN SCHEMA inventario
TO mcp_readonly;
-- Conceder automáticamente permisos sobre las tablas que se creen en el futuro
ALTER DEFAULT PRIVILEGES
IN SCHEMA inventario
GRANT SELECT ON TABLES
TO mcp_readonly;Con esta configuración el asistente podrá consultar la información, pero no modificarla.
En proyectos de mayor tamaño también puede resultar útil definir distintos perfiles de acceso, separando los usuarios destinados a consultas de aquellos autorizados para realizar operaciones de inserción o actualización.
| Rol | Permisos |
|---|---|
| mcp_readonly | Consultas (SELECT) |
| mcp_editor | Inserciones y actualizaciones controladas |
| mcp_admin | Administración del esquema (solo para tareas de mantenimiento) |
Por último, las credenciales del servidor MCP nunca deberían almacenarse en el código fuente. Es preferible utilizar variables de entorno o un gestor de secretos y restringir el acceso a PostgreSQL mediante reglas de red, permitiendo únicamente conexiones desde los equipos autorizados.
Una configuración segura desde el principio simplifica la incorporación de asistentes de IA a la infraestructura GIS y reduce considerablemente los riesgos asociados al acceso directo a la base de datos.
Instalación y configuración del servidor MCP
Con la base de datos preparada, el siguiente paso consiste en instalar un servidor MCP para PostgreSQL y registrarlo en Claude Desktop. Este servidor será el encargado de recibir las solicitudes del asistente, conectarse a la base de datos y ejecutar las consultas SQL autorizadas.
Actualmente existen varias implementaciones desarrolladas por la comunidad. Independientemente de la elegida, es recomendable utilizar proyectos mantenidos activamente, con documentación disponible y código fuente accesible.

En Claude Desktop, los servidores MCP se configuran desde:
Configuración → Desarrollador →Servidores MCP locales →Editar configuración
Esta opción abre el archivo claude_desktop_config.json, donde se definen los servidores que el asistente podrá utilizar. Una configuración similar a la siguiente permite registrar un servidor MCP para PostgreSQL:
{
"mcpServers": {
"geodb-lectura": {
"command": "uvx",
"args": [
"postgres-mcp",
"--access-mode=restricted"
],
"env": {
"DATABASE_URI": "postgresql://mcp_sig_lectura:contraseña_segura_01@127.1.0.0:5432/geodb"
}
},
"geodb-migracion": {
"command": "uvx",
"args": [
"postgres-mcp",
"--access-mode=unrestricted"
],
"env": {
"DATABASE_URI": "postgresql://mcp_sig_migracion:contraseña_segura_01@127.1.0.0:5432/geodb"
}
}
}
}El comando dependerá de la implementación elegida. Existen servidores distribuidos como paquetes de Node.js, aplicaciones en Python, imágenes Docker o ejecutables independientes.
Tras guardar la configuración y reiniciar Claude Desktop, el asistente detectará automáticamente el nuevo servidor y las herramientas que este expone.
A partir de ese momento, cuando una pregunta requiera acceder a PostgreSQL, Claude Desktop iniciará el servidor MCP, solicitará la ejecución de la herramienta correspondiente y utilizará el resultado para construir la respuesta en lenguaje natural.
Antes de comenzar a trabajar conviene comprobar que el servidor inicia correctamente, que puede conectarse a PostgreSQL con el usuario previsto y que únicamente expone las herramientas necesarias. Del mismo modo, las credenciales nunca deberían almacenarse en el código fuente, sino mediante variables de entorno o un gestor de secretos.
Consultas PostGIS mediante lenguaje natural
Con el servidor MCP configurado, el asistente ya puede consultar la información almacenada en PostgreSQL/PostGIS utilizando lenguaje natural. El usuario no necesita conocer la estructura de la base de datos ni escribir consultas SQL; basta con formular la pregunta como lo haría habitualmente.
Algunos ejemplos podrían ser:
- ¿Qué tablas contienen geometrías?
- ¿Qué capas utilizan el sistema de referencia EPSG:25830?
- ¿Qué parcelas se encuentran a menos de 200 metros de este pozo?
- Calcula la superficie regable por municipio.
- ¿Qué red tuberías intersectan con esta parcela?
El asistente interpreta la petición, identifica las tablas implicadas y genera automáticamente la consulta SQL correspondiente utilizando las funciones espaciales de PostGIS.

Aunque el usuario interactúe únicamente mediante lenguaje natural, el servidor MCP sigue ejecutando consultas SQL sobre PostgreSQL. Por este motivo, la calidad de las respuestas dependerá tanto del modelo de IA como de un modelo de datos bien diseñado, una nomenclatura coherente y una documentación adecuada de la base de datos.
En este artículo nos hemos centrado en consultas de solo lectura, el escenario más recomendable para comenzar a trabajar con MCP. Las operaciones de escritura deberían reservarse para procesos controlados, utilizando usuarios con permisos limitados y mecanismos de validación y auditoría.
Buenas prácticas y limitaciones
Antes de poner en producción un servidor MCP conectado a PostgreSQL/PostGIS, conviene revisar los siguientes aspectos:
- Aplica el principio de mínimo privilegio. Utiliza usuarios específicos para el servidor MCP y concede únicamente los permisos necesarios.
- Empieza con consultas de solo lectura. Habilita operaciones de escritura únicamente cuando exista una necesidad justificada y puedan auditarse.
- Protege las credenciales. Evita almacenarlas en el código fuente y utiliza variables de entorno o un gestor de secretos.
- Cuida el modelo de datos. Una estructura bien organizada y documentada mejora la calidad de las consultas generadas por el asistente.
- Optimiza PostgreSQL y PostGIS. Mantén índices espaciales, estadísticas actualizadas y revisa las consultas más costosas.
- Revisa el SQL generado. Especialmente cuando las consultas sean complejas o vayan a ejecutarse sobre entornos de producción.
- Mantén supervisión humana. La IA es una herramienta de apoyo; la validación de los resultados sigue siendo responsabilidad del usuario.
Aplicar estas recomendaciones permite aprovechar las ventajas de MCP sin renunciar a las buenas prácticas habituales en la administración de bases de datos geoespaciales. Mantener una arquitectura segura, un modelo de datos bien diseñado y un acceso controlado seguirá siendo la mejor garantía para obtener resultados fiables.
Conclusiones
La inteligencia artificial está cambiando la forma en que interactuamos con la información, y Model Context Protocol (MCP) representa un paso importante para integrar estos asistentes con los sistemas que utilizamos en nuestro día a día.
En el ámbito GIS, la combinación de Claude Desktop, MCP y PostgreSQL/PostGIS permite consultar y analizar información geoespacial mediante lenguaje natural sin renunciar a la potencia de SQL ni a las capacidades analíticas de PostGIS.
No obstante, el éxito de esta integración no depende únicamente del asistente utilizado. Una arquitectura bien diseñada, un modelo de datos consistente y una estrategia de seguridad adecuada siguen siendo los pilares sobre los que construir soluciones fiables.
Aunque el ecosistema MCP todavía continúa evolucionando, su rápida adopción por parte de fabricantes y desarrolladores hace prever que este protocolo desempeñará un papel cada vez más relevante en la integración de asistentes de IA con aplicaciones y plataformas geoespaciales.
Más allá de la tecnología, el verdadero reto será incorporar estas capacidades de forma segura, gobernada y alineada con las necesidades de cada organización. Ese es, probablemente, el aspecto que marcará la diferencia entre utilizar un asistente de IA y convertirlo en una herramienta realmente útil dentro de una infraestructura GIS.
¿Quieres comentarnos algo? Adelante!