Skip to main content
Glama

User

user
Read-only

Fastio user account (read): profile, contacts, limits, shares, invitations, assets. Writes are on user_manage.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of items to return (1-500, default 100)
queryNoContact search substring.
actionYesOperation; 'describe' lists the actions.
offsetNoNumber of items to skip (default 0)
user_idNo19-digit user ID or email.
archivedNotrue: archived shares; false: active.
display_limitNolist-shares row cap (default 10, max 500), applied after the fetch.
invitation_idNoInvitation opaque ID or key.
invitation_keyNoInvitation key.
describe_actionNoWith action='describe': return one action's params and notes instead of the action index.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed24 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation. Use 'describe' for full action reference."New value: +"Operation; 'describe' lists the actions."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "me",
      -  "update",
      -  "search-contacts",
      -  "close",
      -  "details-by-id",
      -  "profiles",
      -  "allowed",
      -  "org-limits",
      -  "list-shares",
      -  "invitation-list",
      -  "invitation-details",
      -  "accept-all-invitations",
      -  "asset-upload",
      -  "asset-delete",
      -  "asset-types",
      -  "asset-list",
      -  "report-bug"
      -]New value: +[
      +  "describe",
      +  "me",
      +  "search-contacts",
      +  "details-by-id",
      +  "profiles",
      +  "allowed",
      +  "org-limits",
      +  "list-shares",
      +  "invitation-list",
      +  "invitation-details",
      +  "asset-types",
      +  "asset-list"
      +]
    • changedInput schema / properties / archived / description
      Previous value: -"True for archived shares, false for active."New value: +"true: archived shares; false: active."
    • removedInput schema / properties / asset_name
      Removed value: -{
      -  "description": "Asset type name (e.g. profile_pic).",
      -  "type": "string"
      -}
    • removedInput schema / properties / blob
      Removed value: -{
      -  "description": "report-bug: plain-text excerpt (error body, short log), max 32 KB. No secrets or file content.",
      -  "type": "string"
      -}
    • removedInput schema / properties / category
      Removed value: -{
      -  "description": "report-bug: area of the suspected platform defect.",
      -  "enum": [
      -    "api",
      -    "mcp",
      -    "docs",
      -    "auth",
      -    "storage",
      -    "ai",
      -    "billing",
      -    "other"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / confirmation
      Removed value: -{
      -  "description": "Email or user ID confirmation for account close.",
      -  "type": "string"
      -}
    • removedInput schema / properties / content
      Removed value: -{
      -  "description": "Plain text content for asset upload.",
      -  "type": "string"
      -}
    • removedInput schema / properties / content_base64
      Removed value: -{
      -  "description": "Base64-encoded binary content.",
      -  "type": "string"
      -}
    • removedInput schema / properties / content_type
      Removed value: -{
      -  "description": "MIME type.",
      -  "type": "string"
      -}
    • changedInput schema / properties / describe_action / description
      Previous value: -"When action='describe', narrow the output to ONE action's full params/notes (e.g. 'me'). Omit to get the compact action index."New value: +"With action='describe': return one action's params and notes instead of the action index."
    • removedInput schema / properties / description
      Removed value: -{
      -  "description": "report-bug: what you did, steps, expected vs actual. Max 8 KB. No secrets.",
      -  "type": "string"
      -}
    • changedInput schema / properties / display_limit / description
      Previous value: -"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list-shares."New value: +"list-shares row cap (default 10, max 500), applied after the fetch."
    • removedInput schema / properties / email_address
      Removed value: -{
      -  "description": "Email address.",
      -  "type": "string"
      -}
    • removedInput schema / properties / endpoint
      Removed value: -{
      -  "description": "report-bug: failing call as 'METHOD /path' — no host, no query string.",
      -  "type": "string"
      -}
    • removedInput schema / properties / error_code
      Removed value: -{
      -  "description": "report-bug: numeric error code of the failing call.",
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / filename
      Removed value: -{
      -  "description": "Original filename.",
      -  "type": "string"
      -}
    • removedInput schema / properties / first_name
      Removed value: -{
      -  "description": "Given name.",
      -  "type": "string"
      -}
    • removedInput schema / properties / http_status
      Removed value: -{
      -  "description": "report-bug: HTTP status of the failing call.",
      -  "maximum": 599,
      -  "minimum": 100,
      -  "type": "integer"
      -}
    • removedInput schema / properties / idempotency_key
      Removed value: -{
      -  "description": "report-bug: 16-64 chars [A-Za-z0-9_-]. Generated when omitted and returned — reuse it on a manual retry.",
      -  "type": "string"
      -}
    • removedInput schema / properties / last_name
      Removed value: -{
      -  "description": "Family name.",
      -  "type": "string"
      -}
    • removedInput schema / properties / occurred_at
      Removed value: -{
      -  "description": "report-bug: when it happened, 'YYYY-MM-DD HH:MM:SS UTC' (last 30 days).",
      -  "type": "string"
      -}
    • removedInput schema / properties / request_id
      Removed value: -{
      -  "description": "report-bug: request_id from the failed tool result (the call's x-ve-reqid).",
      -  "type": "string"
      -}
    • removedInput schema / properties / title
      Removed value: -{
      -  "description": "report-bug: one-line summary, 1-200 chars.",
      -  "type": "string"
      -}
  2. Changed11 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "me",
      -  "update",
      -  "search-contacts",
      -  "close",
      -  "details-by-id",
      -  "profiles",
      -  "allowed",
      -  "org-limits",
      -  "list-shares",
      -  "invitation-list",
      -  "invitation-details",
      -  "accept-all-invitations",
      -  "asset-upload",
      -  "asset-delete",
      -  "asset-types",
      -  "asset-list"
      -]New value: +[
      +  "describe",
      +  "me",
      +  "update",
      +  "search-contacts",
      +  "close",
      +  "details-by-id",
      +  "profiles",
      +  "allowed",
      +  "org-limits",
      +  "list-shares",
      +  "invitation-list",
      +  "invitation-details",
      +  "accept-all-invitations",
      +  "asset-upload",
      +  "asset-delete",
      +  "asset-types",
      +  "asset-list",
      +  "report-bug"
      +]
    • addedInput schema / properties / blob
      Added value: +{
      +  "description": "report-bug: plain-text excerpt (error body, short log), max 32 KB. No secrets or file content.",
      +  "type": "string"
      +}
    • addedInput schema / properties / category
      Added value: +{
      +  "description": "report-bug: area of the suspected platform defect.",
      +  "enum": [
      +    "api",
      +    "mcp",
      +    "docs",
      +    "auth",
      +    "storage",
      +    "ai",
      +    "billing",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / description
      Added value: +{
      +  "description": "report-bug: what you did, steps, expected vs actual. Max 8 KB. No secrets.",
      +  "type": "string"
      +}
    • addedInput schema / properties / endpoint
      Added value: +{
      +  "description": "report-bug: failing call as 'METHOD /path' — no host, no query string.",
      +  "type": "string"
      +}
    • addedInput schema / properties / error_code
      Added value: +{
      +  "description": "report-bug: numeric error code of the failing call.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedInput schema / properties / http_status
      Added value: +{
      +  "description": "report-bug: HTTP status of the failing call.",
      +  "maximum": 599,
      +  "minimum": 100,
      +  "type": "integer"
      +}
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "description": "report-bug: 16-64 chars [A-Za-z0-9_-]. Generated when omitted and returned — reuse it on a manual retry.",
      +  "type": "string"
      +}
    • addedInput schema / properties / occurred_at
      Added value: +{
      +  "description": "report-bug: when it happened, 'YYYY-MM-DD HH:MM:SS UTC' (last 30 days).",
      +  "type": "string"
      +}
    • addedInput schema / properties / request_id
      Added value: +{
      +  "description": "report-bug: request_id from the failed tool result (the call's x-ve-reqid).",
      +  "type": "string"
      +}
    • addedInput schema / properties / title
      Added value: +{
      +  "description": "report-bug: one-line summary, 1-200 chars.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / display_limit / description
      Previous value: -"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to…"New value: +"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list-shares."
  4. Changed2 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "me",
      -  "update",
      -  "search-contacts",
      -  "close",
      -  "details-by-id",
      -  "profiles",
      -  "allowed",
      -  "org-limits",
      -  "list-shares",
      -  "invitation-list",
      -  "invitation-details",
      -  "accept-all-invitations",
      -  "asset-upload",
      -  "asset-delete",
      -  "asset-types",
      -  "asset-list",
      -  "instructions-get",
      -  "instructions-set",
      -  "instructions-clear"
      -]New value: +[
      +  "describe",
      +  "me",
      +  "update",
      +  "search-contacts",
      +  "close",
      +  "details-by-id",
      +  "profiles",
      +  "allowed",
      +  "org-limits",
      +  "list-shares",
      +  "invitation-list",
      +  "invitation-details",
      +  "accept-all-invitations",
      +  "asset-upload",
      +  "asset-delete",
      +  "asset-types",
      +  "asset-list"
      +]
    • changedInput schema / properties / content / description
      Previous value: -"Plain text content (asset upload or instructions body, max 65536 bytes UTF-8 for instructions)."New value: +"Plain text content for asset upload."
  5. Changed2 schema fields changed
    • addedInput schema / properties / describe_action
      Added value: +{
      +  "description": "When action='describe', narrow the output to ONE action's full params/notes (e.g. 'me'). Omit to get the compact action index.",
      +  "type": "string"
      +}
    • changedInput schema / properties / display_limit / description
      Previous value: -"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list-shares."New value: +"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to…"
  6. Changed12 schema fields changed
    • removedInput schema / properties / display_limit / anyOf
      Removed value: -[
      -  {
      -    "maximum": 500,
      -    "minimum": 1,
      -    "type": "integer"
      -  },
      -  {
      -    "pattern": "^-?\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / display_limit / maximum
      Added value: +500
    • addedInput schema / properties / display_limit / minimum
      Added value: +1
    • addedInput schema / properties / display_limit / type
      Added value: +"integer"
    • removedInput schema / properties / limit / anyOf
      Removed value: -[
      -  {
      -    "maximum": 500,
      -    "minimum": 1,
      -    "type": "integer"
      -  },
      -  {
      -    "pattern": "^-?\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / limit / maximum
      Added value: +500
    • addedInput schema / properties / limit / minimum
      Added value: +1
    • addedInput schema / properties / limit / type
      Added value: +"integer"
    • removedInput schema / properties / offset / anyOf
      Removed value: -[
      -  {
      -    "maximum": 9007199254740991,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  {
      -    "pattern": "^-?\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / offset / minimum
      Added value: +0
    • addedInput schema / properties / offset / type
      Added value: +"integer"
  7. Changed25 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation to perform"New value: +"Operation. Use 'describe' for full action reference."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "me",
      -  "update",
      -  "search-contacts",
      -  "close",
      -  "details-by-id",
      -  "profiles",
      -  "allowed",
      -  "org-limits",
      -  "list-shares",
      -  "invitation-list",
      -  "invitation-details",
      -  "accept-all-invitations",
      -  "asset-upload",
      -  "asset-delete",
      -  "asset-types",
      -  "asset-list",
      -  "instructions-get",
      -  "instructions-set",
      -  "instructions-clear"
      -]New value: +[
      +  "describe",
      +  "me",
      +  "update",
      +  "search-contacts",
      +  "close",
      +  "details-by-id",
      +  "profiles",
      +  "allowed",
      +  "org-limits",
      +  "list-shares",
      +  "invitation-list",
      +  "invitation-details",
      +  "accept-all-invitations",
      +  "asset-upload",
      +  "asset-delete",
      +  "asset-types",
      +  "asset-list",
      +  "instructions-get",
      +  "instructions-set",
      +  "instructions-clear"
      +]
    • changedInput schema / properties / archived / description
      Previous value: -"True to show archived shares, false for active (used by: list-shares)"New value: +"True for archived shares, false for active."
    • changedInput schema / properties / asset_name / description
      Previous value: -"Asset type name (e.g. profile_pic) (required for: asset-upload, asset-delete)"New value: +"Asset type name (e.g. profile_pic)."
    • changedInput schema / properties / confirmation / description
      Previous value: -"User's email address or user ID as confirmation (required for: close)"New value: +"Email or user ID confirmation for account close."
    • changedInput schema / properties / content / description
      Previous value: -"Plain text content. For asset-upload: e.g. an SVG body, used instead of content_base64 for text-based assets. For instructions-set: full markdown body that replaces the personal AI instructions slot (max 65536 bytes UTF-8). (used by: asset-upload, instructions-set)"New value: +"Plain text content (asset upload or instructions body, max 65536 bytes UTF-8 for instructions)."
    • changedInput schema / properties / content_base64 / description
      Previous value: -"Base64-encoded file content (for binary files). Use content for text. (used by: asset-upload)"New value: +"Base64-encoded binary content."
    • changedInput schema / properties / content_type / description
      Previous value: -"MIME type (e.g. image/png) (used by: asset-upload)"New value: +"MIME type."
    • addedInput schema / properties / display_limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 500,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    {
      +      "pattern": "^-?\\d+$",
      +      "type": "string"
      +    }
      +  ],
      +  "description": "How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list-shares."
      +}
    • changedInput schema / properties / email_address / description
      Previous value: -"Updated email address (used by: update)"New value: +"Email address."
    • changedInput schema / properties / filename / description
      Previous value: -"Original filename (e.g. photo.png) (used by: asset-upload)"New value: +"Original filename."
    • changedInput schema / properties / first_name / description
      Previous value: -"Updated first name (used by: update)"New value: +"Given name."
    • changedInput schema / properties / invitation_id / description
      Previous value: -"Invitation opaque ID or invitation key (required for: invitation-details)"New value: +"Invitation opaque ID or key."
    • changedInput schema / properties / invitation_key / description
      Previous value: -"Optional invitation key for users without validated email (used by: invitation-list, accept-all-invitations)"New value: +"Invitation key."
    • changedInput schema / properties / last_name / description
      Previous value: -"Updated last name (used by: update)"New value: +"Family name."
    • addedInput schema / properties / limit / anyOf
      Added value: +[
      +  {
      +    "maximum": 500,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^-?\\d+$",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / limit / maximum
      Removed value: -500
    • removedInput schema / properties / limit / minimum
      Removed value: -1
    • removedInput schema / properties / limit / type
      Removed value: -"integer"
    • addedInput schema / properties / offset / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^-?\\d+$",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / offset / minimum
      Removed value: -0
    • removedInput schema / properties / offset / type
      Removed value: -"integer"
    • changedInput schema / properties / query / description
      Previous value: -"Name or email substring to search your contacts (people you've interacted with before). Returns {email: name} — no user_id. (required for: search-contacts)"New value: +"Contact search substring."
    • changedInput schema / properties / user_id / description
      Previous value: -"19-digit numeric user ID or email (required for: details-by-id, asset-upload, asset-delete, asset-list)"New value: +"19-digit user ID or email."
  8. Changed2 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "me",
      -  "update",
      -  "search-contacts",
      -  "close",
      -  "details-by-id",
      -  "profiles",
      -  "allowed",
      -  "org-limits",
      -  "list-shares",
      -  "invitation-list",
      -  "invitation-details",
      -  "accept-all-invitations",
      -  "asset-upload",
      -  "asset-delete",
      -  "asset-types",
      -  "asset-list"
      -]New value: +[
      +  "me",
      +  "update",
      +  "search-contacts",
      +  "close",
      +  "details-by-id",
      +  "profiles",
      +  "allowed",
      +  "org-limits",
      +  "list-shares",
      +  "invitation-list",
      +  "invitation-details",
      +  "accept-all-invitations",
      +  "asset-upload",
      +  "asset-delete",
      +  "asset-types",
      +  "asset-list",
      +  "instructions-get",
      +  "instructions-set",
      +  "instructions-clear"
      +]
    • changedInput schema / properties / content / description
      Previous value: -"Plain text content (e.g. SVG). Use this instead of content_base64 for text-based assets. (used by: asset-upload)"New value: +"Plain text content. For asset-upload: e.g. an SVG body, used instead of content_base64 for text-based assets. For instructions-set: full markdown body that replaces the personal AI instructions slot (max 65536 bytes UTF-8). (used by: asset-upload, instructions-set)"
  9. Changed2 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "me",
      -  "update",
      -  "search",
      -  "close",
      -  "details-by-id",
      -  "profiles",
      -  "allowed",
      -  "org-limits",
      -  "list-shares",
      -  "invitation-list",
      -  "invitation-details",
      -  "accept-all-invitations",
      -  "asset-upload",
      -  "asset-delete",
      -  "asset-types",
      -  "asset-list"
      -]New value: +[
      +  "me",
      +  "update",
      +  "search-contacts",
      +  "close",
      +  "details-by-id",
      +  "profiles",
      +  "allowed",
      +  "org-limits",
      +  "list-shares",
      +  "invitation-list",
      +  "invitation-details",
      +  "accept-all-invitations",
      +  "asset-upload",
      +  "asset-delete",
      +  "asset-types",
      +  "asset-list"
      +]
    • changedInput schema / properties / query / description
      Previous value: -"Search query (name or email) (required for: search)"New value: +"Name or email substring to search your contacts (people you've interacted with before). Returns {email: name} — no user_id. (required for: search-contacts)"
  10. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds the read/write boundary and the redirect to user_manage, which is useful context, but says nothing about pagination behavior, rate limits, or auth requirements for a 12-action tool.

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?

Two clauses, zero filler, and the resource scope is front-loaded before the sibling redirect. Every word earns its place.

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?

For a 10-parameter read-only tool with no output schema, the description plus 100% schema coverage and a built-in 'describe' action give an agent enough to invoke it correctly. The remaining gap is routing among the other read-oriented siblings, which the description does not address.

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%, so every parameter is already documented in the schema, including the 12-value action enum and the 'describe' self-documentation action. The description adds no parameter-level meaning beyond the schema, which is the baseline-3 case.

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 a specific resource (Fastio user account) and a clear scope (read: profile, contacts, limits, shares, invitations, assets). The parenthetical '(read)' plus the enumerated resource list lets an agent distinguish it from user_manage and from other read siblings at a glance.

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?

Explicitly routes write operations to `user_manage`, which is a concrete when-not-to-use signal. It stops short of distinguishing this tool from other read siblings such as member, invitation, or share, so it is not a full alternative map.

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