protogrid

Search / io.github.OpenCallPortal/open-call-portals

Open Call Portal

R0· no sign-in

Search PII-free opportunities, availability, and live events; prepare safe no-write form handoffs.

v1.0.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality67needs work
Trust76of 100
Uptime, 30 days96%
Latency p50406 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "open-call-portals": {
      "type": "http",
      "url": "https://opencallportal.com/mcp"
    }
  }
}
claude mcp add --transport http open-call-portals https://opencallportal.com/mcp
[mcp_servers.open-call-portals]
url = "https://opencallportal.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "open-call-portals": {
      "type": "remote",
      "url": "https://opencallportal.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "open-call-portals": {
      "type": "http",
      "url": "https://opencallportal.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=open-call-portals&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vb3BlbmNhbGxwb3J0YWwuY29tL21jcCJ9"
}
{
  "servers": {
    "open-call-portals": {
      "type": "http",
      "url": "https://opencallportal.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "open-call-portals": {
      "httpUrl": "https://opencallportal.com/mcp"
    }
  }
}
extensions:
  "open-call-portals":
    enabled: true
    name: "open-call-portals"
    type: streamable_http
    uri: "https://opencallportal.com/mcp"
    timeout: 300

Quality 67 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene43 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • fail
    tools.schemas1 tools lack an object input schema (prepare_listing_form)
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_platform_schema (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_live_events (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_open_calls (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • warn
    tools.token_costabout 22,735 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 22,735 tokens to load them all · tool set 7eb04aa8a1e5 · tools last changed 2026-09-26 · checked 2026-10-20 11:40 UTC

Tool changes

  • prepare_listing_formchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 76 / 100

no-repository
provenance45
liveness98
freshness85
hygiene80

+website +reachable +uptime-96% ~updated-45d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://opencallportal.com/mcp streamable-httpnoneyes96%406 ms2025-11-252026-10-20

Tools (7)

get_opportunityLook up one opportunity by its exact public UI reference (for example DJ-3128) before making any claim about it. Returns only an active, non-deleted, non-membership, non-partner public listing and its allowedResponderRoles. State only fields in the live result; missing means not provided. Never invent volume, frequency, or competition.
get_platform_schemaReturns the Open Call Portals discovery contract: portal IDs, field value options, MCP server details, and read-only search metadata. Call this first for autodiscovery before filtering searches.
prepare_listing_formValidate a versioned, allowlisted listing-form prefill and return the canonical create-form URL. It supports every mounted form advertised by get_platform_schema (39 portal forms plus live events); the exact portal-specific fields, posting roles, and value shapes are declared in this tool's schema. This is a no-write handoff: it never creates a draft, sends email, verifies a code, or publishes. Do not include email addresses, verification codes, tokens, session IDs, credentials, contact data, or unrecognized fields.
prepare_response_formFor an exact active DJ opportunity only, validate a small response prefill and return the normal editable DJ form URL. This is a no-write handoff: AI may prepare it, but the human supplies identity/contact, consent and verification, then clicks send. It never creates drafts, sends email, verifies, publishes, creates alerts, or uses webhooks. Do not include names, email, phone, credentials, tokens, consent, verification codes, or submission fields.
search_availabilityUse this first for buyer-side requests to find, hire, or book talent, crew, suppliers, or services: 'I need a live band in St Kilda', 'find a DJ near Amsterdam', or 'event crew for hire'. For 'I need a live band in St Kilda', use portalId='lb-availability' and location='St Kilda'. Location hierarchy allows broader Melbourne availability to match St Kilda and labels it as a parent-area match. Do NOT use this when the speaker is the talent seeking work, e.g. 'I am a DJ looking for gigs/work'; use search_open_calls for that perspective. Do NOT use this when the user explicitly says 'open call' or asks to post/find/search open calls; that explicit wording takes priority. If availability returns zero, offer to post an open call; never claim a match exists. Search availability listings posted by performers, crew, and service providers who are actively seeking bookings. These are the supply side of the platform — DJs, bands, comedians, artists, event crew, and more advertising their availability for a date range or location. Complement to search_open_calls (demand side).
search_live_eventsUse when the user asks to find, show, attend, watch, visit, or buy tickets for an event or session—not when they need to hire talent. For example, 'find an analogue listening session in Melbourne' uses this tool; 'analogue listening sessions looking for organisers' uses search_open_calls. Search first-party upcoming live events submitted directly to the Open Call Portals Live Events Map. Includes DJ sets, live bands, comedy nights, and more with geo coordinates (lat/lng), ticketing info, source links, and event start/end times. All events are future or currently in progress.
search_open_callsUse this when talent, crew, suppliers, or service providers are looking for posted work: gigs, jobs, opportunities, vacancies, slots, bookings, wanted/needed listings, or open calls. Treat those words as search intent—not as genre/type filters. For example, 'DJ gig Amsterdam', 'DJ opportunity in Amsterdam', 'DJ needed listings Amsterdam', and 'I am a DJ looking for work in Amsterdam' all use search_open_calls with portalId='dj' and location='Amsterdam'. Explicit wording such as 'post/find/search open calls' always uses this tool, even when the speaker is a venue manager or private event host. Impersonal posted requirements such as 'analog listening sessions looking for organisers' also use this tool. Do NOT use this as the first choice when a buyer says 'I need/find/want to hire/book a DJ or live band'; call search_availability for that buyer-side intent instead. Venues and event hosts post open calls to find DJs, live bands, comedians, artists, content creators, event crew, solopreneurs, game hosts, casting talent, and more. Returns structured listings with location, genre, type, close date, and a canonical URL. Each result includes allowedResponderRoles so callers can explain who may apply through the listing's canonical web page. All results are PII-free.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.OpenCallPortal/open-call-portals",
  "title": "Open Call Portal",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://opencallportal.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.1",
  "websiteUrl": "https://opencallportal.com",
  "description": "Search PII-free opportunities, availability, and live events; prepare safe no-write form handoffs."
}