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
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -3936JavaScriptApache 2.0
- -securityFlicense-qualityA server implementing the Model Context Protocol (MCP) for Cursor that allows using a PostgreSQL database as storage for model contexts, enabling secure database exploration and querying.Last updated -JavaScript
- AsecurityAlicenseAqualityA dynamic service that creates and manages Model Context Protocol (MCP) servers, allowing users to spawn, customize, and control multiple MCP servers as child processes.Last updated -565TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables performing PostgreSQL database operations (create, read, update, delete) on User and Post entities through MCP tools.Last updated -TypeScript