sqemo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| get_erd_overviewA | Returns an ERD summary (entity/relationship/domain/word-list stats, standard link status). |
| list_entitiesB | Lists entities (logical name, physical name, attribute count). |
| get_entityA | Entity detail (attributes and physical mapping). Prefers entityId; otherwise exact logicalName match (first hit on duplicates). |
| list_relationshipsA | Lists relationships (endpoint entity names, cardinality, identifying flag). |
| list_domainsA | Lists domain definitions (name, data type). With a {workspaceId} source, reads the latest workspace-standard master. |
| search_dictionaryA | Partial-match word-list search across logical/physical/abbreviation/English/synonyms (case-insensitive, max 50). With a {workspaceId} source, reads the latest workspace-standard master. |
| check_namingA | Checks a logical name against the team naming standard (word list + rules). With physicalName, compares it to the generated name (providedMatches). With a {workspaceId} source, reads the latest workspace-standard master. |
| generate_physical_nameA | Generates a physical name from a logical name via the word list and naming rules (unregistered words go to warnings). With a {workspaceId} source, reads the latest workspace-standard master. |
| export_sqlA | Exports the physical model as CREATE TABLE SQL. Without dialect, uses the project dialect. |
| export_dbmlB | Exports the project as DBML text. |
| validate_erdB | Validates project structure and referential integrity ({ valid, errors }). |
| lint_erdA | Lints the whole project — structure (PKs, attributes, descriptions, domains), referential integrity, duplicate physical names (including names that differ only by case, which collide on case-insensitive databases), duplicate logical entity names, identifier length limits (dialect-aware, tables/columns/indexes/FK constraints), auto-increment on non-integer column types (dialect-aware), and the naming standard (unregistered words, physical-name drift) in one pass. Quality/standards oriented, unlike validate_erd (structural validity). |
| diff_erdsA | Compares two ERD sources (entities/attributes/domains/relationships — unchanged omitted). A dry run before full-replace import_sql/import_dbml. A side freshly parsed from text has different ids, so most items appear as added/removed — matching the actual import behavior (full replace). summary aggregates entities only; see the arrays for domain/relationship changes. |
| export_alter_sqlA | Generates a migration (ALTER) script from the physical diff between a baseline and the current model — renames stay renames (stable-id matching), destructive changes come commented out, unsupported changes are flagged as [WARNING] comments. Baselines from the same project lineage ({file}/{erdId}) preserve renames; freshly parsed SQL/DBML text falls back to name matching. Pro plan required; requires login. |
| list_erdsA | Lists server ERDs (owned/shared). Owner and shared editors can both write. Requires login — |
| list_workspacesA | Lists my workspaces (owner first) and whether a standard (word list + naming rules) exists. Requires login. |
| propose_dictionary_wordA | Proposes a new word for the workspace standard's word list (the owner approves/rejects in the web app). source is {workspaceId} or a standard-linked ERD ({file}/{erdId}, resolved via glossaryLink). Registered words return already_exists; a pending duplicate returns already_proposed. Requires login. |
| list_proposalsA | Lists the workspace-standard proposal queue (word/domain, newest first, mine = my proposals). Filterable by status. Requires login. |
| withdraw_proposalA | Withdraws your own pending proposal. Proposals by others or already processed return not_found. Requires login. |
| create_erdA | Creates a new ERD — empty or from SQL/DBML text. With a {file} target it saves locally; with {server:true} it saves to the server (login required). Pass workspaceId to bind it to that workspace's naming standard from the start. |
| import_sqlA | Fully replaces an existing ERD with the SQL parse result (project id preserved). Rejected as invalid_source when no tables are found. |
| import_dbmlA | Fully replaces an existing ERD with the DBML parse result (project id preserved, dialect fixed to mysql). Rejected as invalid_source when no tables are found. |
| introspect_dbA | Imports the schema of a live PostgreSQL/MySQL database into an existing ERD (full replace, project id preserved). Read-only — queries only the information schema/catalog; never reads table data. The database URL is used by this local process only and is never sent to Sqemo servers. Pro plan required; requires login. |
| check_db_driftA | Checks whether a live database (url) or a schema dump (schemaSql) has drifted from the ERD's physical model. Errors: missing/extra tables and columns, PK/FK/NOT NULL mismatches. Warnings (strict promotes to errors): type/unique/auto-increment representation differences. Read-only; the database URL never leaves this process. Pro plan required; requires login. |
| upsert_entityA | Creates an entity (no entityId, logicalName required) or updates one (entityId given, only provided fields change). The physical name is derived automatically. |
| delete_entityB | Deletes an entity (including its relationships). |
| upsert_attributeA | Creates an attribute (no attributeId, logicalName required) or updates one (attributeId given, only provided fields change). primaryKey=true forces nullable=false and propagates child FKs. With a domain, the domain decides the data type. autoIncrement marks the column as identity — exported as AUTO_INCREMENT (mysql/cubrid/h2), IDENTITY(1,1) (sqlserver), or GENERATED BY DEFAULT AS IDENTITY (postgres/oracle); it applies to primary keys only. |
| delete_attributeC | Deletes an attribute. |
| upsert_relationshipA | Creates a relationship (no relationshipId, source/targetEntityId required — FKs derived automatically) or updates one (relationshipId given). On update, sourceEnd/targetEnd take precedence; otherwise ends are re-derived from cardinality. onDelete/onUpdate set the FK referential actions ('noAction' reverts to the DB default); constraintName sets the FK constraint name (empty string reverts to auto-generation). |
| delete_relationshipB | Deletes a relationship (including derived FKs). |
| upsert_domainA | Creates a domain (upsert by name) or updates one (domainId given). Existing description preserved when omitted. |
| delete_domainA | Deletes a domain (attributes referencing it are unlinked). |
| upsert_dictionary_wordA | Adds a glossary entry (upsert by logicalWord) or updates one (entryId given). Physical words are normalized to uppercase. Standard-linked (glossaryLink) dictionaries are rejected with dictionary_is_linked. |
| delete_dictionary_wordA | Deletes a glossary entry. Standard-linked (glossaryLink) dictionaries are rejected with dictionary_is_linked. |
| update_naming_rulesA | Partially updates the naming rules (delimiter, case, unknown-word handling, self-reference role prefix). Existing physical names are not regenerated retroactively (noted in warnings) — set the rules before modelling. |
| auto_layoutA | Auto-arranges entities by relationships (dagre LR). v5 has a single shared layout (no separate logical/physical placement — the removed |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sqemo/sqemo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server