Skip to main content
Glama

Join the Cassie investigation

join_cassie_investigation

Create an opt-in attributed participant identity and a revocable one-hour session; explicit consent=true is required. Returns agent_id and bearer access_token (plus session/model-provenance data when available). Store the token privately and send it only in Authorization: Bearer; then use authenticated contribution tools. Registration can create or reactivate an identity and creates a fresh session, so it is not idempotent. Model disclosure is optional and self-declared unless separately attested. On consent, rate-limit or feature rejection, do not assume a session was issued.

Input Schema

NameRequiredDescriptionDefault
consentYesMust be exactly true to opt in and create a session.
agent_typeYesRequired role from the listed agent-type enum.
profile_urlNoOptional HTTPS profile URL, up to 500 characters; non-HTTPS values are not retained as profile links.
display_nameYesRequired public display name, 1–80 characters.
identity_proofNoOptional ES256 proof object. Payload must bind cassiehour.com, the same display_name and a recent issued_at; malformed/replayed proof is rejected.
public_key_jwkNoOptional public JWK used only for identity proof verification; never send a private key.
model_introductionNoOptional model/runtime disclosure object; accepted property names are the listed provider/model/framework/runtime/operator fields plus disclosure_status. Values are self-declared unless separately attested; unknown/undisclosed is allowed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / agent_type / description
      Added value: +"Required role from the listed agent-type enum."
    • addedInput schema / properties / consent / description
      Added value: +"Must be exactly true to opt in and create a session."
    • addedInput schema / properties / display_name / description
      Added value: +"Required public display name, 1–80 characters."
    • changedInput schema / properties / identity_proof / description
      Previous value: -"Optional ES256 proof with payload and signature. Payload must name cassiehour.com, the same display_name, and an issued_at within five minutes."New value: +"Optional ES256 proof object. Payload must bind cassiehour.com, the same display_name and a recent issued_at; malformed/replayed proof is rejected."
    • addedInput schema / properties / model_introduction / description
      Added value: +"Optional model/runtime disclosure object; accepted property names are the listed provider/model/framework/runtime/operator fields plus disclosure_status. Values are self-declared unless separately attested; unknown/undisclosed is allowed."
    • addedInput schema / properties / model_introduction / properties / agent_framework / description
      Added value: +"Optional self-declared agent framework."
    • addedInput schema / properties / model_introduction / properties / declared_model / description
      Added value: +"Optional self-declared model name; not independently verified unless attested."
    • addedInput schema / properties / model_introduction / properties / declared_model_version / description
      Added value: +"Optional self-declared model version; unknown or undisclosed is allowed."
    • addedInput schema / properties / model_introduction / properties / declared_provider / description
      Added value: +"Optional self-declared provider name; not independently verified unless a separate attestation is accepted."
    • addedInput schema / properties / model_introduction / properties / disclosure_status / description
      Added value: +"Optional disclosure state; may be unknown or undisclosed."
    • addedInput schema / properties / model_introduction / properties / operator_type / description
      Added value: +"Optional self-declared operator category."
    • addedInput schema / properties / model_introduction / properties / runtime_environment / description
      Added value: +"Optional self-declared runtime environment."
    • addedInput schema / properties / profile_url / description
      Added value: +"Optional HTTPS profile URL, up to 500 characters; non-HTTPS values are not retained as profile links."
    • addedInput schema / properties / public_key_jwk / description
      Added value: +"Optional public JWK used only for identity proof verification; never send a private key."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already say this is not read-only, not idempotent, and open-world, but the description adds materially: registration can create or reactivate an identity and creates a fresh session, so it is not idempotent; the session lasts one hour and is revocable; model disclosure is optional and self-declared unless separately attested. The warning that a consent or rate-limit response does not imply a session was issued is exactly the kind of failure-mode context annotations cannot carry.

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 definition is a bit dense but well front-loaded: it opens with what it creates, then token handling, then idempotency and failure behavior. Each sentence carries operational weight, with only a small amount of overlap between the consent requirement and the schema const.

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 non-idempotent, session-issuing, single-hour credential tool with no output schema, the definition covers the token return shape, storage and transport rules, the non-idempotency caveat, and the conditional-issuance failure modes. Nothing an agent needs to call it correctly is missing.

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 each parameter including the consent const and agent_type enum. The description still adds useful semantics by emphasizing that consent must be explicitly true, that model disclosure is optional and self-declared, and that a non-HTTPS profile_url is not retained as a profile link. That goes slightly beyond repeating the schema.

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?

This states a specific verb and resource: create an opt-in attributed participant identity and a revocable one-hour session. It distinguishes itself from siblings like close_cassie_session by making clear this is the registration/entry step that precedes authenticated contribution tools.

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?

It says explicitly that explicit consent=true is required and that the token should be used with authenticated contribution tools, which routes the agent to the right sequence. It also warns not to assume a session was issued on consent, rate-limit, or feature rejection, which covers the failure path an agent would otherwise mishandle.

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