Skip to main content
Glama

Entry, as the Entry manager shows it

get_entry_admin
Read-only

The Entry manager’s card for one entry (deleted and merged ones too, by VHID): its status and policies, who manages each field (field_sources), when it was last synced (synced_at) and, after a failed fetch, when the sync tries again (retry_at), its merge state and duplicates on its QID, its recent history and its audit trail.

Input Schema

NameRequiredDescriptionDefault
entryYesThe entry: its VHID (11 digits), its short name (as in verifiedhandles.org/<short>), or its Wikidata QID (Q42).

Output Schema

NameRequiredDescriptionDefault
canYesWhat the caller may see and do here beyond managing it.
auditYesThe last 20 audit rows on it; empty without `view_audit`.
kindsNoThe kinds the Kind control offers, when `can.kind`: each kind’s id and its label (“musical group”).
mergeYes
toolsYesThe entry editor’s tools for the caller, as `GET /api/editor/{vhid}` gives them: `sync`, `syncBlockedBy` and `syncTypeOnly` (Sync from Wikidata now, `POST /api/entity/{vhid}/sync`), and with `review` the waiting proposals and reports to decide in place (`POST /api/entity/{vhid}/submissions/{id}/{decision}`).
entityYes
handlesYes
historyYesThe last 30 revisions, as the caller may see them.
renamedYesThe entry’s old short names, newest first, each a 301 here until another entry takes it; `DELETE /api/redirects/:key` removes one.
heldBackYesValues Wikidata lists as current that a person took off, so the sync does not add them back. An email’s are left out of both lists for an account that may not edit the entry (`can.edit` false), as its handle is masked.
linkNamesYesThe current name of each live entry the description links to, by VHID: its cross-links store only the VHID.
baseRevisionIdYesThe revision an edit is made against.
heldBackNotListedYesHeld back too, but Wikidata no longer lists them as current. Empty, like `heldBack`, without an item or on a protected or claimed entry.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedOutput schema / properties / entity / properties / delete_notice
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "wikidata_deleted",
      +        "not_eligible",
      +        "duplicate",
      +        "terms"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "A deleted entry’s public removal notice: its address answers 410 with that notice’s fixed line. Null = none: it 404s as if it never existed."
      +}
    • addedOutput schema / properties / entity / properties / delete_notice_title_hidden
      Added value: +{
      +  "description": "The notice leaves the entry’s name out.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / entity / properties / deleted_at
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "date-time",
      +      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "When it was deleted; null when live or merged, or deleted before the notice existed (2026-10-27)."
      +}
    • changedOutput schema / properties / entity / required
      Previous value: -[
      -  "vhid",
      -  "short",
      -  "qid",
      -  "title",
      -  "subtitle",
      -  "description",
      -  "entity_type",
      -  "kind_label",
      -  "entity_kind",
      -  "image_id",
      -  "image",
      -  "image_source",
      -  "gallery_count",
      -  "gallery",
      -  "gallery_logo",
      -  "image_links",
      -  "field_sources",
      -  "has_description",
      -  "description_credit",
      -  "description_source",
      -  "synced_at",
      -  "retry_at",
      -  "verified",
      -  "spotlight",
      -  "blocked",
      -  "protected",
      -  "history_hidden",
      -  "trending_hidden",
      -  "trending_hidden_source",
      -  "follow_links",
      -  "handles_shown",
      -  "edit_policy",
      -  "propose_policy",
      -  "claimed_by",
      -  "custom_handle_order",
      -  "updated_at"
      -]New value: +[
      +  "vhid",
      +  "short",
      +  "qid",
      +  "title",
      +  "subtitle",
      +  "description",
      +  "entity_type",
      +  "kind_label",
      +  "entity_kind",
      +  "image_id",
      +  "image",
      +  "image_source",
      +  "gallery_count",
      +  "gallery",
      +  "gallery_logo",
      +  "image_links",
      +  "field_sources",
      +  "has_description",
      +  "description_credit",
      +  "description_source",
      +  "synced_at",
      +  "retry_at",
      +  "verified",
      +  "spotlight",
      +  "blocked",
      +  "delete_notice",
      +  "delete_notice_title_hidden",
      +  "deleted_at",
      +  "protected",
      +  "history_hidden",
      +  "trending_hidden",
      +  "trending_hidden_source",
      +  "follow_links",
      +  "handles_shown",
      +  "edit_policy",
      +  "propose_policy",
      +  "claimed_by",
      +  "custom_handle_order",
      +  "updated_at"
      +]
    • addedOutput schema / properties / renamed
      Added value: +{
      +  "description": "The entry’s old short names, newest first, each a 301 here until another entry takes it; `DELETE /api/redirects/:key` removes one.",
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {
      +      "key": {
      +        "description": "An old short name: `/<key>` still 301s here.",
      +        "type": "string"
      +      },
      +      "revision_ref": {
      +        "description": "The edit that changed the short (`r<n>`), found by its diff; null if none records it.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "written_at": {
      +        "description": "When that edit was made.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "key",
      +      "revision_ref",
      +      "written_at"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "entity",
      -  "merge",
      -  "baseRevisionId",
      -  "linkNames",
      -  "handles",
      -  "heldBack",
      -  "heldBackNotListed",
      -  "history",
      -  "audit",
      -  "tools",
      -  "can"
      -]New value: +[
      +  "entity",
      +  "merge",
      +  "renamed",
      +  "baseRevisionId",
      +  "linkNames",
      +  "handles",
      +  "heldBack",
      +  "heldBackNotListed",
      +  "history",
      +  "audit",
      +  "tools",
      +  "can"
      +]
  2. Changed3 schema fields changed
    • changedOutput schema / properties / entity / properties / gallery_logo / description
      Previous value: -"The image the Wikidata sync keeps in the gallery (the item’s logo), or null."New value: +"The image the Wikidata sync keeps in the gallery (the item’s logo; an organisation’s, which leads with its logo, its image), or null."
    • addedOutput schema / properties / entity / properties / handles_shown
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "How many accounts the page shows before “Show more”: null the site-wide rule (Settings), 0 every account."
      +}
    • changedOutput schema / properties / entity / required
      Previous value: -[
      -  "vhid",
      -  "short",
      -  "qid",
      -  "title",
      -  "subtitle",
      -  "description",
      -  "entity_type",
      -  "kind_label",
      -  "entity_kind",
      -  "image_id",
      -  "image",
      -  "image_source",
      -  "gallery_count",
      -  "gallery",
      -  "gallery_logo",
      -  "image_links",
      -  "field_sources",
      -  "has_description",
      -  "description_credit",
      -  "description_source",
      -  "synced_at",
      -  "retry_at",
      -  "verified",
      -  "spotlight",
      -  "blocked",
      -  "protected",
      -  "history_hidden",
      -  "trending_hidden",
      -  "trending_hidden_source",
      -  "follow_links",
      -  "edit_policy",
      -  "propose_policy",
      -  "claimed_by",
      -  "custom_handle_order",
      -  "updated_at"
      -]New value: +[
      +  "vhid",
      +  "short",
      +  "qid",
      +  "title",
      +  "subtitle",
      +  "description",
      +  "entity_type",
      +  "kind_label",
      +  "entity_kind",
      +  "image_id",
      +  "image",
      +  "image_source",
      +  "gallery_count",
      +  "gallery",
      +  "gallery_logo",
      +  "image_links",
      +  "field_sources",
      +  "has_description",
      +  "description_credit",
      +  "description_source",
      +  "synced_at",
      +  "retry_at",
      +  "verified",
      +  "spotlight",
      +  "blocked",
      +  "protected",
      +  "history_hidden",
      +  "trending_hidden",
      +  "trending_hidden_source",
      +  "follow_links",
      +  "handles_shown",
      +  "edit_policy",
      +  "propose_policy",
      +  "claimed_by",
      +  "custom_handle_order",
      +  "updated_at"
      +]
  3. Changed4 schema fields changed
    • changedOutput schema / properties / entity / properties / gallery / items / properties / license / description
      Previous value: -"Its licence id, or null when none is recorded."New value: +"An upload’s licence id, or null when none is recorded (always null for a Commons file)."
    • addedOutput schema / properties / entity / properties / gallery / items / properties / license_name
      Added value: +{
      +  "description": "Its licence by name: an upload’s, or a Commons file’s as read from its file page (“CC BY 3.0”); null until it is read.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / entity / properties / gallery / items / required
      Previous value: -[
      -  "id",
      -  "kind",
      -  "commons_filename",
      -  "url",
      -  "width",
      -  "height",
      -  "commonsPage",
      -  "license",
      -  "credit",
      -  "plate"
      -]New value: +[
      +  "id",
      +  "kind",
      +  "commons_filename",
      +  "url",
      +  "width",
      +  "height",
      +  "commonsPage",
      +  "license",
      +  "license_name",
      +  "credit",
      +  "plate"
      +]
    • changedOutput schema / properties / entity / properties / image / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "commonsPage": {
      -        "description": "Its page on Wikimedia Commons, for a Commons file.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "commons_filename": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "credit": {
      -        "description": "Its credit, or null.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "id": {
      -        "pattern": "^\\d+$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "enum": [
      -          "commons",
      -          "local"
      -        ],
      -        "type": "string"
      -      },
      -      "license": {
      -        "description": "Its licence id, or null when none is recorded.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "plate": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "light",
      -              "dark",
      -              "none"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The plate behind it; null until it is classified."
      -      },
      -      "url": {
      -        "description": "A 200-pixel thumbnail, on this site.",
      -        "type": "string"
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "kind",
      -      "commons_filename",
      -      "url",
      -      "width",
      -      "height",
      -      "commonsPage",
      -      "license",
      -      "credit",
      -      "plate"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "commonsPage": {
      +        "description": "Its page on Wikimedia Commons, for a Commons file.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "commons_filename": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "credit": {
      +        "description": "Its credit, or null.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "height": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "id": {
      +        "pattern": "^\\d+$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "commons",
      +          "local"
      +        ],
      +        "type": "string"
      +      },
      +      "license": {
      +        "description": "An upload’s licence id, or null when none is recorded (always null for a Commons file).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "license_name": {
      +        "description": "Its licence by name: an upload’s, or a Commons file’s as read from its file page (“CC BY 3.0”); null until it is read.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "plate": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "light",
      +              "dark",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The plate behind it; null until it is classified."
      +      },
      +      "url": {
      +        "description": "A 200-pixel thumbnail, on this site.",
      +        "type": "string"
      +      },
      +      "width": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "kind",
      +      "commons_filename",
      +      "url",
      +      "width",
      +      "height",
      +      "commonsPage",
      +      "license",
      +      "license_name",
      +      "credit",
      +      "plate"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed6 schema fields changed
    • addedOutput schema / properties / entity / properties / retry_at
      Added value: +{
      +  "description": "When the sync tries again after its last fetch from Wikidata failed; null when it did not fail.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / entity / required
      Previous value: -[
      -  "vhid",
      -  "short",
      -  "qid",
      -  "title",
      -  "subtitle",
      -  "description",
      -  "entity_type",
      -  "kind_label",
      -  "entity_kind",
      -  "image_id",
      -  "image",
      -  "image_source",
      -  "gallery_count",
      -  "gallery",
      -  "gallery_logo",
      -  "image_links",
      -  "field_sources",
      -  "has_description",
      -  "description_credit",
      -  "description_source",
      -  "synced_at",
      -  "verified",
      -  "spotlight",
      -  "blocked",
      -  "protected",
      -  "history_hidden",
      -  "trending_hidden",
      -  "trending_hidden_source",
      -  "follow_links",
      -  "edit_policy",
      -  "propose_policy",
      -  "claimed_by",
      -  "custom_handle_order",
      -  "updated_at"
      -]New value: +[
      +  "vhid",
      +  "short",
      +  "qid",
      +  "title",
      +  "subtitle",
      +  "description",
      +  "entity_type",
      +  "kind_label",
      +  "entity_kind",
      +  "image_id",
      +  "image",
      +  "image_source",
      +  "gallery_count",
      +  "gallery",
      +  "gallery_logo",
      +  "image_links",
      +  "field_sources",
      +  "has_description",
      +  "description_credit",
      +  "description_source",
      +  "synced_at",
      +  "retry_at",
      +  "verified",
      +  "spotlight",
      +  "blocked",
      +  "protected",
      +  "history_hidden",
      +  "trending_hidden",
      +  "trending_hidden_source",
      +  "follow_links",
      +  "edit_policy",
      +  "propose_policy",
      +  "claimed_by",
      +  "custom_handle_order",
      +  "updated_at"
      +]
    • addedOutput schema / properties / heldBack / items / properties / value_norm
      Added value: +{
      +  "description": "Its key as the site stores it (letter case folded where the platform ignores it).",
      +  "type": "string"
      +}
    • changedOutput schema / properties / heldBack / items / required
      Previous value: -[
      -  "platform_id",
      -  "value",
      -  "name",
      -  "removedAt",
      -  "revisionId"
      -]New value: +[
      +  "platform_id",
      +  "value",
      +  "value_norm",
      +  "name",
      +  "removedAt",
      +  "revisionId"
      +]
    • addedOutput schema / properties / heldBackNotListed / items / properties / value_norm
      Added value: +{
      +  "description": "Its key as the site stores it (letter case folded where the platform ignores it).",
      +  "type": "string"
      +}
    • changedOutput schema / properties / heldBackNotListed / items / required
      Previous value: -[
      -  "platform_id",
      -  "value",
      -  "name",
      -  "removedAt",
      -  "revisionId"
      -]New value: +[
      +  "platform_id",
      +  "value",
      +  "value_norm",
      +  "name",
      +  "removedAt",
      +  "revisionId"
      +]
  5. Changed2 schema fields changed
    • addedOutput schema / properties / entity / properties / follow_links
      Added value: +{
      +  "description": "“Follow this entry’s handle links”: its handle links are followed as a verified entry’s are.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / entity / required
      Previous value: -[
      -  "vhid",
      -  "short",
      -  "qid",
      -  "title",
      -  "subtitle",
      -  "description",
      -  "entity_type",
      -  "kind_label",
      -  "entity_kind",
      -  "image_id",
      -  "image",
      -  "image_source",
      -  "gallery_count",
      -  "gallery",
      -  "gallery_logo",
      -  "image_links",
      -  "field_sources",
      -  "has_description",
      -  "description_credit",
      -  "description_source",
      -  "synced_at",
      -  "verified",
      -  "spotlight",
      -  "blocked",
      -  "protected",
      -  "history_hidden",
      -  "trending_hidden",
      -  "trending_hidden_source",
      -  "edit_policy",
      -  "propose_policy",
      -  "claimed_by",
      -  "custom_handle_order",
      -  "updated_at"
      -]New value: +[
      +  "vhid",
      +  "short",
      +  "qid",
      +  "title",
      +  "subtitle",
      +  "description",
      +  "entity_type",
      +  "kind_label",
      +  "entity_kind",
      +  "image_id",
      +  "image",
      +  "image_source",
      +  "gallery_count",
      +  "gallery",
      +  "gallery_logo",
      +  "image_links",
      +  "field_sources",
      +  "has_description",
      +  "description_credit",
      +  "description_source",
      +  "synced_at",
      +  "verified",
      +  "spotlight",
      +  "blocked",
      +  "protected",
      +  "history_hidden",
      +  "trending_hidden",
      +  "trending_hidden_source",
      +  "follow_links",
      +  "edit_policy",
      +  "propose_policy",
      +  "claimed_by",
      +  "custom_handle_order",
      +  "updated_at"
      +]
  6. Added

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is known. The description adds useful content-level context, including field_sources, synced_at, retry_at, merge state, duplicates, history, and audit trail, but does not mention admin permissions, access requirements, or pagination behavior.

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 description is front-loaded and keeps to a single dense sentence with no filler. Every listed element corresponds to useful card content, though the long parenthetical sequence is somewhat hard to parse quickly.

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 an output schema, full parameter schema coverage, and read-only annotations, the description does not need to explain return values or parameter syntax. It is complete about the card’s contents but leaves the critical get_entry vs get_entry_admin choice and admin-access expectations unstated.

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 description coverage is 100%, so the schema already documents that the entry parameter accepts a VHID, short name, or QID. The description only says 'by VHID', which adds no meaning beyond the schema and slightly under-represents the accepted identifier formats.

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 description specifies a clear verb-and-resource: retrieving the Entry manager’s card for one entry, including deleted and merged entries. It does not explicitly distinguish itself from the sibling get_entry tool, leaving the admin-vs-public distinction implicit in the title and phrasing.

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

Usage Guidelines2/5

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

The description lists what the card contains but gives no explicit guidance on when to use this tool instead of get_entry, get_entries, or get_entry_history. The only hint is that deleted and merged entries are included, which implies an admin use case without stating it.

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.