MCP Mermaid ER Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_HOST | Yes | PostgreSQL host | |
| DB_NAME | Yes | PostgreSQL database name | |
| DB_PORT | No | PostgreSQL port | 5432 |
| DB_USER | Yes | PostgreSQL user | |
| API_HOST | No | API server host | 0.0.0.0 |
| API_PORT | No | API server port | 3000 |
| API_TYPE | No | API type: rest, graphql, or both | rest |
| DB_PASSWORD | Yes | PostgreSQL password | |
| MERMAID_DIAGRAM_PATH | Yes | Path to the Mermaid ER diagram file |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| parse_er_diagramB | Parse a Mermaid ER diagram and extract the complete database schema including entities, attributes, and relationships. |
| list_entitiesC | List all entities (tables) in the ER diagram with their names and aliases. |
| get_entity_detailsA | Get detailed information about a specific entity including all its attributes, types, and keys (PK, FK, UK). |
| get_relationshipsB | Get all relationships between entities in the ER diagram with cardinality information. |
| validate_diagramB | Validate a Mermaid ER diagram for syntax errors and structural issues. |
| test_connectionA | Test the PostgreSQL database connection. Returns success or error message. |
| generate_sqlA | Generate SQL DDL statements from the ER diagram without executing them. Useful for reviewing the SQL before creating tables. |
| create_schemaA | Create PostgreSQL tables from the ER diagram. This will execute DDL statements to create tables and foreign key constraints. |
| drop_schemaA | Drop all tables defined in the ER diagram. WARNING: This will delete all data! |
| start_api_serverA | Start the REST/GraphQL API server for the entities in the ER diagram. |
| stop_api_serverB | Stop the running API server. |
| get_api_endpointsB | Get information about the running API server and its endpoints. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct action or resource: read operations are separated into entities, relationships, and diagram parsing, while generate_sql is clearly distinct from create_schema since one only outputs DDL and the other executes it. The API server lifecycle is also cleanly split into start, stop, and endpoint inspection. No two tools appear likely to be confused.
All tool names follow a consistent lower_snake_case verb_noun convention. The verbs clearly indicate the action being taken, such as list, get, validate, generate, create, drop, start, and stop. The minor use of both list and get for read operations is not a meaningful inconsistency.
With 12 tools, the server is well-scoped for its combined purpose of parsing Mermaid ER diagrams, managing PostgreSQL schema, and controlling an API server. Each tool supports a distinct part of the workflow without unnecessary duplication. The count fits comfortably within the ideal range.
The core lifecycle is well covered: parse and validate the diagram, inspect entities and relationships, generate and execute SQL, drop the schema, and start/stop the API server. Minor gaps exist, such as no tool for incremental schema updates or altering existing tables, but these are not essential to the stated purpose. Overall, the surface is complete enough for the primary workflow.