Artlist — Czech contemporary art archive
Server Details
Read-only search of the Artlist archive of Czech contemporary art: artists, works, groups, spaces.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
Two clear pairs collide: `artlist-get` and `fetch` both return the full record for an id, and `artlist-search` and `search` both query the same archive. The descriptions hint that fetch/search are generic wrappers and artlist-* is richer, but an agent can easily pick either for the same intent, and the guidance ('for filters prefer artlist-search') is buried rather than structural.
Four tools use a `namespace-verb` prefix (artlist-describe, artlist-facets, artlist-get, artlist-related, artlist-search) while two are bare verbs (`fetch`, `search`) with no noun or namespace. There is no consistent verb_noun pattern, and the two outsiders look like they came from a different server.
Seven tools is a sensible size for an archive, but two of them (fetch, search) are near-duplicates of artlist-get and artlist-search rather than earning their place. Trimming to five would give a tighter, clearly scoped surface.
The read-only archive lifecycle is well covered: orientation (describe, facets), discovery (search), retrieval (get), and relationship traversal (related, including depth=2 and topic similarity). Only minor gaps remain, such as citation/export helpers or pagination beyond offset for the detail tools.
Available Tools
7 toolsartlist-describeDescribe the Artlist archiveARead-onlyIdempotentInspect
Call this first. Explains record types, public fields, how records link to each other, languages, record counts and how to search well.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered structurally. The description adds value beyond them by disclosing the content the call returns — schema-level concepts, language coverage, record counts and search advice — which matters because there is no output schema.
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 short sentences with zero filler; the imperative 'Call this first' is front-loaded ahead of the content inventory. Every clause earns its place by telling the agent either when to call or what it will learn.
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 zero-parameter, read-only orientation tool with no output schema, the description supplies both the trigger and the expected return content. Nothing further is needed for an agent to invoke it correctly.
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 tool takes zero parameters, so the baseline is 4 and there is nothing parameter-level for the description to compensate for. No misleading or missing argument information is present.
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 names a specific verb ('Explains') and enumerates exactly what is explained: record types, public fields, record linking, languages, record counts and search strategy. That enumeration separates it cleanly from the sibling tools (artlist-search, artlist-get, artlist-related, artlist-facets), which operate on data rather than document it.
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?
'Call this first' gives explicit sequencing guidance relative to every sibling tool, which is the key decision an agent faces here. It stops short of stating when the tool can be skipped (e.g. on repeat calls within a session), so it is clear context rather than full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
artlist-facetsArtlist overview numbersBRead-onlyIdempotentInspect
Record counts per type and language, and the most used topics; with type: distribution by decade, its topics and the most common places (birth places of persons, cities of spaces). Good for overviews and for choosing filters.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language version: "cs" (default), "en", or "any". | |
| type | No | Record type to break down. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered structurally. The description adds that the output is aggregated counts/distributions rather than records, which is useful, but says nothing about cost, cardinality, or whether results respect any default filters.
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?
It is short, but the single semicolon-and-colon-stitched sentence is hard to parse and buries the more important conditional behavior mid-string. Restructuring into one sentence per mode would cost no extra words and be far clearer.
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 must carry the return shape, and it does so only at a coarse level: the described sections (decades, topics, places) are not stated to be returned together with their key names or ordering, and the relationship between the no-`type` and `with type` result shapes stays fuzzy.
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 100%, so the baseline is 3, and the description exceeds it by explaining the conditional effect of `type`: omitting it yields counts per type/language plus top topics, whereas supplying it switches to a decade distribution, per-type topics and common places. That conditional-output semantics is not derivable from the enum alone.
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 states the resource is aggregate statistics (record counts per type/language, top topics, and per-type breakdown by decade, topics, places), which is broadly distinguishable from artlist-get/search. But the phrasing is a noun fragment with no verb, and the pivot 'with type:' is ambiguous about what condition triggers the second behavior, so the purpose is only partly clear.
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?
'Good for overviews and for choosing filters' gives an implied when-to-use, and the two modes hint at when to supply `type`. No sibling is named and there is no explicit when-not guidance (e.g. use artlist-search to fetch actual records rather than counts).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
artlist-getGet one Artlist recordARead-onlyIdempotentInspect
Full public record by id (or page url): all public fields (biography, exhibitions, bibliography, technique, annotations …), every linked record grouped by type (id, type, name, years), and the other language versions. Long texts are cut at 5000 chars unless full=true; images only as image_count unless images=true. For a contributor: annotations_written (every annotation they wrote, with the record, date and text).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Record id from search results. | |
| url | No | Alternatively the artlist.cz page URL. | |
| full | No | Return long texts in full. | |
| images | No | Include images (URL, caption, copyright). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description still adds real behavioral detail: truncation at 5000 chars unless full=true, images collapsed to image_count unless images=true, and linked records grouped by type. What it omits is failure behavior — what happens if neither id nor url is supplied, since all four parameters are optional.
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?
Front-loaded with the purpose, then progressively discloses return shape and the two truncation switches in three tight sentences. Dense but no filler; the trailing "For a contributor:" clause is the only slightly bolted-on element.
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 carries the full burden of describing the response, and it does so section by section, including the truncation defaults an agent must know about. The only gap is the ambiguity of zero required parameters — it never says id and url are mutually exclusive or which wins when neither is given.
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 100%, so the baseline is 3, but the description earns more by explaining the actual consequences of the flags: full=true restores long texts, images=true expands image_count into URLs, captions and copyright, and id/url are interchangeable identifiers. That is meaning beyond the one-line schema strings.
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?
"Full public record by id (or page url)" states a specific verb and resource, and the enumeration of returned sections (biography, exhibitions, bibliography, linked records, language versions) makes clear this is the detail endpoint rather than a list. Sibling differentiation is implicit rather than stated — it never names artlist-search or artlist-describe as the alternative path.
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?
"Record id from search results" in the schema and the by-id-or-URL framing imply this is the follow-up call after a search, and the contributor note hints at a second use case. But there is no explicit when-to-use/when-not guidance and no mention of artlist-related or artlist-describe as alternatives for linked or summary data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
artlist-searchSearch the Artlist archiveARead-onlyIdempotentInspect
Find artists, theorists, groups, spaces, artworks, videos, annotations, events and contributors (annotation authors). Combine free text (accent-insensitive, all words must match, "quotes" for a phrase) with filters: types, lang, year range (overlap), topics, place, related_to. Returns short records (id, type, name, years, summary, url); use the get tool (artlist-get) for details. Page with offset / next_offset.
| Name | Required | Description | Default |
|---|---|---|---|
| in | No | "name" = match only names/titles (best for finding a person or work); "all" (default) = also biographies, exhibitions, bibliographies and other texts. | |
| lang | No | Language version: "cs" (default), "en", or "any". | |
| sort | No | Default relevance/name; "year" = chronological. | |
| limit | No | Default 20. | |
| place | No | Birth place (persons) or city (spaces), substring. | |
| query | No | Free text, e.g. a surname, technique, place or exhibition title. | |
| types | No | Limit to these record types: artist, theorist, group, space, artwork, video, annotation, post, contributor. | |
| offset | No | ||
| topics | No | Topic / keyword names (all must match; accent-insensitive, prefix allowed), e.g. ["feminismus"]. See facets for the list. | |
| year_to | No | Records active / dated in or before this year. | |
| year_from | No | Records active / dated in or after this year. | |
| related_to | No | Only records linked to this record id (either direction). | |
| annotation_author | No | Only records with an annotation written by this contributor (contributor record id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, and the description adds real substance on top: accent-insensitive matching, all-words-must-match semantics, quote-delimited phrases, year filtering as range overlap rather than containment, and pagination via offset/next_offset. It also discloses the shape of the returned records (id, type, name, years, summary, url) even though no output schema exists.
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?
Three dense sentences, front-loaded with the capability and followed by matching rules, output shape and pagination — no filler. The opening enumeration of record types largely restates the types enum, and the 'events' label is a small inconsistency that costs a point.
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 13-parameter, zero-required search tool with no output schema, the description covers the essentials: matching rules, filter semantics, return fields, and paging. The residual gap is the type-name mismatch ('events' vs 'post') and no hint about how multiple filters combine (AND vs OR) beyond what individual params say.
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 92%, so the baseline is 3; the description earns an increment by stating cross-parameter semantics the schema cannot express — that year_from/year_to are an overlap test on activity dates, that query matching is accent-insensitive and conjunctive, and that quoted strings become phrase queries. The only weakness is that the prose type list says 'events' while the types enum offers 'post', a small mapping the agent must infer.
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?
Opens with a concrete verb ('Find') and enumerates the resource domain (artists, theorists, groups, spaces, artworks, videos, annotations, contributors) plus the two search modes (free text and filters). It also explicitly contrasts itself with the sibling artlist-get, so an agent can place it without opening a schema.
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?
It routes the agent onward in both directions: 'use the get tool (artlist-get) for details' for full records, and 'See facets for the list' for valid topic names (i.e. artlist-facets). It does not explicitly say when to prefer this over artlist-related or when a filter combination is inappropriate, so it falls just short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch (standard)ARead-onlyIdempotentInspect
Full text of one Artlist record by id from search: all public fields, linked records, annotations, with the page URL for citation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Record id from search results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by specifying that it returns full text, all public fields, linked records, annotations, and a page URL for citation.
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?
The description is a single, front-loaded sentence with no redundant wording. It communicates the core action and return contents efficiently.
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?
Given the low complexity (one required id parameter), the existing output schema, and the annotations covering safety, the description is complete enough for an agent to select and call the tool correctly. No critical missing information is apparent.
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 100%, and the single id parameter already has a clear schema description ("Record id from search results."). The tool description reinforces that the id comes from search but adds no additional syntax or format details beyond the schema.
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 states a specific retrieval action: "Full text of one Artlist record by id from search," and enumerates what is returned (public fields, linked records, annotations, page URL). It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools such as artlist-get or search.
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 phrase "by id from search" implies this tool should be used after a search returns a record id, giving some usage context. However, it does not explicitly say when to use this versus artlist-get or other siblings, nor does it state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch (standard)ARead-onlyIdempotentInspect
Standard document search over the Artlist archive of Czech contemporary art (artists, theorists, groups, spaces, artworks, videos, events, contributors), both languages. Returns ids for fetch. For filters (type, years, topics, links) prefer artlist-search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search text, e.g. a name, technique, place or topic. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered, and the description adds the useful note that results are ids requiring fetch. It says nothing about result limits, language-mixing behavior, or match semantics, which would be the genuinely additive details beyond annotations.
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?
Three short clauses: scope, return shape, and the alternative for filtered queries. Front-loaded with the resource and archive, zero filler, and the routing hint comes last where it belongs.
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?
An output schema exists so return values needn't be explained, and one fully documented parameter is trivial to cover. The description supplies the two things the structured fields cannot: domain scope and the ids-then-fetch workflow, though it omits result-count or pagination expectations.
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 100% with a single required "query" parameter already documented as "search text, e.g. a name, technique, place or topic." The description reinforces the breadth of entity types but adds no syntax, matching, or normalization guidance beyond the schema, so baseline 3 applies.
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 states a specific verb and resource ("Standard document search over the Artlist archive") and enumerates the entity types searched, so the agent knows what it returns (ids for fetch). It differentiates itself from artlist-search only indirectly, by calling itself "standard" and pushing filters elsewhere, which is slightly muddier than a clean sibling split.
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?
It gives a clear routing rule: use this for plain queries, prefer artlist-search when filters (type, years, topics, links) are needed. That is an explicit alternative with a condition, though it does not mention when not to use search at all versus fetch or artlist-get by id.
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.
7 tool updates
- First observed
artlist-describe - First observed
artlist-facets - First observed
artlist-get - First observed
artlist-related - First observed
artlist-search - First observed
fetch - First observed
search
Related MCP Connectors
Search Artsdata for authoritative data on Canadian events, artists, organizations, and places.
Czech & Slovak business registry — company lookup by IČO, name, legal form, VAT. Official ARES.
Query an art encyclopedia of artworks, artists, movements and museums.
Read-only access to the Artbook Society published catalog: books, artists, editors and events.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables searching and retrieving Czech legal acts from the e-Sbirka database via SPARQL, including metadata and full consolidated text with verifiable citations.3102 PyPI2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables searching and retrieving curated architecture, design, photography, and art projects from the Thisispaper archive, with tools for project search, visual similarity, and full metadata.37 npmMIT
- AlicenseAqualityBmaintenanceFederated, license-verified search across open-access museum collections — currently The Met, Cleveland, AIC, Wikimedia Commons, and Europeana, with more being added. Strict-default-deny rights gate accepts only CC0 / Public Domain Mark, returning reuse-safe artwork with citations in three styles.595 npm14MIT
- AlicenseAqualityCmaintenanceEnables read-only search and retrieval of the public Reknihy.cz book catalog, including filtering, sorting, ISBN lookup, category browsing, and access to product details such as price, availability, and images.4ISC
Glama MCP Gateway
Add one secure layer between your agents and this server.