Skip to main content
Glama

独行录 / opcmenu

申请加入组织

apply_to_organization
Idempotent

登录;真提交且管理员可见;先get_organization(includeTermsBody=true)展示协议标题/全文及每题答案,本人明确确认同意后申请。有协议须currentTerms.id及acceptTerms=true;无协议两项省略。43位invitationToken预批准,当场入会。已有成员/PENDING幂等返回既有记录,非新进展,勿重复。answers.key仅formFields所给;joined=true已入会、pendingReview=true等审,后续submit_signup。

Input Schema

NameRequiredDescriptionDefault
answersNo
acceptTermsNo
organizationIdYes组织 id
termsVersionIdNo
invitationTokenNo
acceptContactSharingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / acceptContactSharing
      Added value: +{
      +  "type": "boolean"
      +}
  2. Added

TDQS

A4.1/5.0
Behavior3/5

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

The description carries real behavior beyond the annotations: login is required, the submission is genuinely persisted and visible to admins, a 43-character invitationToken causes immediate admission, and duplicate calls return the existing record rather than creating new progress. That materially extends idempotentHint=true, though it leaves acceptContactSharing and the shape of the returned record (beyond joined/pendingReview) unexplained.

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?

Dense but nearly every clause carries operational information; nothing is padding. It is a run-on semicolon chain rather than a structured list, and it opens with the low-value 'login' note instead of front-loading the agreement pre-check workflow.

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 six-parameter mutation with nested answers, no output schema and no enum coverage, the description supplies the prerequisite tool call, the conditional parameter rule, the invitation shortcut, the idempotency behavior, and the meaning of the joined/pendingReview response flags. An agent can execute this correctly without further lookup.

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?

With only 17% schema description coverage, the description does the heavy lifting: it explains acceptTerms and termsVersionId as a pair gated on the presence of an agreement, describes invitationToken's pre-approval semantics and its 43-character format, and constrains answers keys to those supplied by formFields. acceptContactSharing is never mentioned, and 'currentTerms.id' does not match the actual parameter name termsVersionId, which costs a point.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description conveys a specific action+resource: a real, admin-visible membership application with the agreement-confirmation precondition. It implicitly distinguishes itself from invite-response flows (respond_organization_invite) and from the follow-on submit_signup, but it never states plainly 'apply to join an organization' — the purpose must be inferred from the title and the surrounding clauses.

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 sequencing: call get_organization(includeTermsBody=true) first, show agreement title/full text and each question's answer, obtain explicit user consent, then apply. It also gives the branching rule (with agreement: currentTerms.id + acceptTerms=true; without: omit both) and the do-not-repeat rule when the result is an existing member or PENDING record.

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