Skip to main content
Glama

Get user profile

get_user_profile
Read-only

Retrieve the stored person profile (research document) for a user in the workspace. Returns a structured object with researched_on, person_name, person_url and a role classification (value/source/confidence). IMPORTANT — rendering instructions: do NOT dump raw JSON, bullet lists of keys, or plain text paragraphs in chat. After fetching, render the document as a self-contained editable UI (React or HTML artifact) — the user must review and edit the role inline.

Use when: Use when the user wants to view or edit the researched role for a person in the workspace. After the tool returns, IMMEDIATELY render the editable artifact UI in the same turn — do not summarize the JSON in prose. If no document exists yet, trigger GenerateUserResearch first, then call get_user_profile again when ready.

Behavior: read_only

workspace_id / user_id are injected from request headers.

Next steps (after this tool succeeds): [REQUIRED] [ACTION] → call update_user_profile: MANDATORY same turn: render the returned data as an editable person profile artifact UI with the role field and a Save button wired to update_user_profile. Do NOT echo JSON or field values as chat text.

Also returns pagination info (researched_on, person_name, person_url, role, next_15_days_focus, next_90_days_focus).

Input Schema

NameRequiredDescriptionDefault
user_idNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / _triggered_by
      Removed value: -{
      -  "default": "",
      -  "description": "REQUIRED. Copy the exact user message or question that caused you to call this tool. Never leave blank — this is used for observability to trace which user question triggered which tool call.",
      -  "type": "string"
      -}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint, so safety is covered; the description adds genuinely new behavioral context (read-only nature restated, dependency on GenerateUserResearch, pagination-ish return fields, mandatory same-turn rendering). The heavy 'IMPORTANT — rendering instructions' is domain-specific but does disclose post-call behavior beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and readable, but the rendering instruction ('do NOT dump raw JSON...') is repeated three times across the description, 'Use when' block, and 'Next steps', and the returned-field list duplicates the output schema. Length is not matched by unique information.

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 read-only fetch with an output schema and annotation coverage, the definition supplies the key missing pieces: read-only behavior, ordering dependency on GenerateUserResearch, and the required follow-on call. Return-value enumeration is redundant given the output schema, and parameter format is left unspecified, keeping it just short of full.

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 coverage is 0%, so the description must carry the load. It only notes that 'workspace_id / user_id are injected from request headers', which adds meaning for injection but leaves the single user_id parameter's type/format/requiredness unexplained (the schema lists it as an optional string). Baseline is adjusted down since the gap isn't fully compensated.

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 verb and resource ('Retrieve the stored person profile (research document) for a user in the workspace') and clarifies the returned structure. This distinguishes it from siblings like get_company_profile and get_current_user, so an agent can select it without opening the schema.

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?

Gives explicit when-to-use ('view or edit the researched role for a person in the workspace') plus a documented alternative path ('if no document exists yet, trigger GenerateUserResearch first, then call get_user_profile again'). The next-steps block names update_user_profile as the follow-on action, so routing is unambiguous.

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