Skip to main content
Glama
gemmeinhq

Gemmein MCP Server

Official

explain_relay

Read-only

Validate a Gemmein relay definition before gemmein sync: get the dashboard sentence the relay will show or the single refusal naming the field and fix.

Instructions

Call while WRITING or FIXING gemmein/relays/.json — before gemmein sync carries it to the cloud. A relay is one trigger (receiver: a provider's webhook; schedule: a clock; data_change: a record changing) and up to ten actions in Gemmein's own verbs (write_record, grant_access, revoke_access, grant_credits, email_person, call_url, fulfil_product, refund_product, grant_plan, revoke_plan) — Gemmein runs it: receives the event, maps the fields, authorises, carries out the action. Pass the definition JSON; the answer is the English sentence the dashboard shows ("When gocardless-paid receives an event where event_type is confirmed → grant Pro, email the person, call https://…") or the ONE refusal sentence the cloud would answer, naming the field and the fix. Offline and read-only: nothing is created. Two checks run only in the cloud and are stated in the answer (the API's own hosts; the address's resolved network at call time).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
definitionYesthe relay definition — the contents of gemmein/relays/<name>.json ({ name, trigger, actions })

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description reinforces it ('Offline and read-only: nothing is created') while adding genuinely new behavioral context: the answer is the dashboard sentence or a single refusal, and two checks (the API's own hosts, the address's resolved network at call time) run only in the cloud. This discloses what cannot be validated locally, which is exactly what an agent needs.

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?

A single dense paragraph, front-loaded with the call trigger and progressively filling in relay anatomy, return shape, and limitations. Every clause carries information, though the parenthetical verb list and dash-heavy construction make it heavier than strictly necessary.

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

Completeness5/5

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

With no output schema, the description correctly explains the return value (sentence or refusal) and the offline/cloud split. Purpose, timing, inputs, outputs, and safety are all covered, so an agent has everything needed to invoke it correctly.

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 100% so the 'definition' parameter is already documented, setting a baseline of 3. The description adds meaning by unpacking what the definition contains — trigger kinds (receiver/schedule/data_change) and the action verbs — which helps an agent construct a valid payload.

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?

States a specific verb (explain) on a specific resource (gemmein/relays/<name>.json) and defines a 'relay' concretely (one trigger plus up to ten actions in named verbs). It also states exactly what the tool returns — an English sentence or the ONE refusal sentence naming the field and fix. An agent can distinguish it from siblings like explain_rule and explain_error without opening any schema.

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 when-to-use context: 'Call while WRITING or FIXING ... before `gemmein sync` carries it to the cloud.' The condition (pre-sync validation) is explicit. It does not name alternative tools or exclusions, but no other sibling covers relays, so routing ambiguity is low.

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