Skip to main content
Glama
EGorsel

Mendix Context Bridge

by EGorsel

inspect_database_schema

Retrieve column structure of a database table to understand how Mendix stores data. Use this tool to analyze local project database schemas for development and debugging.

Instructions

Geeft de kolomstructuur van een tabel in de lokale database terug. Handig om te begrijpen hoe Mendix data opslaat.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
table_nameNoNaam van de tabel (standaard: Unit)Unit

Implementation Reference

  • src/server.ts:82-95 (registration)
    Tool registration in ListTools handler, including name, description, and input schema for 'table_name' parameter.
    {
        name: "inspect_database_schema",
        description: "Geeft de kolomstructuur van een tabel in de lokale database terug. Handig om te begrijpen hoe Mendix data opslaat.",
        inputSchema: {
            type: "object",
            properties: {
                table_name: {
                    type: "string",
                    description: "Naam van de tabel (standaard: Unit)",
                    default: "Unit"
                }
            }
        }
    }
  • Input schema definition for the inspect_database_schema tool.
        inputSchema: {
            type: "object",
            properties: {
                table_name: {
                    type: "string",
                    description: "Naam van de tabel (standaard: Unit)",
                    default: "Unit"
                }
            }
        }
    }
  • MprReader.getSchema() method provides the core logic for retrieving database table schema via SQLite PRAGMA table_info, directly matching the tool's intended functionality.
     * Inspects the schema of the 'Unit' table (or any other table).
     * Useful for debugging internal Mendix structure.
     */
    getSchema(tableName: string = 'Unit'): any[] {
        if (!this.db) {
            throw new Error('Database not connected.');
        }
        try {
            // Use SQLite pragma to get table info
            const stmt = this.db.prepare(`PRAGMA table_info(${tableName})`);
            return stmt.all();
        } catch (error) {
            console.error(`Error getting schema for ${tableName}:`, error);
            return [];
        }
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states it returns column structure, which implies a read-only operation, but doesn't explicitly confirm this is safe (non-destructive) or mention any authentication needs, rate limits, or error conditions. It mentions the local database context, which is useful context, but lacks details about what 'local' means (e.g., development vs. production environment) or any constraints on table accessibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences that efficiently convey the core purpose and usage context. The first sentence states what the tool does, and the second adds practical value. There's no unnecessary repetition or fluff, though it could be slightly more structured (e.g., by explicitly separating purpose from guidelines).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter with full schema coverage and no output schema, the description provides basic completeness: it explains what the tool returns (column structure) and why it's useful (to understand Mendix data storage). However, as a database inspection tool with no annotations, it lacks details about behavioral aspects like safety, permissions, or output format specifics. The description compensates somewhat with the Mendix context, but doesn't fully address gaps in behavioral transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the schema fully documenting the single parameter 'table_name' including its type, description, and default value. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain table naming conventions or valid table examples). With high schema coverage and only one parameter, the baseline score of 3 is appropriate as the schema handles most of the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Geeft de kolomstructuur van een tabel in de lokale database terug' (Returns the column structure of a table in the local database). It specifies the verb ('geeft terug' - returns) and resource ('kolomstructuur van een tabel' - column structure of a table). However, it doesn't explicitly differentiate from sibling tools like 'get_domain_model' or 'inspect_local_microflow', which might also provide structural information about the database or application.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance: 'Handig om te begrijpen hoe Mendix data opslaat' (Useful to understand how Mendix stores data). This suggests the tool is for exploring data storage structure, but it doesn't explicitly state when to use this tool versus alternatives like 'get_domain_model' (which might provide a broader domain model) or 'list_local_modules' (which might list modules rather than table structures). No explicit when-not-to-use or alternative tool recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/EGorsel/mendix-local-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server