go-mcp-postgres
Descripción general
Copié el código de https://github.com/Zhwt/go-mcp-mysql/ y, con la ayuda de IA, cambié la base de datos de MySQL a Postgres. Servidor de Protocolo de Contexto de Modelo (MCP) listo para usar y sin carga para interactuar con Postgres y la automatización. No se requiere un entorno Node.js ni Python. Este servidor proporciona herramientas para realizar operaciones CRUD en bases de datos y tablas MySQL, y un modo de solo lectura para evitar escrituras inesperadas. También puedes hacer que el servidor MCP revise el plan de consulta mediante una sentencia EXPLAIN
antes de ejecutar la consulta, añadiendo el indicador --with-explain-check
.
Tenga en cuenta que este es un trabajo en progreso y es posible que aún no esté listo para su uso en producción.
Instalación
- Obtén la última versión y colócala en tu
$PATH
o en algún lugar al que puedas acceder fácilmente. - O si tienes Go instalado, puedes compilarlo desde la fuente:
Uso
Método A: Uso de argumentos de línea de comandos para el modo stdio
Nota: Para aquellos que colocan el binario fuera de su $PATH
, deben reemplazar go-mcp-postgres
con la ruta completa al binario: por ejemplo: si coloca el binario en la carpeta Descargas , puede usar la siguiente ruta:
Método B: Uso de argumentos de línea de comandos para el modo sse
./go-mcp-postgres --t sse --ip xxxx --port nnnn --dsn postgresql://usuarioña@host/db --lang es
Banderas opcionales
--lang
: establece la opción de idioma (en/zh-CN), el valor predeterminado es el idioma del sistema- Agregue el indicador
--read-only
para habilitar el modo de solo lectura. En este modo, solo están disponibles las herramientas que empiezan porlist
,read_
ydesc_
. Asegúrese de actualizar/reiniciar el servidor MCP después de agregar este indicador. - De forma predeterminada, las consultas CRUD se ejecutan primero con una instrucción
EXPLAIN ?
para comprobar si el plan de consulta generado coincide con el patrón esperado. Agregue el indicador--with-explain-check
para desactivar este comportamiento.
Herramientas
Compatibilidad con varios idiomas: todas las descripciones de las herramientas se localizarán automáticamente según el parámetro de idioma.
Si desea añadir compatibilidad con su propio idioma, consulte la carpeta [locales](para i18n). Debe crear el nuevo archivo locales/xxx/active-xx.toml si desea usarlo en la línea de comandos.
Herramientas de esquema
list_database
- ${mcp.tool.list_database.desc}
- Parámetros: Ninguno
- Devuelve: una lista de nombres de bases de datos coincidentes.
list_table
- ${mcp.tool.list_table.desc}
- Parámetros:
name
: si se proporciona, enumera las tablas con el nombre especificado; de lo contrario, enumera todas las tablas.
- Devuelve: una lista de nombres de tablas coincidentes.
create_table
- ${mcp.tool.create_table.desc}
- Parámetros:
query
: La consulta SQL para crear la tabla.
- Devuelve: x filas afectadas.
alter_table
- Modificar una tabla existente en el servidor Postgres. Se informa al LLM que no debe eliminar ninguna tabla o columna existente.
- Parámetros:
query
: La consulta SQL para alterar la tabla.
- Devuelve: x filas afectadas.
desc_table
- Describe la estructura de una tabla.
- Parámetros:
name
: El nombre de la tabla a describir.
- Devuelve: La estructura de la tabla.
Herramientas de datos
read_query
- Ejecutar una consulta SQL de solo lectura.
- Parámetros:
query
: La consulta SQL a ejecutar.
- Devuelve: El resultado de la consulta.
write_query
- Ejecutar una consulta SQL de escritura.
- Parámetros:
query
: La consulta SQL a ejecutar.
- Devuelve: x filas afectadas, último ID de inserción: <last_insert_id>.
update_query
- Ejecutar una consulta SQL de actualización.
- Parámetros:
query
: La consulta SQL a ejecutar.
- Devuelve: x filas afectadas.
delete_query
- Ejecutar una consulta SQL de eliminación.
- Parámetros:
query
: La consulta SQL a ejecutar.
- Devuelve: x filas afectadas.
count_query
- Consultar el número de filas de una tabla determinada.
- Parámetros:
name
: El nombre de la tabla a contar.
- Devuelve: El número de fila de la tabla.
Muchas gracias nuevamente a https://github.com/Zhwt/go-mcp-mysql/ .
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
¿Qué es go-mcp-postgres? go-mcp-postgres es un servidor de Protocolo de Contexto de Modelo (MCP) diseñado para interactuar con bases de datos Postgres, lo que permite realizar operaciones CRUD sencillas y automatizarlas sin necesidad de un entorno Node.js o Python.
Related MCP Servers
- -securityAlicense-qualityGo server implementing Model Context Protocol (MCP) for filesystem operations.Last updated -479GoMIT License
- -securityAlicense-qualitygodoc-mcp is a Model Context Protocol (MCP) server that provides efficient access to Go documentation. It helps LLMs understand Go projects by providing direct access to package documentation without needing to read entire source files.Last updated -77GoMIT License
- -securityFlicense-qualityPG-MCP is an HTTP server implementation that enables AI systems to interact with PostgreSQL databases via MCP, providing tools for querying, connecting to multiple databases, and exploring schema resources. The system enriches context by extracting table/column description from database catalogs.Last updated -21
- AsecurityAlicenseAqualityPostgres Pro is an open source Model Context Protocol (MCP) server built to support you and your AI agents throughout the entire development process—from initial coding, through testing and deployment, and to production tuning and maintenance.Last updated -9848PythonMIT License