CuratorSearch

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
80%
命名品質
90%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,596Token(工具定義)
~4.3 KB典型回應大小
中等的注意力影響(128k 上下文的 1.25%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

https://curatorsearch.com/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢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.

輸入結構描述

{
  "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."
    }
  }
}

輸出結構描述

{
  "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.

輸入結構描述

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

輸出結構描述

{
  "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.

輸入結構描述

{
  "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"
  ]
}

輸出結構描述

{
  "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.

輸入結構描述

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

輸出結構描述

{
  "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."
    }
  }
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具
已驗證未記錄版本4 個工具
已驗證未記錄版本4 個工具