Skip to main content
Glama
Smart Quota Orchestrator

Smart Quota Orchestrator

by ElNeMeR70

sqo_schema_distill

Compress SQL, Prisma, Laravel, Drift, SQLAlchemy, or GraphQL schemas into a <350-token Entity-Relationship DSL and Mermaid diagram to reduce AI context token use.

Instructions

Universal 6-Stack Database & GraphQL Schema Distiller: compresses 30k-90k tokens of SQL DDL, Prisma, Laravel migrations, Flutter Drift/Sqflite, SQLAlchemy, or GraphQL schemas into a <350-token Entity-Relationship DSL + Mermaid diagram.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workspace": "<workspace>"
    },
    "name": "sqo_schema_distill"
  }
}

Input Schema

NameRequiredDescriptionDefault
workspaceYesWorkspace root directory or schema file path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv13.0.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the output contract (bounded <350-token ER DSL + Mermaid) and the range of accepted schema dialects, but says nothing about read-only vs mutating behavior, what happens if the workspace contains multiple or unsupported schemas, or failure modes.

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?

One dense sentence that front-loads the core action and then the output format. The 'Universal 6-Stack' framing is mild marketing padding, but the rest of the sentence is information-bearing with no repetition.

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?

For a one-parameter, no-annotation, no-output-schema tool, the description does convey the return shape and size bound. It leaves gaps around how schemas are discovered within a workspace root and how unsupported or absent schemas are reported, which matters because there is no output schema to fall back on.

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 coverage is 100% and the single 'workspace' parameter already documents that it accepts either a root directory or a schema file path. The description adds no further meaning about that parameter, which is acceptable given the schema does the work, but nothing extra is contributed.

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 pairs a specific verb (compresses/distills) with a specific resource (SQL DDL, Prisma, Laravel migrations, Drift/Sqflite, SQLAlchemy, GraphQL schemas) and names the exact artifact produced (an ER DSL plus Mermaid diagram). It is clearly distinguishable from neighbors like sqo_api_contracts or sqo_api_routes, though it never names a sibling to contrast itself against.

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 token ranges (30k-90k input, <350 output) imply the use case: shrink a large schema before putting it in context. But there is no explicit when-to-use statement, no when-not to use it, and no mention of alternatives for schema inspection, so the agent must infer the trigger condition.

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