Skip to main content
Glama

set_company_context

DestructiveIdempotent

Full-replace the company profile (Company Context): fields you leave out are cleared, so read it first with get_company_context. Use it only when the user asks to set or update their company or client profile; do not use it for one-off facts (create_memory). Blank values are omitted. Without workspace_id this sets the account-level profile (your personal default); an empty object clears it. With workspace_id it targets that workspace's client context: a linked company is full-replaced (every linked workspace updates at once); an unlinked workspace gets a NEW company created from the payload and linked atomically (one client-context slot, plan limit enforced); an empty object unlinks it (turns in it then use no company profile, the company item is kept). Requires company_context:write. It does not switch the profile on or off for answers.

Input Schema

NameRequiredDescriptionDefault
notesNoFree-form must-know (max 2000 chars)
scaleNoSize, for example headcount or revenue band
sectorNoIndustry sector, for example fintech or healthcare
data_typesNoKinds of data processed, for example customer personal data or health data
hq_countryNoHeadquarters country
tech_stackNoMain platforms and cloud providers
company_nameNoCompany legal or trading name
privacy_roleNocontroller | processor | both
workspace_idNoOptional workspace id (a UUID from list_workspaces) you own: set its client profile instead of the account default.
hosting_regionNoWhere systems and data are hosted, for example EU (Frankfurt)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / company_name / description
      Added value: +"Company legal or trading name"
    • addedInput schema / properties / data_types / description
      Added value: +"Kinds of data processed, for example customer personal data or health data"
    • addedInput schema / properties / hosting_region / description
      Added value: +"Where systems and data are hosted, for example EU (Frankfurt)"
    • addedInput schema / properties / hq_country / description
      Added value: +"Headquarters country"
    • addedInput schema / properties / scale / description
      Added value: +"Size, for example headcount or revenue band"
    • addedInput schema / properties / sector / description
      Added value: +"Industry sector, for example fintech or healthcare"
    • addedInput schema / properties / tech_stack / description
      Added value: +"Main platforms and cloud providers"
    • changedInput schema / properties / workspace_id / description
      Previous value: -"Optional: set this workspace's client profile instead of the account default (workspace you own)"New value: +"Optional workspace id (a UUID from list_workspaces) you own: set its client profile instead of the account default."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare destructiveHint/idempotent/readOnly; the description goes far beyond, spelling out that omitted fields are cleared, blank values are omitted, an empty object clears or unlinks, a linked company full-replace propagates to every linked workspace, an unlinked workspace creates a new company atomically with a plan limit enforced, and that company_context:write is required. It also closes a likely false assumption by noting it does not switch the profile on or off for answers.

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 destruction warning is correctly front-loaded, and almost every clause carries decision-relevant information. It loses a point for a single dense block and one garbled clause ("turns in it then use no company profile") that forces the agent to re-read the unlink behavior.

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 destructive, 10-parameter, output-schema-less mutation tool, this covers the destruction model, the prerequisite read, permission scope, alternative tools, and the full branching of workspace targeting. An agent has everything needed to call it correctly or correctly decline.

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 field-level meaning is already documented; the description adds genuinely new semantics only for workspace_id — account-level default when absent, workspace client context when present, and the divergent linked vs unlinked vs empty-object outcomes. The remaining nine fields get no added description-level meaning, which is acceptable given the fully documented 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?

Opens with a specific verb+resource combination ("Full-replace the company profile (Company Context)") that immediately distinguishes it from update_company and from get_company_context. The parenthetical naming of the object and the explicit full-replace framing let an agent tell it apart from siblings 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?

Explicitly states when to use it ("only when the user asks to set or update their company or client profile"), when not to ("do not use it for one-off facts (create_memory)"), and names a prerequisite read ("read it first with get_company_context"). It routes the agent to two alternatives by name with the conditions that select them.

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.