Skip to main content
Glama
railyard-sh

Railyard MCP Server

by railyard-sh

Invite someone to an organisation

invite_member
Idempotent

Invite an email address to join your organization with a specified role (viewer, editor, or owner) and send an invitation email. Requires owner permissions and a Team or Enterprise plan.

Instructions

Invite an email address to join an organisation at a role (default editor), and email them the invitation where the server has mail configured. Requires the OWNER role, and a current Team or Enterprise plan — a personal or Individual-plan org cannot add members (402), and neither can one whose plan has lapsed. Re-inviting a still-pending email updates its role. An address that is already a member is refused (409).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
orgNoOrganisation to target: an org id (org_…), slug, or name. Defaults to RAILYARD_ORG, or to your first (personal) org if that is unset. Use list_orgs to see the options.
roleNoRole to grant on acceptance: viewer (read-only), editor (can create and change projects) or owner (full control). Defaults to editor.
emailYesThe invitee's email address.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.5/5.0
Behavior5/5

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

Discloses side effects beyond annotations: sends email when mail is configured, requires ownership and plan, re-inviting updates role, and returns 409 for existing members. This enriches the idempotentHint and readOnlyHint=false annotations without contradiction.

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?

Four dense sentences, each earning its place: action/default, mail behavior, permission/plan constraints, and re-invite/conflict edge cases. Front-loaded with the primary purpose.

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?

Covers prerequisites, failure modes (402, 409), default role, and re-invite semantics, so an agent can call it correctly. No output schema exists, but return values are not needed for successful invocation.

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% and already documents org, role, and email, so the description is not required to compensate. It adds contextual behavior such as email delivery and default role, but little new parameter-level meaning.

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 the exact action: invite an email address to join an organisation with a role and email the invitation. This clearly differentiates from siblings that list, revoke, or accept invitations.

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?

Provides explicit preconditions: OWNER role, active Team/Enterprise plan, and notes when it will not succeed (personal/individual-plan or lapsed-plan orgs, already a member). It does not name sibling alternatives such as list_invites or revoke_invite, but gives clear context for when the action applies.

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