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 个工具