agentstock
Server Details
License-clean AI stock images and video for agents: semantic search, browse, and x402 purchase.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- kohlercode/agentstock
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool targets a distinct operation: get_asset retrieves one asset, get_set retrieves one set, list_sets lists sets, and search_assets searches assets. The boundaries between retrieving a single item, listing collections, and searching are clear.
All names follow a consistent verb_noun pattern: get_asset, get_set, list_sets, search_assets. Singular/plural usage is predictable, with singular for single-item retrievals and plural for list/search operations.
Four tools are well-scoped for a focused marketplace catalog: search/list/get assets and search/list/get sets. Each tool earns its place without redundancy or bloat.
The surface covers browsing and retrieving published assets and sets, including pricing, license, and x402 purchase instructions. Minor gaps exist, such as no explicit pagination/filtering controls or a direct purchase-execution/download tool, but the paid download_url and instructions provide a workaround.
Available Tools
4 toolsget_assetGet one assetARead-onlyIdempotentInspect
Full metadata, license fields, price, and x402 purchase instructions for one published asset id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false and closed-world, so the safety profile is covered. The description adds genuinely useful return-content context (license fields, price, x402 purchase instructions), but says nothing about lookup failure behavior or what happens for unpublished assets.
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?
One dense sentence with no filler; the return-content payload is front-loaded and nothing is repeated from the schema or annotations.
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?
With no output schema, the description takes on return-value explanation and does so well for a simple single-parameter lookup. Minor gaps remain around error/empty cases and how to obtain a valid asset id.
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?
Schema description coverage is 0% for the single id parameter, so the description must carry the semantics; it tells us the id references a 'published asset', which is meaningful. However, it does not explain the 16-char hex format or where an id comes from, so the compensation is only partial.
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?
States a concrete verb+resource (get one asset) and enumerates what the response contains (metadata, license fields, price, x402 purchase instructions). The phrase 'one published asset id' implicitly separates it from search_assets and list_sets, though no sibling is named outright.
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 only implied: the agent must already hold an id to call this, and 'one published asset id' hints at id-lookup versus search. There is no explicit when-to-use / when-not guidance or reference to search_assets as the discovery alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_setGet one asset setARead-onlyIdempotentInspect
One published set with its items, set price, savings, license fields, and x402 purchase instructions for buying the whole set.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is the payload disclosure: items, price, savings, license fields, and x402 purchase instructions. It also signals that only *published* sets are returned, which is meaningful behavioral context beyond the annotations. It stops short of describing failure behavior for missing/unpublished ids.
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?
A single dense sentence with the core action front-loaded and no filler. The trailing enumeration of returned fields is long but each item is informative, so it earns its place.
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?
With no output schema, the description usefully spells out the returned shape, which is the main completeness risk for a single-fetch tool. It is thin on error/not-found behavior and on the id parameter, but otherwise sufficient for correct invocation.
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?
One parameter (id) with 0% schema description coverage: the schema supplies a pattern but no prose meaning. The description says nothing about what the id is, where it comes from, or that it is a 16-char hex set identifier, so it does not compensate for the coverage gap.
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?
States a specific verb+resource: retrieving one published set, and enumerates its payload (items, set price, savings, license fields, x402 purchase instructions). 'One published set' implicitly separates it from list_sets and search_assets, though it never names those siblings.
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 only implied: fetch a single set by identity. There is no explicit when-to-use guidance, no statement of alternatives (get_asset for an individual asset, list_sets/search_assets for discovery), and no note on what happens for unpublished or unknown ids.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_setsList asset setsBRead-onlyIdempotentInspect
Published sets of assets that are sold together, newest first. Each set has its set price, the price of its items bought separately, the savings, every item with full metadata, and the paid download_url for the whole set.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is fully covered. The description does add value beyond them by disclosing scope (published sets only) and ordering (newest first), but says nothing about pagination behavior or result-size limits.
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?
A single dense sentence that front-loads the resource and ordering before enumerating returned fields. Every clause earns its place, though the run-on listing of price/savings/metadata fields could be tightened.
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?
With no output schema, the description usefully enumerates the returned fields (set price, separate-item price, savings, items with metadata, download_url), which is genuinely needed. However it omits all pagination semantics and does not differentiate this tool from search_assets or get_set, leaving real gaps.
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?
Schema description coverage is 0%, so the description carries the full burden for page/per_page. It mentions no pagination, defaults, or maximums at all, leaving both parameters undocumented in every field the agent can see; the description's detail is entirely about the response payload, not inputs.
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?
States a specific resource ('published sets of assets that are sold together') and scopes it to published sets returned newest first, which distinguishes it from get_set (single set) and search_assets. It never uses the verb 'list' in the body, but the resource and scope are unambiguous.
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?
There is no explicit when-to-use guidance and no mention of the siblings get_set or search_assets. The 'newest first' ordering faintly implies a browse/discovery use case, but the agent must infer that on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_assetsSearch stock mediaARead-onlyIdempotentInspect
Semantic search over AI-generated images and videos. An empty query lists the newest assets. Returns captions, tags, dimensions, aspect ratio, price in USDC, a thumbnail URL, the paid download_url, and license fields (license, release_safe, has_text, ai_generated, ai_disclosure).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| type | No | ||
| query | No | Natural-language description, e.g. "neon cyberpunk alley at night". | |
| per_page | No | ||
| aspect_ratio | No | Exact label such as "16:9", "1:1", "9:16". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds real value by disclosing the empty-query fallback and enumerating the return payload, including pricing and license fields — significant since there is no output schema. Pagination/cursor behavior is the one undisclosed trait.
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 waste, with the core purpose front-loaded. The long return-field enumeration is justified because no output schema exists to carry that information.
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 5-parameter read tool with no output schema, the description covers purpose, the edge case, and the full return shape. It stops short of explaining pagination semantics or result ordering beyond the empty-query case, which is the remaining gap.
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?
Schema coverage is only 40%, with query and aspect_ratio documented in the schema. The description adds semantics for query (empty = newest) and implies the type filter via 'images and videos', but page and per_page receive no meaning beyond their schema bounds and defaults.
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?
States a specific verb and resource ('Semantic search over AI-generated images and videos') and clarifies the degenerate case (empty query lists newest). This clearly separates it from the get_asset/get_set/list_sets siblings, which are retrieval-by-identifier or collection tools.
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?
The empty-query behavior is a useful usage hint, but there is no explicit guidance on when to choose this over get_asset or get_set, nor any stated preconditions. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_asset - First observed
get_set - First observed
list_sets - First observed
search_assets
Related MCP Connectors
Content licensing for the AI era: licensed, rights-cleared content for AI agents.
Image search for AI agents: 1.85M openly licensed images with source, license and attribution.
AI image, video and audio generation for agents: banners, reveal videos, avatars, voice cloning.
- BriaOAuthcom.bria-api
Commercially licensed image generation and editing with IP indemnification.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to query the largest CC0 database for provenance, license verification, and market data, and generate CC0 images, all via pay-per-call x402 micropayments.-
- AlicenseAqualityDmaintenanceAI asset compliance and licensing. Search pre-cleared assets matched to your brief. Usage agreement auto-generated at checkout. Works with Claude and any MCP-compatible agent.312 npmMIT
- AlicenseAqualityBmaintenanceLicensing infrastructure for premium content from specialist publishers in geopolitics, finance, AI and industry. License articles for your AI product to answer from, take a publication's full catalogue, license it for training, or show it to your clients, all under one contract, with every use tracked and the publisher paid.20299 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI agents to search, license, and pay for rights-clean music per use, returning a verifiable license certificate.5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.