# YugaTek Portal > YugaTek's recruiting portal (an applicant tracking system for a US IT staffing company) is an MCP server. Sign in with OAuth or a personal token; every tool runs with the signed-in person's role permissions, and every change is recorded in the activity log. ## Connect - MCP server (Streamable HTTP): https://portal.yugatek.net/api/mcp - OAuth: protected resource metadata https://portal.yugatek.net/.well-known/oauth-protected-resource, authorization server metadata https://portal.yugatek.net/.well-known/oauth-authorization-server (dynamic client registration, authorization code with PKCE S256) - Personal token: Authorization: Bearer yt_pat_… (made in the portal under Settings > API access) ## Docs - Overview: https://docs.yugatek.net/ - Authentication: https://docs.yugatek.net/authentication - Connect an assistant: https://docs.yugatek.net/connect - MCP tools: https://docs.yugatek.net/tools - REST API (job publish API): https://docs.yugatek.net/rest - Errors and limits: https://docs.yugatek.net/errors ## Machine-readable - https://docs.yugatek.net/mcp/tools.json: every MCP tool with its parameters - https://docs.yugatek.net/openapi.json: the REST API (OpenAPI 3) ## MCP tools (30: 24 read, 6 write) - list_jobs (read): Lists the workspace's jobs with status, applicant counts and whether each is actively hiring. Parameters: status? (Open | Draft | Closed) · query? · limit? (max 100) · cursor?. - get_job (read): Returns one job in full with its hiring team, screening questions and the number of applications in each stage. Parameters: jobId. - list_candidates (read): Lists candidates the user can reach with their current stage, skills and scores; can be filtered by job or text. Parameters: jobId? · query? · limit? (max 100) · cursor?. - get_candidate (read): Returns one candidate with their profile, applications and notes, limited to what the user's role may see. Parameters: candidateId. - list_applications (read): Lists applications with candidate, stage and outcome, as the Applications board shows them. Parameters: jobId? · stageKey? · includeArchived? · limit? (max 100) · cursor?. - get_application (read): Returns one application in full: candidate, job, stage, resume check, interviews, ratings, notes and messages, limited to what the user's role may see. Parameters: applicationId. - list_bench (read): Lists the people on a bench, with role families, when they were added and skills. Parameters: limit? (max 100) · cursor?. - get_job_bench (read): Ranks the people on a bench by how well they match one job. Parameters: jobId · limit? (max 100) · cursor?. - get_job_applicants (read): Returns a job's applicants or leads ranked by the resume check, with shortlist state and vendor submission status. Parameters: jobId · list? (applicants | leads) · limit? (max 100) · cursor?. - list_vendors (read): Lists the workspace's vendors with their open job and submission counts. Parameters: limit? (max 100) · cursor?. - get_vendor (read): Returns one vendor with its contact, submission method and counts. Parameters: vendorId. - list_interview_results (read): Lists AI video interviews with status, candidate, job and scores. Parameters: status? (invited | started | completed | expired) · limit? (max 100) · cursor?. - get_interview_result (read): Returns one AI video interview in full: answers, scores and verdict. Parameters: interviewId. - list_inbox_threads (read): Lists inbox conversations with candidates, newest first, with unread and starred flags. Parameters: filter? (all | unread | starred) · limit? (max 100) · cursor?. - get_inbox_thread (read): Returns one inbox conversation with its messages in order. Parameters: threadId. - get_calendar (read): Returns interviews, follow-ups and busy times between two dates. Parameters: from? · to? · scope? (mine | team | workspace) · types[]? (interview | followup | external) · limit? (max 100) · cursor?. - get_analytics_summary (read): Returns the careers analytics insight summary for the last 7 or 30 days. Parameters: range? (7 | 30). - list_saved_searches (read): Lists the user's saved searches for one list. Parameters: list (candidates | bench | jobs | applications | pipeline | assessments | inbox | vendors | privacy | accounts). - list_staffing_lookups (read): Lists the workspace's lookup values for vendors, implementation partners and clients. Parameters: kind (vendor | implementation_partner | client) · query? · limit? (max 100) · cursor?. - list_todos (read): Lists the user's to-dos, open first, or every to-do on one candidate. Parameters: candidateId? · limit? (max 100) · cursor?. - get_review_queue (read): Returns the candidates that need the user's attention, as the Review queue shows them. Parameters: limit? (max 100) · cursor?. - search (read): Searches jobs, candidates and inbox threads by text. Parameters: q. - list_candidate_documents (read): Lists which verification documents a candidate has on file, by kind, file name and date. Never the files themselves. Parameters: candidateId. - check_vendor_submission (read): Checks whether a candidate has the documents a vendor submission needs and lists what is missing (partner-specific document rules apply). Parameters: applicationId. - create_job (write): Creates a new job as a Draft; publishing stays with owners and admins. Parameters: title · department? · location? · employment? · pitch? · description? · requirements[]? · niceToHave[]? · salaryMin? · salaryMax? · contractType? · activelyHiring?. - set_job_status (write): Sets a job's status to Open, Draft or Closed. Owners and admins only. Parameters: jobId · status (Open | Draft | Closed). - set_job_actively_hiring (write): Turns a job's actively hiring flag on or off. Parameters: jobId · activelyHiring. - add_to_bench (write): Adds a candidate to a bench for a role family, optionally for one job. Parameters: candidateId · roleFamily (java | dotnet | datasci | python | fullstack | qa | sre | devops | cloud | genai | dataeng | dba | privacy | security | workday | salesforce | servicenow | gis | insurance | product | ba | pm | other) · jobId?. - request_candidate_documents (write): Asks a candidate for documents by email and WhatsApp with a secure 7-day upload link. Parameters: candidateId · items[] (dl | visa | i94 | workAuth) · applicationId? · message? · includeJobLink?. - submit_to_vendor (write): Submits a candidate to the job's vendor with the chosen documents attached; partner-specific document rules apply. Parameters: applicationId · documents[] (dl | visa | i94 | workAuth) · note?.