Skip to main content
Glama

Propose a change to an entry

propose_entry_change
Idempotent

Propose a change for a reviewer to decide — for any entry you may propose to, including ones you could edit live; nothing changes until a person approves it. Give only what changes; null clears a field. qid proposes linking the entry to a Wikidata item, or a different one (null: unlink it), with adopt naming the fields the item may manage (left out: the server’s default on a first link, unchanged on a re-point); only a reviewer with Manage entries may approve that. note tells the reviewer why. Audited. Dry run by default: it names the entries already on the item.

Input Schema

NameRequiredDescriptionDefault
qidNoThe Wikidata item to link the entry to, e.g. "Q42" (a different one re-points it); null unlinks it.
noteNoWhy you propose this, in plain words: posted as the proposal’s first comment, which the reviewer reads with it. At most 2,000 characters. Never an internal tracking ID (a backlog or ticket number); a VHID is fine.
adoptNoWith qid: the fields the item may manage; the rest are taken back by the site.
entryYesThe entry: its VHID (11 digits), its short name (as in verifiedhandles.org/<short>), or its Wikidata QID (Q42).
shortNo
titleNo
dry_runNotrue (the default): write nothing — show the change and the exact request it would send. false: make the change.
galleryNoThe images after the lead: the whole ordered list of media ids, replacing the gallery; [] empties it. At most 5, each once, never the lead.
subtitleNo
add_handlesNo
clear_imageNotrue: take the lead image off. At most one of image_media_id, image_commons_token and clear_image.
descriptionNo
handle_orderNoEvery handle, in the order the entry should show them: exactly the entry’s handles after add_handles and remove_handles, each once (a masked email by its ref).
image_media_idNoA new lead image already on the site (media_catalog, get_entry), or one you uploaded held for this proposal (upload_image or upload_image_from_url with hold: true): only its uploader may propose a held image, and the approval releases it.
remove_handlesNoHandles to take off, each by its value — or, for an email this key may not see (value null in get_entry’s editing.handles), by {platform_id: "email", ref}.
idempotency_keyNoOptional: a key you choose (1–255 printable ASCII, e.g. a UUID), sent as the write’s Idempotency-Key. Calling again with the same key and the same change within 24 hours answers the first call’s result (replayed: true) and writes nothing; the same key with another change is refused (422).
takeover_fieldsNoFields to take back from the Wikidata sync, keeping their values.
base_revision_idNoThe revision you read (get_entry → editing.baseRevisionId). If the entry has changed since, the edit is refused as a conflict. Left out, the current revision is used.
takeover_handlesNoHandles to take back from the Wikidata sync.
relinquish_fieldsNoFields to hand to the Wikidata sync.
relinquish_handlesNoHandles to hand to the Wikidata sync; only while Wikidata lists the value.
image_commons_tokenNoA new lead image from Wikimedia Commons: a hit’s `token` from search_commons_images. The file is recorded on the site first, as the editor’s picker does.
release_held_handlesNoHeld-back handles the sync may add back.
credit_wikipedia_pageNoCredit the description “from Wikipedia”: an English Wikipedia article or draft, by title ("Draft:Dominic McLaughlin") or address. The server reads the page (redirects followed) and refuses it unless at least half of the description’s three-word phrases are the page’s lead (credit_text_differs, with the share).
remove_wikipedia_creditNotrue: remove the “from Wikipedia” credit from the description.
credit_let_wikidata_manageNoWith a draft named in credit_wikipedia_page: false keeps the description site-authored. By default a draft’s credit hands the description to the Wikidata sync, which leaves it alone until the draft is an article linked from the entry’s Wikidata item.

Output Schema

NameRequiredDescriptionDefault
noteNoA dry run: what to do next to make the change, in words.
resultNoA real run: the route’s own answer, where the tool adds facts of its own beside it.
confirmNoA dry run of a change that needs it: the exact target to send back as `confirm` with dry_run: false.
dry_runNotrue: a dry run, which wrote nothing. Absent from a real run.
replayedNoA real run with an idempotency_key already used for this change: the first call’s answer, given back; nothing was written now.
would_sendNoA dry run: the exact request the real run would send (`method`, `path`, any `headers` such as an Idempotency-Key, and its `body`, `form` or `query`), or the requests, in order.
may_edit_liveNoA dry run of a live edit: whether this key’s account may edit this entry live.
refused_becauseNoA dry run the real run would be refused for: why, in words.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (which only say non-readonly, idempotent, non-destructive): it discloses that nothing changes until a person approves, that a reviewer with Manage entries is required to approve a qid link, that the operation is audited, and critically that it is 'dry run by default' and what the dry run returns. These are high-value behavioral facts not derivable from 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.

Conciseness4/5

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

Front-loaded with the core propose-for-approval framing and the dry-run default; sentences are dense but purposeful. It is on the longer side for a one-paragraph description, though for a 26-parameter tool the length is largely earned.

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 26-parameter, 81%-covered mutation tool with an output schema, the description covers the highest-risk behaviors: approval gating, dry-run default, audit, and the qid/adopt interaction. It omits some parameters (gallery, idempotency, revision conflict) but those are documented in the schema, so the description is nearly complete for what an agent must understand before calling.

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?

The description adds real meaning beyond the 81%-covered schema: null clears a field, qid links/re-points/unlinks with adopt controlling managed fields and the server default on first link, and note is framed as the reviewer's rationale. Minor gaps: it doesn't mention idempotency_key, base_revision_id, gallery, or handle ordering, but the schema documents those and coverage is high.

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?

The description states a specific verb+resource (propose a change for a reviewer to decide) and immediately distinguishes itself from live editing: 'for any entry you may propose to, including ones you could edit live.' Combined with the title and the 'nothing changes until a person approves it' framing, an agent can tell this apart from update_entry_fields/update_entries 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 Guidelines4/5

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

It establishes when to use it ('including ones you could edit live', propose vs. direct edit) and the key precondition that a reviewer must approve. It does not explicitly name the live-edit siblings or explain when to choose propose_entry_changes (bulk) versus this tool, so it stops short of full when/when-not routing.

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.