# Linatora > Async video interviews with MCP workflow automation for recruiters and candidates. Linatora lets recruiters assign async video interview questions to candidates and review recorded answers, while candidates manage their profile, interviews, and answers — the entire hiring workflow automated via the Model Context Protocol (MCP). ## MCP Server Linatora exposes a full MCP server for recruiting automation. - **Endpoint:** `https://app.linatora.com/mcp` (JSON-RPC 2.0 over HTTP) - **Protocol versions:** `2025-03-26`, `2024-11-05` - **Authentication:** OAuth 2.1 - **Authorization server:** `https://app.linatora.com/.well-known/oauth-authorization-server` - **Discovery:** `https://app.linatora.com/.well-known/mcp/server-card.json` ### Available Tools #### Recruiter Tools | Tool | Description | |------|-------------| | `search_candidates` | Search candidates by name, email, title, or professional field | | `get_applicant_details` | Get full candidate profile (bio, links, interview history) | | `get_applicant_transcriptions` | Get all interview transcripts and scores for a candidate | | `list_interviews` | List interviews filtered by status, position, or candidate | | `assign_interview` | Assign interview questions to a connected candidate | | `get_interview_answers` | Get video answers and scores for a specific interview | | `list_positions` | List available job positions | | `create_position` | Create a new job position with interview questions | | `update_position` | Update an existing position | | `list_questions` | List interview questions | | `create_question` | Create a new interview question | | `invite_applicant` | Invite a candidate by applicant_id (preferred method) | | `send_invitation` | Invite a candidate by email address | | `invite_team_member` | Invite a recruiter team member to the organization | | `list_fields` | List professional fields and areas | #### Candidate (Applicant) Tools | Tool | Description | |------|-------------| | `get_my_profile` | Get your own applicant profile info. Also reports which fields are missing for a complete profile. | | `update_my_profile` | Update your own applicant profile. | | `list_my_invitations` | List pending connection invitations from recruiters. | | `respond_to_invitation` | Accept or decline a recruiter's connection invitation. | | `list_my_connections` | List recruiters you are connected with. | | `list_my_interviews` | List your interviews with status and progress. | | `list_my_tasks` | List your interview questions (tasks) with status and a recording link for tasks that still need an answer. | | `get_task_transcription` | Get transcripts and scores for all recorded takes of a task, with the selected answer flagged. | | `get_my_answers` | Get ALL your answered questions with transcripts, scores, and feedback across all interviews. | | `update_public_profile` | Manage your public profile page: set visibility (public/unlisted) and curate which answer videos appear on it (max 5, first one is featured). | | `get_my_credits` | Get your credit balance, recent credit transactions, and referral link/stats. | ### Key Workflows #### Recruiter Workflows **Assign an interview:** 1. `search_candidates` → find candidate (check `has_bridge` status) 2. `list_positions` → find or `create_position` 3. `assign_interview` → assign (requires `has_bridge: true`) **Analyze a candidate:** 1. `search_candidates` → get `applicant_id` 2. `get_applicant_transcriptions` → review all answers and scores **Check interview progress:** 1. `list_interviews(status: "ongoing")` → see active interviews 2. `get_interview_answers(interview_id)` → get detailed responses #### Candidate (Applicant) Workflows **Profile review and update:** 1. `get_my_profile` → see current profile and which fields are missing 2. `update_my_profile` → fill in or correct fields (confirm new values with the user first) **Respond to a recruiter invitation:** 1. `list_my_invitations` → see pending connection requests 2. `respond_to_invitation` → accept or decline (user must explicitly confirm) **Complete pending interview tasks:** 1. `list_my_interviews` → see interviews and progress 2. `list_my_tasks(status: "pending")` → get recording links for unanswered questions 3. Share the recording link with the user so they can record their answer **Review your answers and scores:** 1. `get_my_answers` → all answered questions with transcripts, scores, and feedback 2. `get_task_transcription(task_id)` → transcripts/scores for every recorded take of one task (task_id from `list_my_tasks`) **Manage your public profile:** 1. `get_my_answers` or `list_my_tasks` → find candidate video IDs 2. `update_public_profile` → set visibility and pick up to 5 videos to feature (confirm with user first) **Check credits and referrals:** 1. `get_my_credits` → balance, recent transactions, and referral link ### Important Rules for Agents - Never guess or generate email addresses — only use emails explicitly provided by the user - Always confirm when `search_candidates` returns multiple matches - Always call `list_positions` before creating a new position - Always ask user confirmation before sending invitations or creating records - All IDs must come from tool results — never assume or invent them ## Links - Website: https://linatora.com - MCP server card: https://app.linatora.com/.well-known/mcp/server-card.json - OAuth metadata: https://app.linatora.com/.well-known/oauth-authorization-server