CuratorSearch

Live museum and curatorial job listings from institutions' own careers pages, plus a salary archive.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
80%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,596Tokens (Tool-Definitionen)
~4.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.25% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "jobs": {
      "url": "https://curatorsearch.com/mcp"
    }
  }
}

Remote-Endpunkte

https://curatorsearch.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (4)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_jobs(query, category, region, limit)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free text matched against title, institution and location, e.g. 'registrar London'. Omit to browse everything."
    },
    "category": {
      "type": "string",
      "enum": [
        "Leadership",
        "Curatorial",
        "Education & Public Programmes",
        "Archives",
        "Collections",
        "Conservation",
        "Intern & Fellowship",
        "Open Call & Residency",
        "Production",
        "Other"
      ],
      "description": "Restrict to one field of work."
    },
    "region": {
      "type": "string",
      "enum": [
        "North America",
        "UK & Ireland",
        "Europe",
        "Asia-Pacific",
        "Middle East",
        "Latin America",
        "Africa",
        "International"
      ],
      "description": "Restrict to one world region."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "How many roles to return, 1 to 20. Defaults to 10."
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "total": {
      "type": "integer",
      "description": "How many live roles match, which may exceed the number returned."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Job title as advertised."
          },
          "institution": {
            "type": "string",
            "description": "Museum, gallery or organisation advertising the role."
          },
          "location": {
            "type": [
              "string",
              "null"
            ],
            "description": "City and country as stated, or null if the posting gives none."
          },
          "category": {
            "type": "string",
            "description": "CuratorSearch field, one of the category values."
          },
          "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."
          },
          "deadline": {
            "type": [
              "string",
              "null"
            ],
            "description": "Application deadline as an ISO date, or null if none is given."
          },
          "posted": {
            "type": "string",
            "description": "ISO date the role was first seen on the board."
          },
          "url": {
            "type": "string",
            "description": "The role's permanent page on curatorsearch.com."
          }
        },
        "required": [
          "title",
          "institution",
          "category",
          "region",
          "posted",
          "url"
        ]
      },
      "description": "The matching roles, newest first."
    },
    "attribution": {
      "type": "string",
      "description": "Source credit to quote when citing these results."
    }
  },
  "required": [
    "total",
    "results"
  ]
}
🟢get_job(slug)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The listing's slug, or the whole curatorsearch.com/opportunities/<slug> URL -- either is accepted."
    }
  },
  "required": [
    "slug"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "Job title as advertised."
    },
    "institution": {
      "type": "string",
      "description": "Museum, gallery or organisation advertising the role."
    },
    "location": {
      "type": [
        "string",
        "null"
      ],
      "description": "City and country as stated, or null if the posting gives none."
    },
    "category": {
      "type": "string",
      "description": "CuratorSearch field, one of the category values."
    },
    "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."
    },
    "deadline": {
      "type": [
        "string",
        "null"
      ],
      "description": "Application deadline as an ISO date, or null if none is given."
    },
    "posted": {
      "type": "string",
      "description": "ISO date the role was first seen on the board."
    },
    "url": {
      "type": "string",
      "description": "The role's permanent page on curatorsearch.com."
    },
    "status": {
      "type": "string",
      "description": "'live' while the role is open; anything else means the institution has taken it down."
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "The posting's own text, or null if the source gave none."
    },
    "source": {
      "type": "string",
      "description": "The institution's original posting, where applications are made."
    }
  },
  "required": [
    "title",
    "institution",
    "category",
    "region",
    "posted",
    "url",
    "status",
    "source"
  ]
}
🟢institution_jobs(institution)

Every role one museum or gallery currently has open on the board, by institution name.

Eingabe-Schema

{
  "type": "object",
  "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."
    }
  },
  "required": [
    "institution"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "institution": {
      "type": "string",
      "description": "The institution as the board names it."
    },
    "page": {
      "type": "string",
      "description": "That institution's page on curatorsearch.com."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Job title as advertised."
          },
          "institution": {
            "type": "string",
            "description": "Museum, gallery or organisation advertising the role."
          },
          "location": {
            "type": [
              "string",
              "null"
            ],
            "description": "City and country as stated, or null if the posting gives none."
          },
          "category": {
            "type": "string",
            "description": "CuratorSearch field, one of the category values."
          },
          "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."
          },
          "deadline": {
            "type": [
              "string",
              "null"
            ],
            "description": "Application deadline as an ISO date, or null if none is given."
          },
          "posted": {
            "type": "string",
            "description": "ISO date the role was first seen on the board."
          },
          "url": {
            "type": "string",
            "description": "The role's permanent page on curatorsearch.com."
          }
        },
        "required": [
          "title",
          "institution",
          "category",
          "region",
          "posted",
          "url"
        ]
      },
      "description": "Its open roles, newest first."
    },
    "note": {
      "type": "string",
      "description": "Present only when no institution of that name is on the board."
    }
  },
  "required": [
    "institution",
    "results"
  ]
}
🟢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.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "asOf": {
      "type": "string",
      "description": "ISO date the figures were computed."
    },
    "citation": {
      "type": "string",
      "description": "How to cite these figures."
    },
    "note": {
      "type": "string",
      "description": "Present only when there is no salary data yet."
    }
  }
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet4 Tools
verifiziertVersion nicht aufgezeichnet4 Tools