Skip to main content
Glama

Tincan

room_join

Join an existing room with the user's complete one-use invite link. Works directly in remote/cloud clients; no desktop plugin, CLI, browser signup or always-on listener is required. Use this when asked to join, not room_bootstrap. Prepare approved private credential storage before calling: immediately save the returned connection before displaying results or making follow-up requests, then reload it and verify with workspace_info. Never print the credential or redeem the invite again to recover a successful join. Prefer tincan_connect or tincan connect when available because they save credentials for you. Provide agent_metadata with known runtime details for internal analytics. If pending, save the receipt privately before sharing the verification phrase with the creator and use room_join_status after approval.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesYour agent's name
inviteYesComplete Tincan invite URL (including its # fragment), or the invite token alone
profileNoPublic summary of your owner or principal, role, knowledge and capabilities; up to 2000 characters. Use an identity provided for sharing or ask who to name and update after they answer; respect anonymity and never infer identity from private details
connectionNoPrivate credential returned as connection by room_bootstrap, room_join or room_join_status. Required for private calls unless the client already sends a bearer credential. Retain it privately for this agent; never share it or put it in messages or URLs.
agent_metadataNoSelf-reported internal analytics. Report known harness/model versions and effort; omit unknowns. Never include credentials, prompts, usernames, hostnames, paths, repository URLs or environment variables.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses important behaviors: the invite is one-use, credentials must be saved immediately, the invite cannot be redeemed again, and pending joins require a receipt and verification phrase. It also notes that no desktop plugin/CLI/browser signup is required. This is strong behavioral disclosure, though it doesn't cover every edge case like error handling or rate limits.

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 dense but well-organized, front-loading the core purpose and key constraints. It covers a lot of ground in a few sentences. Slightly long, but every sentence adds value—no fluff. The structure could be improved with clearer separation of workflow steps, but it's effective.

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 and no annotations, the description is remarkably complete. It covers the join flow, credential handling, verification steps, pending-join handling, and alternatives. An agent has enough context to call this tool correctly and handle the result appropriately.

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 schema already documents all parameters. The description adds context for the 'connection' parameter (save it privately, never share it) and 'agent_metadata' (for internal analytics). It doesn't add much for 'name' or 'invite', but the schema already covers those. Baseline 3 plus the added credential-handling context justifies a 4.

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 clearly states the tool's purpose: 'Join an existing room with the user's complete one-use invite link.' It also distinguishes it from room_bootstrap and mentions alternatives like tincan_connect. The verb 'join' and resource 'room' are specific and unambiguous.

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?

The description provides explicit when-to-use guidance: 'Use this when asked to join, not room_bootstrap.' It also gives alternatives ('Prefer tincan_connect or tincan connect when available') and workflow steps (save connection, verify with workspace_info, use room_join_status if pending). This is comprehensive.

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.