Skip to main content
Glama

Sanity Check — Technical Architecture Review

Server Details

Automated architecture sanity check: 19 rule-cited checks, verdict report. Paid runs US$99.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct role: catalogue = discovery, credit_status = payment/balance lookup, run = paid analysis of the caller's intake, sample = free demo on a fixed fictional intake. The only mild overlap is between run and sample, which both execute the checker, but the paid-vs-free and own-intake-vs-published-sample distinction is spelled out clearly enough to avoid misselection.

Naming Consistency5/5

All four tools share the same `sanity_check_` prefix followed by a short snake_case noun/verb (catalogue, credit_status, run, sample). Naming is entirely predictable and uniform, so an agent can infer the family at a glance.

Tool Count5/5

Four tools is lean but each earns its place: discovery, payment state, the core paid run, and a free preview. There is no redundant or filler tool, and the surface matches the narrow purpose of a single-check analysis service.

Completeness4/5

The lifecycle is mostly covered: learn what is checked, verify credits, try a sample, then run on real intake with multiple report formats returned as links. The main gap is the absence of a free intake-validation tool (or prior-run/report listing) before a credit is spent, though the run tool's schema refusal mitigates this somewhat.

Available Tools

4 tools
sanity_check_catalogueAInspect

List the architecture checks the Sanity Check runs (families, plain-language descriptions), what is NOT assessed, pricing, and how run credits work. Free.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does meaningful work: it discloses that the response covers not only what is checked but explicitly 'what is NOT assessed', and that the call costs nothing. It doesn't state the return format explicitly, but the content categories are well enumerated for a zero-parameter read.

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

Conciseness5/5

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

A single front-loaded sentence that packs scope, return contents, and cost with no filler. Every clause earns its place.

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

Completeness4/5

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

No output schema exists, so the description must convey what comes back, and it lists the returned information categories capably. For a no-parameter, no-annotation listing tool this is close to sufficient; only an explicit 'call this first' routing hint is missing.

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

Parameters4/5

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

There are zero parameters, so the schema imposes no documentation burden and the baseline of 4 applies. The description adds no parameter detail because none exists to explain.

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?

States a specific verb ('List') and resource ('the architecture checks the Sanity Check runs') plus the exact contents returned (families, plain-language descriptions, gaps, pricing, credits). It is clearly a discovery/catalogue tool, distinct from the action-oriented siblings (run, sample), though the mention of 'how run credits work' slightly overlaps the territory of sanity_check_credit_status.

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?

'Free.' implies this is the cheap first step before spending credits, but the description never explicitly says 'call this before sanity_check_run' or names siblings as alternatives. Usage is inferable rather than stated.

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

sanity_check_credit_statusAInspect

Check payment state without spending anything: pass 'credit' (a web run-credit id from Stripe checkout) to see its status, or 'api_key' to see its run-credit balance. Free.

NameRequiredDescriptionDefault
creditNoA run-credit id (Stripe checkout session id).
api_keyNoAn API key created at POST /api/v1/keys.

TDQS

A3.8/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 burden, and it does disclose the most important trait — the call is free and 'without spending anything,' which is non-obvious for a payment-status tool. However, it says nothing about authentication expectations, error behavior for an invalid credit id, or what happens when neither parameter is supplied (both are optional).

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

Conciseness5/5

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

A single front-loaded sentence with a colon introducing the two branches; the cost note ('Free') is appended without waste. Nothing is repeated and every clause carries information.

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 two-optional-parameter read tool this covers the selection logic and cost, which is most of what an agent needs. But there is no output schema, and 'see its status' / 'see its run-credit balance' leaves the return shape — possible status values, balance units — unspecified.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3; the description earns above that by tying each parameter to a distinct outcome — 'credit' yields status, 'api_key' yields run-credit balance. It also clarifies that 'credit' is a web run-credit id from Stripe checkout, adding context beyond the schema's 'Stripe checkout session id.'

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?

States a specific verb and resource — 'check payment state' — and immediately explains the two modes of operation (credit status vs api_key balance). It is clearly distinct from the sibling sanity_check_* tools, but it never names them or explicitly contrasts itself, so it stops short of full sibling differentiation.

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

Usage Guidelines4/5

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

The description tells the agent exactly which parameter selects which behavior: 'pass credit ... to see its status, or api_key to see its run-credit balance.' That is clear routing between the two use cases. It stops short of 5 because it never says when not to use this tool or points to a related alternative for other payment questions.

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

sanity_check_runAInspect

Run the full Technical Architecture Sanity Check on YOUR intake and return the verdict summary + report links (PDF/DOCX/HTML/Markdown/JSON). Costs ONE run credit: pass 'credit' (a web run-credit id) or 'api_key' (a key with balance). The intake is the SanityCheckIntakeV1 object (sections a-g; schema at https://sanity.aimlds.org/api/v1/intake-schema). Never include credentials in an intake — credential-shaped values are refused.

NameRequiredDescriptionDefault
creditNo
intakeYesSanityCheckIntakeV1 — sections a (context), b (architecture), c (spend bands), d (data flows), e (AI), f (security posture), g (pain).
api_keyNo

TDQS

A3.8/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 burden and does disclose meaningful behavior: a credit is consumed, credential-shaped values inside the intake are refused, and five report artifacts are produced. It omits what happens on validation failure (credit refunded or not), runtime expectations, and idempotency, which matter for a paid one-shot operation.

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?

Front-loads the action and the return value, then the cost/auth prerequisite, then intake shape and the credential restriction. Dense but every sentence carries information; only the parenthetical format list and the schema URL could be trimmed.

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

Completeness4/5

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

For a tool with a nested intake object, no output schema, and no annotations, the description still covers the return payload, the payment/authentication prerequisite, the intake contract and its schema location, and a validation rule. Failure and refund behavior are the remaining gap, but the agent can call it correctly from what is stated.

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

Parameters4/5

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

Schema coverage is only 33%, but the description compensates for all three parameters: 'credit' is a web run-credit id, 'api_key' needs a balance, and 'intake' is SanityCheckIntakeV1 with sections a-g plus a schema URL. The either/or relationship between credit and api_key is conveyed, though the external schema link leaves nested intake semantics off-tool.

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?

States a specific verb and resource ('Run the full Technical Architecture Sanity Check on YOUR intake') and names the return payload (verdict summary + report links in five formats). It is clearly distinct from catalogue/credit_status siblings in substance, but never explicitly names sanity_check_sample, which is the closest ambiguous alternative.

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

Usage Guidelines4/5

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

Gives clear preconditions — it costs one run credit and you must pass either a 'credit' id or an 'api_key' with balance — which tells the agent what it needs before calling. It does not explicitly say when to prefer sanity_check_sample or sanity_check_catalogue instead, so no exclusion guidance.

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

sanity_check_sampleAInspect

Run the published sample intake (a fictional fintech with deliberately weak answers) live through the same checker and return its verdict + top findings. Free preview — this is the sample, not your architecture.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does disclose key traits: it executes live through the same checker (so behavior mirrors the real tool), it costs nothing, and the input is a fixed fictional fintech with deliberately weak answers. It omits latency/caching behavior for a live run, which is the main remaining gap.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and the output, then the cost and scope caveat. Every clause carries information; nothing is filler.

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

Completeness4/5

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

For a zero-param tool with no output schema, the description tells the agent what comes back (verdict + top findings) and that no input is required. The shape of 'top findings' is left unspecified, a minor gap given no output schema exists.

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

Parameters4/5

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

Zero parameters, so the baseline is 4. The description goes slightly beyond by explaining why there are none — the intake is a fixed published sample — which prevents an agent from hunting for a way to pass its own data.

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?

Names a specific action (run the published sample intake live through the same checker) and states the return (verdict + top findings). The clause 'this is the sample, not your architecture' implicitly distinguishes it from sanity_check_run, though it never names the sibling directly.

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

Usage Guidelines4/5

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

'Free preview' gives a clear condition for choosing this tool, and 'this is the sample, not your architecture' is an effective when-not signal that steers agents to the real-run tool. No sibling is named explicitly, so routing relies on inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedsanity_check_catalogue
    • First observedsanity_check_credit_status
    • First observedsanity_check_run
    • First observedsanity_check_sample

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Real-time architecture governance tool that enforces Clean Architecture, DDD, SOLID, TDD, and Security rules across 8 languages using 11 specialized agents.
    5 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An architecture consulting server that reviews multi-agent systems against a knowledge graph of patterns derived from expert literature. It provides grounded recommendations with chapter citations, maturity scoring, and interactive architecture diagrams to identify and fix structural gaps.
    17
    5
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources