Skip to main content
Glama

update_profile

DestructiveIdempotent

Edit a profile you own (needs a key). Send markdown, a whole OpenProfile.md that replaces what you wrote before, or any of name, headline, emoji, pronouns, web, identity (key: value, null removes), sections (name: body, none removes), handle, public. What you write wins over every source and survives every re-read.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "ref": "<ref>"
    },
    "name": "update_profile"
  }
}

Input Schema

NameRequiredDescriptionDefault
refYesProfile id, slug-id or handle, e.g. 4821, ada-lovelace-4821 or ada
webNoYour home page (Website, Homepage and Site are the same key); empty removes
nameNoDisplay name, e.g. Ada Lovelace
emojiNoYour mark next to your name: one emoji or an OpenEmoji :shortcode:; empty removes
handleNoYour URL handle, lowercase letters, digits and dashes, e.g. ada for /c/profiles/ada
publicNoListed and pulled by other directories
headlineNoOne-line headline, e.g. Founder at Example Labs
identityNoIdentity keys: Kind, Emoji, Pronouns, Web, Email, Location, ...; null removes
markdownNoA complete OpenProfile.md document as Markdown, starting "# Name"
pronounsNoAs you write them (she/her, they/them, any); empty removes, never inferred
sectionsNoSection bodies by name (accounts, topics, broadcast, guest, ...); the word none removes one

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / handle / description
      Previous value: -"Your URL: /c/profiles/<handle>"New value: +"Your URL handle, lowercase letters, digits and dashes, e.g. ada for /c/profiles/ada"
    • changedInput schema / properties / headline / description
      Previous value: -"One line"New value: +"One-line headline, e.g. Founder at Example Labs"
    • changedInput schema / properties / markdown / description
      Previous value: -"A complete OpenProfile.md"New value: +"A complete OpenProfile.md document as Markdown, starting \"# Name\""
    • changedInput schema / properties / name / description
      Previous value: -"The name"New value: +"Display name, e.g. Ada Lovelace"
    • changedInput schema / properties / ref / description
      Previous value: -"Profile id, slug-id or handle"New value: +"Profile id, slug-id or handle, e.g. 4821, ada-lovelace-4821 or ada"
  2. Changed4 schema fields changed
    • addedInput schema / properties / emoji
      Added value: +{
      +  "description": "Your mark next to your name: one emoji or an OpenEmoji :shortcode:; empty removes",
      +  "type": "string"
      +}
    • changedInput schema / properties / identity / description
      Previous value: -"Identity keys: Kind, Web, Email, Location, ...; null removes"New value: +"Identity keys: Kind, Emoji, Pronouns, Web, Email, Location, ...; null removes"
    • addedInput schema / properties / pronouns
      Added value: +{
      +  "description": "As you write them (she/her, they/them, any); empty removes, never inferred",
      +  "type": "string"
      +}
    • addedInput schema / properties / web
      Added value: +{
      +  "description": "Your home page (Website, Homepage and Site are the same key); empty removes",
      +  "type": "string"
      +}
  3. Added

TDQS

A4/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: it explains that `markdown` performs a whole-document replacement, that individual `identity` values are removed with null and `sections` with the word none, and that written values take precedence over all other sources and persist across re-reads. This is exactly the destructive/idempotent behavior an agent needs, consistent with destructiveHint=true and idempotentHint=true.

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?

Two sentences, front-loaded with the verb and the auth requirement, then the parameter summary. The long field enumeration is justified by the 11 parameters, though the list could be trimmed since the schema already names them.

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 an 11-parameter, nested-object, destructive mutation with no output schema, the description covers modes, removal semantics, and precedence well. It leaves one meaningful gap: whether omitting a field leaves the existing value untouched (partial-patch semantics) is only inferable, not stated.

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 baseline is 3, but the description contributes the crucial mode distinction the schema does not make explicit: either send a complete `markdown` document or patch individual fields. It also previews the nested-object syntax ("key: value", "name: body"), which helps an agent construct valid nested payloads.

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?

States a specific verb and resource ("Edit a profile") plus an ownership/auth constraint ("you own (needs a key)") that separates it from read-only siblings like get_profile or search_profiles. It never names those siblings explicitly, so the agent must infer the routing rather than being told.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The prerequisite "needs a key" and the ownership restriction give real usage context, but no explicit alternatives or when-not cases are given (e.g. use claim_profile first, use get_profile to read). Usage is implied rather than prescribed.

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.