PaKi Curator
Catalogue agent for César Yagüe's silent moving-image works, each measured frame by frame.
使うべきか
品質と安全性
検出事項(1)
- LOWbrowse_collections 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"paki-curator": {
"url": "https://cesaryague.es/mcp"
}
}
}リモートエンドポイント
https://cesaryague.es/mcpstreamable-httphttps://paki-api.elfresonero.workers.dev/mcpstreamable-httpできること
ツール一覧
ツール(7)
🟢search_artworks(query, collection, resolution, orientation, colour, ...)
Search the catalogue of 296 moving-image works by César Yagüe by free text, collection, resolution, orientation (including ultrawide), colour measured from every frame (a basic colour counts its whole family), price, year, loop length, rotation and availability. A short page brings each work's curatorial capsule. Asking about flashes or epilepsy returns the works with measured abrupt light events.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text across titles, descriptions and curatorial notes"
},
"collection": {
"type": "string",
"description": "Collection name"
},
"resolution": {
"type": "string",
"description": "The resolution label each work shows, matched exactly: HD, 4K, 5K, 8K, 10K, 12K, 16K; square works carry their own, such as 2K or 3K. An unknown label returns the list in use."
},
"orientation": {
"type": "string",
"enum": [
"portrait",
"landscape",
"square",
"ultrawide"
],
"description": "ultrawide = at least twice as wide as tall (21:9 and wider); landscape includes it"
},
"colour": {
"type": "string",
"description": "Dominant colour by name (gold, teal, crimson…) or hex. Measured from every frame."
},
"min_price": {
"type": "number"
},
"max_price": {
"type": "number"
},
"availability": {
"type": "string",
"enum": [
"available",
"any"
]
},
"rotation": {
"type": "string",
"enum": [
"fixed",
"rotatable"
],
"description": "Whether the work must keep its orientation or may be rotated 90 degrees"
},
"year": {
"type": "integer",
"description": "Year the work was created"
},
"min_seconds": {
"type": "number",
"description": "Shortest loop length, in seconds"
},
"max_seconds": {
"type": "number",
"description": "Longest loop length, in seconds"
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer",
"description": "Skip this many results, to read the next page"
},
"sort_by": {
"type": "string",
"enum": [
"price",
"name",
"duration"
]
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
}
}🟢get_artwork(name)
Retrieve one artwork in full: technical specification, availability, price, the physics measured from its master, and, when available, the curatorial capsule. Accepts the identifier or the title — and when a title belongs to more than one work, it returns them all rather than guessing.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Artwork identifier, or its name. An ambiguous name returns every candidate."
}
},
"required": [
"name"
]
}🟢recommend_for_space(space_description, orientation, room_light, attention, movement, ...)
Describe a space and receive the works that fit it, each with the measurement behind the suggestion and its curatorial capsule. Room light, viewing distance, screen size, attention and movement are measured; collection, resolution, orientation, colour and budget are hard limits, and a work that may be rotated counts for the other orientation. If nothing fits, it says which requirement leaves nothing instead of offering the nearest thing.
入力スキーマ
{
"type": "object",
"properties": {
"space_description": {
"type": "string",
"description": "The room in your own words"
},
"orientation": {
"type": "string",
"enum": [
"portrait",
"landscape",
"square",
"ultrawide"
],
"description": "ultrawide = at least twice as wide as tall (21:9 and wider); landscape includes it"
},
"room_light": {
"type": "string",
"enum": [
"dark",
"dim",
"bright"
]
},
"attention": {
"type": "string",
"enum": [
"background",
"foreground"
],
"description": "Should it accompany, or hold the eye?"
},
"movement": {
"type": "string",
"enum": [
"still",
"lively"
],
"description": "Very still, or full of life? Measured rhythm, on the catalogue scale"
},
"distance_m": {
"type": "number",
"description": "Metres from viewer to screen"
},
"screen_m": {
"type": "number",
"description": "Screen diagonal in metres"
},
"colour": {
"type": "string"
},
"budget_max": {
"type": "number"
},
"collection": {
"type": "string",
"description": "Recommend only from this collection"
},
"resolution": {
"type": "string",
"description": "Only works native to this resolution label (HD, 4K, 8K, 16K…; square works carry their own, such as 2K)"
},
"count": {
"type": "integer"
}
},
"required": [
"space_description"
]
}🟢browse_collections(collection)
List the 15 collections plus Singles, each with the number of works it holds. Ask for one by name to get its works in full. When available, each collection includes its curatorial capsule alongside the works it contains.
入力スキーマ
{
"type": "object",
"properties": {
"collection": {
"type": "string",
"description": "Omit to list them all"
}
}
}🟢catalog_overview
A high-level view of the whole catalogue: totals, collections, resolutions, price range, what is available, and how much of it has been measured.
入力スキーマ
{
"type": "object",
"properties": {}
}🟢rank_artworks(metric, order, collection, availability, count)
Order the catalogue by one measured axis — rhythm of change, luminance, peak brightness, colour travel, empty space, and the rest — from lowest to highest or the reverse, and read where each work sits on the catalogue's own scale. Use it for questions like "the stillest work you have" or "the brightest, in this collection". Every number comes from the master, frame by frame; nothing here is described.
入力スキーマ
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": [
"rhythm",
"rhythmContrast",
"compositionMovement",
"luminance",
"peakBrightness",
"dynamicRange",
"trueBlack",
"colourTravel",
"flatGround",
"emptySpace",
"elementScale",
"edgeHardness",
"radialSymmetry"
],
"description": "The measured axis to order by"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "asc = lowest first (the stillest, the darkest); desc = highest first"
},
"collection": {
"type": "string",
"description": "Restrict to one collection"
},
"availability": {
"type": "string",
"enum": [
"available",
"any"
]
},
"count": {
"type": "integer"
}
},
"required": [
"metric"
]
}⚪request_inquiry(contact_name, contact_email, inquiry_type, space_description, artworks_of_interest, ...)
Open a real enquiry with the studio: acquisition, exhibition or press. Requires a way to reply and a description of the space or project. It never reports success unless the message actually left.
入力スキーマ
{
"type": "object",
"properties": {
"contact_name": {
"type": "string"
},
"contact_email": {
"type": "string"
},
"inquiry_type": {
"type": "string",
"enum": [
"acquisition",
"exhibition",
"press",
"other"
]
},
"space_description": {
"type": "string"
},
"artworks_of_interest": {
"type": "array",
"items": {
"type": "string"
}
},
"budget_range": {
"type": "string"
},
"message": {
"type": "string"
},
"agent_name": {
"type": "string",
"description": "The agent sending this on behalf of a client"
}
},
"required": [
"contact_name",
"contact_email",
"space_description"
]
}コミュニティ
エビデンス