Skip to main content
Glama

custom_route

Define a custom endpoint on a project (like /health, /config/:key, or a catch-all /webhooks/* request bin). body is a response template: {{query.x}} {{params.x}} {{body.x}} {{headers.x}} {{method}} {{path}} {{now}} {{ts}} {{uuid}} {{rand}}; triple braces {{{body}}} insert raw JSON. Custom routes take precedence over resource routes; '*' catch-alls are a fallback. Max 20 routes/project.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoResponse body template (string; JSON works).
pathYese.g. /health, /config/:key, /webhooks/*
methodNoDefault GET.
statusNoResponse status (default 200).
delayMsNoArtificial latency in ms.
projectYes
adminKeyYes
contentTypeNoDefault application/json.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does well by explaining template expansion variables, raw JSON insertion via triple braces, route precedence, fallback catch-all semantics, and the per-project limit. However, it does not disclose duplicate-route overwrite behavior, error cases, or authorization requirements beyond the implied adminKey.

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?

The description is three dense sentences with no filler. The core purpose is front-loaded, followed by concrete examples and behavioral constraints. Every clause earns its place by conveying template mechanics, precedence, fallback behavior, or limits.

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 8 parameters and no output schema or annotations, the description is largely complete: it covers the purpose, path syntax, template behavior, precedence, and route limits. Remaining gaps are the lack of return-value explanation, duplicate/overwrite semantics, and any error behavior when the limit is exceeded, which are relevant but not fatal.

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 75%, so the baseline is 3, but the description adds substantial meaning beyond the schema. It explains body template syntax in depth, gives path parameter patterns (:key, *), and clarifies defaults like status/contentType indirectly through examples and route behavior. The only weak spots are project and adminKey, which receive no semantic explanation anywhere.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Define a custom endpoint on a project' and gives concrete path examples (/health, /config/:key, /webhooks/*). It also distinguishes custom routes from sibling resource routes by stating that custom routes take precedence over resource routes.

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 provides clear context for when to use the tool: for custom endpoints, request bins, and catch-all routes. It includes key routing nuances like precedence over resource routes, '*' fallback behavior, and the 20-route limit, though it does not explicitly say 'use X instead' for sibling tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Every tool targets a distinct resource or action: project creation, data seeding, record CRUD, traffic inspection, snapshots, and monitoring are all clearly separated. The four monitoring-related tools are carefully differentiated with cross-references, so an agent is unlikely to misselect.

Naming Consistency3/5

Most data and lifecycle tools follow a clear verb_noun pattern (add_resource, create_project, query_records, write_record), but several tools use noun phrases instead (heartbeat, snapshots, project_info, uptime_monitor, custom_route). The split is readable but not a consistent convention.

Tool Count5/5

14 tools is a reasonable, well-scoped size for a combined mock-API platform and monitoring utility. Each tool has a distinct job, and the monitoring tools complement the mock-API lifecycle tools without feeling redundant.

Completeness4/5

The toolset covers project creation/deletion, resource seeding, record CRUD, request inspection, snapshots, and external API monitoring. Minor gaps exist: resources can be added but not individually removed/updated, and custom routes have no delete or update path.

Resources