Skip to main content
Glama

Start a partner application for the person

partner_apply

Starts a partner application with the person’s details and returns application_id and application_token. Only call it when the person has asked to join. No text is sent by this call. Next: partner_send_code.

Input Schema

NameRequiredDescriptionDefault
nameYesThe person’s name.
emailYesThe person’s email.
personaYesThe partner type: how they meet renters (front desk or building staff, leasing agent, mover, tenant insurance, co-living, university, telecom, listing site, relocation, landlord, move-in service, delivery).
buildingNoOptional: the building or company they work with.
employer_okNoIf they work for a building or concierge company: has their employer allowed it?
payouts_offNoOptional: true for organisations that cannot take money (for example a university or a settlement agency). Their residents still get the perk; no payouts are ever made.
mobile_phoneYesThe person’s own Canadian mobile number. We text it a code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / payouts_off
      Added value: +{
      +  "description": "Optional: true for organisations that cannot take money (for example a university or a settlement agency). Their residents still get the perk; no payouts are ever made.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / persona / description
      Previous value: -"How they meet renters."New value: +"The partner type: how they meet renters (front desk or building staff, leasing agent, mover, tenant insurance, co-living, university, telecom, listing site, relocation, landlord, move-in service, delivery)."
    • changedInput schema / properties / persona / enum
      Previous value: -[
      -  "front_desk",
      -  "property_manager",
      -  "condo_board",
      -  "leasing_agent",
      -  "mover",
      -  "student_housing",
      -  "creator",
      -  "other"
      -]New value: +[
      +  "front_desk",
      +  "property_manager",
      +  "condo_board",
      +  "leasing_agent",
      +  "mover",
      +  "student_housing",
      +  "tenant_insurance",
      +  "co_living",
      +  "telecom",
      +  "listing_site",
      +  "relocation",
      +  "landlord",
      +  "move_in_service",
      +  "delivery",
      +  "creator",
      +  "other"
      +]
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (destructive=false, openWorld=true, not idempotent), so the bar is lower; the description adds genuinely useful context that no text is sent and that it returns id/token credentials. It doesn't address repeat invocation or what happens on an already-open application, 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?

Three short sentences, front-loaded with the action and return values, then the precondition, then the next step. No 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?

No output schema, so naming the returned application_id and application_token is necessary and provided. Combined with the precondition and next step, an agent has enough to act, though error/re-entry behaviour on a duplicate application is unstated.

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 description coverage is 100% with enums and lengths documented, so the schema carries parameter meaning. The description adds no parameter-level guidance (e.g., format of mobile_phone or when to set payouts_off), which is the expected baseline-3 outcome.

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?

Specific verb + resource ("Starts a partner application"), states the return payload (application_id, application_token), and names the sibling follow-up (partner_send_code) so the agent can place it in the flow without opening the 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 an explicit precondition ("Only call it when the person has asked to join") and a next-step pointer to partner_send_code. It stops short of naming a true alternative for the other branch, but the when-to-call gate is unambiguous.

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