list_provenance
List provenance items (chain of custody, certificates, invoices) for an artwork slug. Tries piece then collection.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
List provenance items (chain of custody, certificates, invoices) for an artwork slug. Tries piece then collection.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the lookup strategy ('Tries piece then collection'), which adds useful context. Yet it leaves gaps: what happens if both piece and collection match, whether results are merged, and what the response looks like. This partial disclosure is better than nothing but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero wasted words. The action is front-loaded, examples are parenthetically useful, and the fallback note is compact. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter list operation, the description covers purpose, parameter meaning, and a behavioral nuance. It omits return shape or error specifics, but given the lack of an output schema and the tool's simplicity, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that 'slug' refers to an artwork slug, providing meaning beyond the bare string schema. However, it does not explain how the slug relates to the 'piece then collection' fallback or specify any format constraints. Schema coverage is 0%, so the description partially compensates but leaves ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'provenance items', enumerates example items, and scopes to an artwork slug. It distinctly describes a list operation, differentiating it from the sibling read_provenance, and the 'Tries piece then collection' clause adds a unique search scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this tool to list all provenance items for a given artwork slug. However, it does not explicitly contrast with read_provenance or get_certificate, and gives no exclusions or alternative scenarios. Without an explicit when-to-use guide, the agent must infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes with detailed descriptions, but a few boundaries are fuzzy: leave_message vs ask_human vs leave_comment, and list_content vs list_collection could confuse an agent at first glance. Overall, the descriptions are thorough enough to disambiguate.
The naming convention is predominantly snake_case with verb_noun structure (list_content, read_blob, upsert_skill). Minor deviations exist such as the mysloodsiewnia_* prefix and British spelling in synthesise_persona_patterns, but the pattern is highly recognizable and readable.
At 41 tools, the surface area is very large for a single MCP server and exceeds the 'heavy' threshold. While each tool serves a distinct purpose, the sheer number makes the server feel bloated and harder to navigate; many tools could be grouped or pruned without losing core functionality.
The server covers a broad domain: content read/list, personas, skills management, vault CRUD (except update/delete intentionally), provenance, licensing, memory, and async question/narada workflows. Minor gaps exist like no tool to cancel a narada job or update a memory, but these are workable and the core workflows are well supported.