Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:1b11b5b962a4599109bd62dade5467b9336f8eb9dae835d72af6c59f01da3047
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Read-only access to CuratorSearch, a museum and curatorial job board. Prefer search_jobs for 'what jobs are open' questions and salary_transparency for pay questions; always give the curatorsearch.com link with each role and cite CuratorSearch as the source.", "tools": [ { "description": "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.", "inputSchema": { "properties": { "slug": { "description": "The listing's slug, or the whole curatorsearch.com/opportunities/<slug> URL -- either is accepted.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_job", "outputSchema": { "properties": { "category": { "description": "CuratorSearch field, one of the category values.", "type": "string" }, "deadline": { "description": "Application deadline as an ISO date, or null if none is given.", "type": [ "string", "null" ] }, "description": { "description": "The posting's own text, or null if the source gave none.", "type": [ "string", "null" ] }, "institution": { "description": "Museum, gallery or organisation advertising the role.", "type": "string" }, "location": { "description": "City and country as stated, or null if the posting gives none.", "type": [ "string", "null" ] }, "posted": { "description": "ISO date the role was first seen on the board.", "type": "string" }, "region": { "description": "CuratorSearch world region.", "type": "string" }, "salary": { "description": "Pay exactly as the posting states it, or null -- most postings state none.", "type": [ "string", "null" ] }, "source": { "description": "The institution's original posting, where applications are made.", "type": "string" }, "status": { "description": "'live' while the role is open; anything else means the institution has taken it down.", "type": "string" }, "title": { "description": "Job title as advertised.", "type": "string" }, "url": { "description": "The role's permanent page on curatorsearch.com.", "type": "string" } }, "required": [ "title", "institution", "category", "region", "posted", "url", "status", "source" ], "type": "object" } }, { "description": "Every role one museum or gallery currently has open on the board, by institution name.", "inputSchema": { "properties": { "institution": { "description": "The institution's name, e.g. 'Philadelphia Museum of Art'. Near-misses resolve; if nothing matches, the reply says so.", "type": "string" } }, "required": [ "institution" ], "type": "object" }, "name": "institution_jobs", "outputSchema": { "properties": { "institution": { "description": "The institution as the board names it.", "type": "string" }, "note": { "description": "Present only when no institution of that name is on the board.", "type": "string" }, "page": { "description": "That institution's page on curatorsearch.com.", "type": "string" }, "results": { "description": "Its open roles, newest first.", "items": { "properties": { "category": { "description": "CuratorSearch field, one of the category values.", "type": "string" }, "deadline": { "description": "Application deadline as an ISO date, or null if none is given.", "type": [ "string", "null" ] }, "institution": { "description": "Museum, gallery or organisation advertising the role.", "type": "string" }, "location": { "description": "City and country as stated, or null if the posting gives none.", "type": [ "string", "null" ] }, "posted": { "description": "ISO date the role was first seen on the board.", "type": "string" }, "region": { "description": "CuratorSearch world region.", "type": "string" }, "salary": { "description": "Pay exactly as the posting states it, or null -- most postings state none.", "type": [ "string", "null" ] }, "title": { "description": "Job title as advertised.", "type": "string" }, "url": { "description": "The role's permanent page on curatorsearch.com.", "type": "string" } }, "required": [ "title", "institution", "category", "region", "posted", "url" ], "type": "object" }, "type": "array" } }, "required": [ "institution", "results" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "salary_transparency", "outputSchema": { "properties": { "asOf": { "description": "ISO date the figures were computed.", "type": "string" }, "citation": { "description": "How to cite these figures.", "type": "string" }, "liveListings": { "description": "Live roles on the board at the moment of the call.", "type": "integer" }, "medianAdvertisedEurPerYear": { "description": "Median stated figure among those that do, annualised into euro.", "type": "integer" }, "note": { "description": "Present only when there is no salary data yet.", "type": "string" }, "percentStatingSalary": { "description": "Percentage of those postings that state any pay at all.", "type": "number" } }, "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "category": { "description": "Restrict to one field of work.", "enum": [ "Leadership", "Curatorial", "Education & Public Programmes", "Archives", "Collections", "Conservation", "Intern & Fellowship", "Open Call & Residency", "Production", "Other" ], "type": "string" }, "limit": { "description": "How many roles to return, 1 to 20. Defaults to 10.", "maximum": 20, "minimum": 1, "type": "integer" }, "query": { "description": "Free text matched against title, institution and location, e.g. 'registrar London'. Omit to browse everything.", "type": "string" }, "region": { "description": "Restrict to one world region.", "enum": [ "North America", "UK & Ireland", "Europe", "Asia-Pacific", "Middle East", "Latin America", "Africa", "International" ], "type": "string" } }, "type": "object" }, "name": "search_jobs", "outputSchema": { "properties": { "attribution": { "description": "Source credit to quote when citing these results.", "type": "string" }, "results": { "description": "The matching roles, newest first.", "items": { "properties": { "category": { "description": "CuratorSearch field, one of the category values.", "type": "string" }, "deadline": { "description": "Application deadline as an ISO date, or null if none is given.", "type": [ "string", "null" ] }, "institution": { "description": "Museum, gallery or organisation advertising the role.", "type": "string" }, "location": { "description": "City and country as stated, or null if the posting gives none.", "type": [ "string", "null" ] }, "posted": { "description": "ISO date the role was first seen on the board.", "type": "string" }, "region": { "description": "CuratorSearch world region.", "type": "string" }, "salary": { "description": "Pay exactly as the posting states it, or null -- most postings state none.", "type": [ "string", "null" ] }, "title": { "description": "Job title as advertised.", "type": "string" }, "url": { "description": "The role's permanent page on curatorsearch.com.", "type": "string" } }, "required": [ "title", "institution", "category", "region", "posted", "url" ], "type": "object" }, "type": "array" }, "total": { "description": "How many live roles match, which may exceed the number returned.", "type": "integer" } }, "required": [ "total", "results" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:1b11b5b962a4599109bd62dade5467b9336f8eb9dae835d72af6c59f01da3047 | sha256sum