Serveur MCP

CuratorSearch

com.curatorsearch/jobs

Ce que fait ce MCP

Searches live museum, gallery, and curatorial job listings, retrieves full postings, lists institution openings, and provides salary statistics.

get_job
One listing in full: description, stated salary, deadline, and the institution's original posting URL. Takes the slug from a curatorsearch.com/opportunities/<slug> URL.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The listing's slug, or the whole curatorsearch.com/opportunities/<slug> URL -- either is accepted."}}}
Schéma de sortie
{'type': 'object', 'required': ['title', 'institution', 'category', 'region', 'posted', 'url', 'status', 'source'], 'properties': {'url': {'type': 'string', 'description': "The role's permanent page on curatorsearch.com."}, 'title': {'type': 'string', 'description': 'Job title as advertised.'}, 'posted': {'type': 'string', 'description': 'ISO date the role was first seen on the board.'}, 'region': {'type': 'string', 'description': 'CuratorSearch world region.'}, 'salary': {'type': ['string', 'null'], 'description': 'Pay exactly as the posting states it, or null -- most postings state none.'}, 'source': {'type': 'string', 'description': "The institution's original posting, where applications are made."}, 'status': {'type': 'string', 'description': "'live' while the role is open; anything else means the institution has taken it down."}, 'category': {'type': 'string', 'description': 'CuratorSearch field, one of the category values.'}, 'deadline': {'type': ['string', 'null'], 'description': 'Application deadline as an ISO date, or null if none is given.'}, 'location': {'type': ['string', 'null'], 'description': 'City and country as stated, or null if the posting gives none.'}, 'description': {'type': ['string', 'null'], 'description': "The posting's own text, or null if the source gave none."}, 'institution': {'type': 'string', 'description': 'Museum, gallery or organisation advertising the role.'}}}
institution_jobs
Every role one museum or gallery currently has open on the board, by institution name.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['institution'], 'properties': {'institution': {'type': 'string', 'description': "The institution's name, e.g. 'Philadelphia Museum of Art'. Near-misses resolve; if nothing matches, the reply says so."}}}
Schéma de sortie
{'type': 'object', 'required': ['institution', 'results'], 'properties': {'note': {'type': 'string', 'description': 'Present only when no institution of that name is on the board.'}, 'page': {'type': 'string', 'description': "That institution's page on curatorsearch.com."}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'institution', 'category', 'region', 'posted', 'url'], 'properties': {'url': {'type': 'string', 'description': "The role's permanent page on curatorsearch.com."}, 'title': {'type': 'string', 'description': 'Job title as advertised.'}, 'posted': {'type': 'string', 'description': 'ISO date the role was first seen on the board.'}, 'region': {'type': 'string', 'description': 'CuratorSearch world region.'}, 'salary': {'type': ['string', 'null'], 'description': 'Pay exactly as the posting states it, or null -- most postings state none.'}, 'category': {'type': 'string', 'description': 'CuratorSearch field, one of the category values.'}, 'deadline': {'type': ['string', 'null'], 'description': 'Application deadline as an ISO date, or null if none is given.'}, 'location': {'type': ['string', 'null'], 'description': 'City and country as stated, or null if the posting gives none.'}, 'institution': {'type': 'string', 'description': 'Museum, gallery or organisation advertising the role.'}}}, 'description': 'Its open roles, newest first.'}, 'institution': {'type': 'string', 'description': 'The institution as the board names it.'}}}
salary_transparency
How many live museum and curatorial postings state a salary, and the median advertised figure among those that do -- the CuratorSearch Curatorial Pay Archive headline number, computed live.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'asOf': {'type': 'string', 'description': 'ISO date the figures were computed.'}, 'note': {'type': 'string', 'description': 'Present only when there is no salary data yet.'}, 'citation': {'type': 'string', 'description': 'How to cite these figures.'}, 'liveListings': {'type': 'integer', 'description': 'Live roles on the board at the moment of the call.'}, 'percentStatingSalary': {'type': 'number', 'description': 'Percentage of those postings that state any pay at all.'}, 'medianAdvertisedEurPerYear': {'type': 'integer', 'description': 'Median stated figure among those that do, annualised into euro.'}}}
search_jobs
Search live museum, gallery and curatorial job listings, gathered daily from institutions' own career pages. Returns up to 20 roles, newest first, each with its curatorsearch.com page.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'How many roles to return, 1 to 20. Defaults to 10.'}, 'query': {'type': 'string', 'description': "Free text matched against title, institution and location, e.g. 'registrar London'. Omit to browse everything."}, 'region': {'enum': ['North America', 'UK & Ireland', 'Europe', 'Asia-Pacific', 'Middle East', 'Latin America', 'Africa', 'International'], 'type': 'string', 'description': 'Restrict to one world region.'}, 'category': {'enum': ['Leadership', 'Curatorial', 'Education & Public Programmes', 'Archives', 'Collections', 'Conservation', 'Intern & Fellowship', 'Open Call & Residency', 'Production', 'Other'], 'type': 'string', 'description': 'Restrict to one field of work.'}}}
Schéma de sortie
{'type': 'object', 'required': ['total', 'results'], 'properties': {'total': {'type': 'integer', 'description': 'How many live roles match, which may exceed the number returned.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'institution', 'category', 'region', 'posted', 'url'], 'properties': {'url': {'type': 'string', 'description': "The role's permanent page on curatorsearch.com."}, 'title': {'type': 'string', 'description': 'Job title as advertised.'}, 'posted': {'type': 'string', 'description': 'ISO date the role was first seen on the board.'}, 'region': {'type': 'string', 'description': 'CuratorSearch world region.'}, 'salary': {'type': ['string', 'null'], 'description': 'Pay exactly as the posting states it, or null -- most postings state none.'}, 'category': {'type': 'string', 'description': 'CuratorSearch field, one of the category values.'}, 'deadline': {'type': ['string', 'null'], 'description': 'Application deadline as an ISO date, or null if none is given.'}, 'location': {'type': ['string', 'null'], 'description': 'City and country as stated, or null if the posting gives none.'}, 'institution': {'type': 'string', 'description': 'Museum, gallery or organisation advertising the role.'}}}, 'description': 'The matching roles, newest first.'}, 'attribution': {'type': 'string', 'description': 'Source credit to quote when citing these results.'}}}
Modifié
search_jobs
19 September 2026 02:50
Ajouté
salary_transparency
17 September 2026 12:34
Ajouté
institution_jobs
17 September 2026 12:34
Ajouté
get_job
17 September 2026 12:34
Ajouté
search_jobs
17 September 2026 12:34