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.
Related MCP server: Filesystem MCP Server
Instalación
Obtén la última versión y colócala en tu
$PATHo 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:contraseña@host:puerto/db --lang es
Banderas opcionales
--lang: establece la opción de idioma (en/zh-CN), el valor predeterminado es el idioma del sistemaAgregue el indicador
--read-onlypara 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-checkpara 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_tableModificar 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_tableDescribe 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_queryEjecutar una consulta SQL de solo lectura.
Parámetros:
query: La consulta SQL a ejecutar.
Devuelve: El resultado de la consulta.
write_queryEjecutar 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_queryEjecutar una consulta SQL de actualización.
Parámetros:
query: La consulta SQL a ejecutar.
Devuelve: x filas afectadas.
delete_queryEjecutar una consulta SQL de eliminación.
Parámetros:
query: La consulta SQL a ejecutar.
Devuelve: x filas afectadas.
count_queryConsultar 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