Skip to main content
Glama

Set person

set_person
Destructive

Add a person to a project's register, or change the one named by 'id': add spellings and facts, remove them, change the name shown or the note, and confirm or reject a proposed person with 'state'. A spelling or fact given with 'source' (the page, issue or comment you READ it in: 'page:471', 'PM-12', 'comment:88', 'wikicomment:7' or an address) and 'quote' (the source's own words that hold it) is checked now, and refused if the quote is not there or does not hold it. One without a source or quote is written UNCHECKED and the answer's 'unchecked' lists it — so write a name from memory only when the person asked for it, and never invent initials. A spelling the person already has is written over with the source you give. What you leave out stays. A person written here is confirmed at once. Members of the project who may write only. Only where the company's plan includes AI.

Input Schema

NameRequiredDescriptionDefault
idNoThe person to change, as list_persons or find_person returned them. Leave out to add one.
nameNoThe name shown first — one of the person's spellings, e.g. 'Гупта'; a new one becomes a spelling.
noteNoWhy this person is here, in a line — at most 600 characters.
factsNoFacts to add, as a JSON array: [{"kind":"born","value":"1938","source":"page:471","quote":"…(1938–2019)…"}]. 'kind' is born, died (a year or a date), wikidata (Q…), mathGenealogy, mrAuthor (digits) or orcid.
stateNo'confirmed' or 'rejected' — to decide a proposed person.
projectNoThe project key, for a new person.
spellingsNoSpellings to add, as a JSON array: [{"text":"N. D. Gupta","form":"full","source":"page:471","quote":"N. D. Gupta, The dimension subgroup conjecture…","place":"Источники"}]. 'form' is 'full', 'surname' or 'inflected' (a declined form, «Гупты»); left out, it is worked out.
removeFactsNoFacts to remove, as 'kind:value', comma-separated — 'born:1938'.
removeSpellingsNoSpellings to remove, by their text, comma-separated.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the destructiveHint=true annotation: it discloses the verification gate (refused if the quote is absent or doesn't contain the fact), the UNCHECKED fallback and the response's 'unchecked' list, that existing spellings are overwritten with the supplied source, that omitted fields are left untouched, immediate confirmation, plus write-permission and plan gating.

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?

Front-loaded with the core action, then dense but purposeful rules; near every sentence adds a decision-relevant constraint. The middle section is a long run-on chain of clauses that could be broken into shorter sentences for scanning.

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?

With nine optional parameters and a destructive mutation, the description covers permissions, plan gating, validation behavior and partial-update semantics. Since there is no output schema, the response shape is only sketched via the 'unchecked' field, leaving the rest of the return payload unspecified.

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; the description earns more by explaining cross-parameter semantics the schema doesn't: source formats ('page:471', 'PM-12', 'comment:88'), what makes a quote valid, and the overwrite rule when a spelling already exists. It stops short of clarifying precedence between name and spellings or the interaction of state with id.

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?

The opening clause states a specific verb and resource: 'Add a person to a project's register, or change the one named by id', and enumerates the sub-operations (spellings, facts, name, note, state). It implicitly separates from delete_person/merge_persons by being additive/mutating, but it never addresses the obvious overlap with the sibling decide_persons, which the 'state' parameter partially duplicates.

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?

Gives concrete conditional rules: attach source+quote when you read the fact somewhere, write unchecked only when the person asked for it, never invent initials, and leave fields out to preserve them. It does not, however, say when to call decide_persons instead of passing state='confirmed'/'rejected' here.

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