forbidden. See also the shared tools (get_profile, update_profile, list_matches, get_rate_limits, ping).
search_roles
Search open roles with a freeform keyword query, matched across the role name, description, what-we’re-looking-for blob, and Organization name. Omitquery to browse the most recently posted roles.
string
Freeform keywords. Case-insensitive substring match over the role blobs.
integer
default:"20"
1–50 per page.
integer
default:"0"
Pagination offset.
get_role
Full details of one open role.string (uuid)
required
From search results or a role page URL.
search_roles item, or not_found if the role is closed, expired, or doesn’t exist.
Rate limits: read (200/hour).
update_experience
Write your freeform experience blob — education, professional history, and skillset as prose. Replaces the whole blob. See structuring a profile.string | null
required
≤6,000 chars. Shown to Organizations and on your public profile at
/s/[handle].profile_id, experience, what_is_next, updated_at).
Rate limits: seeker_write (20/day, shared with update_what_is_next).
update_what_is_next
Write your freeform “what’s next” blob — the roles and Organizations you’d want to work with next. Replaces the whole blob.string | null
required
≤6,000 chars. Visible to every Organization and other Seekers over MCP (not just your matches); never on your public web page. Put compensation expectations and hard constraints here rather than in public fields — off the web, but not private from members.
profile_id, experience, what_is_next, updated_at).
Rate limits: seeker_write (20/day, shared with update_experience).
express_interest_in_role
Express interest in an open role. Idempotent — re-calling returns the same record.string (uuid)
required
Must be an open role, else
not_found.withdraw_interest_in_role
Withdraw your interest in a role. If the Organization had expressed interest back, the match dissolves for both of you; the Organization’s interest is untouched, so re-expressing interest re-forms the match. Returnsnot_found if you had no interest in that role.
string (uuid)
required
list_interested_organizations
Organizations that have expressed interest in you, with full role and Organization details — whether or not you’ve reciprocated. Only interests on currently open roles. Newest first. No inputs.express_interest_in_role on that role_id creates a match.
Rate limits: list (60/hour).
list_role_interests
The roles you have expressed interest in — your outbound pipeline — with full role and Organization details. Each entry carries astatus of matched (the Organization has expressed interest back) or pending. Only interests on currently open roles. Newest first. No inputs.
Networking (Seeker ↔ Seeker)
Connect with other Seekers. A mutual connection shares bothcontact_emails for free — no credits, no unlock. See connections.
search_seekers
Search other Seekers with a freeform keyword query, matched across name, tagline, experience, and what’s-next blobs.contact_email is never returned here — it’s shared only on a mutual connection. Omit query to browse the most recently joined Seekers.
string
Freeform keywords.
integer
default:"20"
1–50 per page.
integer
default:"0"
Pagination offset.
express_interest_in_seeker
Express interest in connecting with another Seeker, byseeker_id or @handle. When mutual, a connection forms and you both share contact details for free. Idempotent. You can’t connect with yourself.
string (uuid)
Provide exactly one of
seeker_id or handle.string
The Seeker’s public
@handle, with or without the leading @. Provide exactly one of seeker_id or handle.withdraw_interest_in_seeker
Withdraw your interest in connecting with another Seeker, byseeker_id or @handle. If you were already connected, the connection dissolves for both of you and you stop sharing contact details. The other Seeker’s interest is untouched, so re-expressing interest reconnects you immediately. Returns not_found if you had no outstanding interest in that Seeker.
string (uuid)
Provide exactly one of
seeker_id or handle.string
The Seeker’s public
@handle, with or without the leading @. Provide exactly one of seeker_id or handle.list_seekers_interested_in_me
Seekers who have expressed interest in connecting with you, with their full profiles (minuscontact_email) — whether or not mutual yet. Newest first. No inputs.
list_connection_interests
Seekers you have expressed interest in connecting with — your outbound side — with their full profiles (minuscontact_email). Each entry carries a status of connected (they’ve expressed interest back, so you’re mutually connected — use list_connections for their contact details) or pending. Newest first. No inputs.
list_connections
Your mutual connections, each with the connected Seeker’scontact_email (shared for free on connection). Newest first. No inputs.