Skip to main content
Glama

Share what the user is going through as a match request

create_match_request

Submit what the user is going through, to find someone living through something similar. Write the match request from the current conversation. Write 2–5 sentences in the third person, and 200–1500 characters. Use the words of the user, not formal or clinical words. Cover three things: the situation, where the user is in it, and what help they want. Write it so that a stranger in the same place recognizes themselves. Any situation belongs here: an illness, a company, a move, a course, a hard year. Example of a good match request: "She was diagnosed with early-stage breast cancer four months ago and is halfway through chemotherapy. The medical side goes to plan. She finds the isolation harder than the treatment. The people around her keep telling her to stay positive. She hopes to hear from someone at a similar stage who understands the day-to-day of it." Never invent a detail. Never include a name, an email address, an employer or another personal identifier. This call creates a new independent DRAFT. It replaces nothing in the pool. The draft stays saved until the user approves it, revises it or discards it. Show the stored match request back to the user VERBATIM. Then ask the user to approve it, or to tell you what to change. Call confirm_match_request with the request_id only after the user approves that exact version. If the user asks for a change, call create_match_request again. Pass the complete new draft, and set replaces_draft_id to the earlier request_id. Then show the new stored version and ask again. If the user declines, call withdraw_match_request with that request_id to discard the draft.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
request_textYesThe complete text of the request. Write 2–5 sentences in the third person, and at most 1500 characters. Say what the user hopes to get from a meeting.
replaces_draft_idNoThe request_id of a draft the user has already seen. Pass it only for a revision. Leave it out for a new independent request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

The description goes beyond the annotations (readOnlyHint=false, destructiveHint=false) by disclosing that the call creates an independent DRAFT, that it replaces nothing in the pool, that the draft persists until approved/revised/discarded, and that it must be shown back to the user verbatim. This is meaningful safety-relevant behavior that the annotations alone could not convey.

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 long, but nearly every clause earns its place: writing constraints, an example, privacy rules, and the approval/revision protocol. It loses one point because a couple of rules are duplicated between description and schema (character limit '200–1500 characters'), and the example, while helpful, extends the length noticeably.

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?

For a tool with no output schema, the description fully specifies what the agent must do before calling it (draft from conversation), what it must do after (show verbatim and ask approval), and how to handle each user response (approve→confirm, change→recreate, decline→withdraw). The expected return behavior is fully covered, leaving nothing for the agent to guess.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial meaning: it specifies the sentence count, person, character bounds, third-party wording ('words of the user, not formal or clinical'), the three content areas (situation, where the user is in it, wanted help), and the anti-hallucination/PII rules. It also clarifies the replaces_draft_id semantics within the revision workflow, which the schema states only tersely.

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 precise verb+resource: 'Submit what the user is going through, to find someone living through something similar.' It clearly defines the deliverable (a match request) and its social function, and its content rules (third person, 2–5 sentences, 200–1500 characters) make it unmistakable against siblings like confirm_match_request or withdraw_match_request.

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

Usage Guidelines5/5

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

Explicit when/when-not guidance is present: call confirm_match_request only after the user approves the exact version, call create_match_request again for revisions (with replaces_draft_id), and call withdraw_match_request if the user declines. No inference is required to route between the two siblings that act on the draft.

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.

Resources