Teamtailor MCP Server
for AI Agents
Connect your AI agent to StackOne's Teamtailor MCP server and give it 106 MCP tools out of the box. Auth, tool execution, and security all managed.
Coverage
106 Agent Actions
Create, read, update, and delete across Teamtailor — and extend your agent's capabilities with custom actions.
Authentication
Agent Tool Authentication
Per-user OAuth in one call. Your Teamtailor MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Agent Protection
Every Teamtailor tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Max Agent Context. Min Cost.
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Teamtailor call.
Tools Discovery →What is the Teamtailor MCP Server?
A Teamtailor MCP server lets AI agents read and write Teamtailor data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Teamtailor MCP server ships with 106 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, observability, and agent execution runtime. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
All Teamtailor MCP Tools
Every action from Teamtailor's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Answers
- Create Answer
Create a new answer for a candidate's response to an application question. Requires candidate_id from list_candidates, question_id from list_questions, and picked_question_id from list_picked_questions.
- List Answers
Retrieve candidate responses to application questions. IMPORTANT - You must use filter_question parameter to avoid timeout errors, as the answers endpoint returns massive datasets that will cause Bad Gateway errors without filtering. Only question and candidate relationships can be included.
- Get Answer
Retrieve a specific answer by its unique identifier. Returns the complete response including the answer content and metadata. Only question and candidate relationships can be included.
Candidates
- Create Candidate
Add a new candidate to the recruitment system with their profile information. Conditional requirement - either email is required OR sourced must be set to true. This creates a candidate record that can then be associated with job applications. Requires Admin scope with write permissions.
- List Candidates
Retrieve a paginated list of all candidates in the recruitment system. Candidates are individuals who have applied for positions or been sourced by recruiters. You can filter by various criteria including email address, department, role, location, and date ranges. Available include options are activities, division, department, role, job-applications, questions, answers, locations, regions, uploads, custom-field-values, partner-results, form-answers, onboardings, and interviews. Requires Admin scope.
- Get Candidate
Retrieve complete information about a specific candidate using their unique identifier. Returns the full candidate profile including personal details, contact information, application history, and any associated documents or data. Available include options are activities, division, department, role, job-applications, questions, answers, locations, regions, uploads, custom-field-values, partner-results, form-answers, onboardings, and interviews. Requires Admin scope.
- Update Candidate
Modify an existing candidate's profile information. Use this to update contact details, correct information, or add additional data to a candidate record. Requires Admin scope with write permissions.
- Delete Candidate
Permanently remove a candidate and all their associated data from the system. This action cannot be undone and should be used with caution. Requires Admin scope with elevated write permissions.
Companys
- Get Company
Retrieve the organization's company profile and account settings. Returns core company information including company name, career site URL, branding settings, and account configuration. This is the central resource for understanding the Teamtailor account setup.
- Update Company
Update the organization's company profile settings. Allows modifying company name and website. Can also update the manager relationship by providing a user ID. Requires Admin scope with write permissions.
Custom Field Values
- Create Custom Field Value
Set a custom field value for a candidate. Requires custom_field_id from list_custom_fields (must be a Candidate owner-type field) and candidate_id from list_candidates.
- List Custom Field Values
Retrieve custom field values for specific candidates or jobs.
- Get Custom Field Value
Retrieve a specific custom field value by its unique identifier. Obtain the ID from list_custom_field_values action.
- Update Custom Field Value
Modify an existing custom field value. Requires id from list_custom_field_values or create_custom_field_value.
Custom Fields
- Create Custom Field
Create a new custom field definition for candidates or jobs.
- List Custom Fields
Retrieve all custom field definitions configured in the system. Custom fields extend the standard candidate and job data model with additional attributes specific to your organization's needs, such as source tracking, skill ratings, or compliance information. Requires Admin scope.
- Get Custom Field
Retrieve a specific custom field definition by its unique identifier. Requires id obtained from list_custom_fields.
- Update Custom Field
Update an existing custom field definition. Requires id from list_custom_fields. Note that api-name cannot be changed after creation.
Custom Field Selects
- Create Custom Field Select
Create a new select-type custom field definition. Allows creating single-select or multi-select fields with predefined options that users can choose from.
- Get Custom Field Select
Retrieve a specific select-type custom field by its unique identifier. Returns the complete field configuration including its available options.
- Update Custom Field Select
Update an existing select-type custom field definition. Allows modifying the name or API name of an existing select or multi-select field.
Custom Field Options
- Create Custom Field Option
Create a new option for a select-type custom field. Adds a new choice to the dropdown menu of an existing single-select or multi-select field.
- List Custom Field Options
Retrieve all available options for select-type custom fields. Options are the individual choices that appear in dropdown menus for single-select and multi-select custom fields. Filter by custom field to see options for a specific field.
- Get Custom Field Option
Retrieve a specific custom field option by its unique identifier. Returns the option's value and the custom field it belongs to.
- Update Custom Field Option
Update an existing custom field option. Allows modifying the display value of a dropdown choice.
Divisions
- List Divisions
Retrieve all divisions configured in the organization. Divisions represent the highest level of organizational hierarchy, grouping multiple departments together. Examples include business units like Sales Division, Engineering Division, or regional divisions like North America and Europe. Requires Admin scope.
- Get Division
Retrieve detailed information about a specific division by its unique identifier. Returns the division name and related organizational data.
Departments
- Create Department
Add a new department to the organizational structure. Departments are used to categorize jobs and appear as filters on the career site. Requires write permissions.
- List Departments
Retrieve a paginated list of all departments in the organization. Departments are used to categorize jobs and organize the hiring process by team or business unit. Useful for building career site filters and syncing organizational structure.
- Get Department
Retrieve complete information about a specific department using its unique identifier. Returns the department name, associated jobs, and organizational relationships.
- Update Department
Modify an existing department's information, such as renaming it. Useful for organizational restructuring or keeping department names in sync with external HR systems. Requires write permissions.
- Delete Department
Permanently remove a department from the organizational structure. Before deleting, ensure no jobs are assigned to this department or reassign them first. Requires write permissions.
Forms
- List Forms
Retrieve all forms configured in the organization. Forms are customizable questionnaires used to collect structured information from candidates during the application process. They can include text fields, multiple choice questions, file uploads, and more. Requires Admin scope.
- Get Form
Retrieve detailed information about a specific form by its unique identifier. Returns the form configuration, title, and structure.
Form Questions
- List Form Questions
Retrieve all questions used across forms. Questions define what information is collected from candidates, including the question text, type such as text, select, or file upload, and whether an answer is required. Filter by form to see questions for a specific form.
- Get Form Question
Retrieve a specific form question by its unique identifier. Returns the complete question configuration including text, type, and validation rules.
Form Answers
- List Form Answers
Retrieve candidate responses to form questions. Answers contain the actual data submitted by candidates when completing application forms or questionnaires.
- Get Form Answer
Retrieve a specific form answer by its unique identifier. Returns the complete response including the question asked and the candidate's answer.
Interviews
- List Interviews
Retrieve all scheduled interviews across the organization. Interviews are meetings arranged between candidates and team members during the hiring process. This endpoint is read-only as interviews are created through the Teamtailor UI or calendar integrations. Requires Admin scope.
- Get Interview
Retrieve detailed information about a specific interview by its unique identifier. Returns the complete interview record including scheduling details, participants, and location. This endpoint is read-only.
Jobs
- Create Job
Create a new job posting in the recruitment system. The job can be created as a draft for review or published immediately to your career site. You must specify a user who will own and manage the job. Requires write permissions.
- List Jobs
Retrieve a paginated list of all job postings in the system. Jobs represent open positions that candidates can apply for. You can filter by status, department, location, and other criteria. The jobs visible depend on your API key scope where Public keys see only published jobs while Admin keys see all jobs including drafts and archived positions.
- Get Job
Retrieve complete information about a specific job posting using its unique identifier. Returns the full job details including title, description, requirements, application form settings, and all associated data. Useful for displaying job details on external career sites or integrating with job boards.
- Update Job
Modify an existing job posting. Use this to update job details, change the status, or edit the description. Commonly used to publish draft jobs, archive filled positions, or update job requirements. Requires write permissions.
- Delete Job
Permanently remove a job posting and all its associated data from the system. This action cannot be undone. Consider archiving the job instead if you want to preserve historical data and candidate records. Requires write permissions.
Job Applications
- Create Job Application
Submit a new job application connecting a candidate to a specific job position. This creates the link between a candidate and a job and places them into the hiring pipeline. Requires Admin scope with write permissions.
- List Job Applications
Retrieve a paginated list of all job applications in the system. Job applications represent candidates who have applied for specific positions and track their progress through the hiring pipeline. You can filter by stage type, specific candidate, specific job, and date ranges. Requires Admin scope.
- Get Job Application
Retrieve complete information about a specific job application using its unique identifier. Returns the full application details including the candidate's current stage, application history, match score, and any rejection information. Requires Admin scope.
- Update Job Application
Modify a job application to update the cover letter. Requires Admin scope with write permissions.
Job Offers
- List Job Offers
Retrieve all employment offers that have been extended to candidates. Job offers track the formal offer process including salary details, start dates, and candidate responses. This endpoint is read-only as offers are created through the Teamtailor UI. Requires Admin scope.
- Get Job Offer
Retrieve detailed information about a specific job offer by its unique identifier. Returns the complete offer record including status, terms, and candidate response. This endpoint is read-only.
Locations
- Create Location
Add a new office location to the organization. Locations are used to categorize jobs geographically and appear as filters on the career site. Requires write permissions.
- List Locations
Retrieve a paginated list of all office locations in the organization. Locations represent physical offices or work sites where jobs are available. They appear as filters on the career site allowing candidates to find positions near them.
- Get Location
Retrieve complete information about a specific location using its unique identifier. Returns the full address details, geographic coordinates if available, and associated region information.
- Update Location
Modify an existing location's information such as its name or address details. Useful when office addresses change or names need updating. Requires write permissions.
- Delete Location
Permanently remove a location from the organization. Before deleting, ensure no jobs are assigned to this location or reassign them first. Requires write permissions.
Notes
- Create Note
Add a new note or comment to a candidate's profile. Use this to record interview feedback, document observations, or share information with the hiring team about a candidate. Requires Admin scope with write permissions.
- List Notes
Retrieve a paginated list of all notes and comments recorded on candidates and their job applications. Notes capture recruiter observations, interview feedback, and important information gathered during the hiring process. Requires Admin scope.
- Get Note
Retrieve the complete content of a specific note using its unique identifier. Returns the full note text, information about who wrote it, when it was created, and which candidate or application it relates to. Requires Admin scope.
- Update Note
Modify the content of an existing note. Use this to correct information, add additional details, or update feedback after further consideration. Requires Admin scope with write permissions.
- Delete Note
Permanently remove a note from a candidate or job application. Use this to delete outdated information, remove inappropriate comments, or clean up test data. This action cannot be undone. Requires Admin scope with write permissions.
Onboardings
- List Onboardings
Retrieve all onboarding records for hired candidates. Onboardings track the new hire process from offer acceptance through their first day and beyond, including paperwork completion, equipment setup, and orientation scheduling. Filter by candidate to see their onboarding status. Requires Admin scope.
- Get Onboarding
Retrieve detailed information about a specific onboarding record by its unique identifier. Returns the complete onboarding status and new hire information.
Reject Reasons
- Create Reject Reason
Add a new rejection reason option.
- List Reject Reasons
Retrieve all configured rejection reasons available in the system. Rejection reasons provide standardized explanations for why candidates were not selected or why they withdrew from the process. These reasons are used for analytics and consistent candidate communication.
- Get Reject Reason
Retrieve a specific rejection reason by ID.
- Update Reject Reason
Modify an existing rejection reason. Requires reject reason id from list_reject_reasons.
- Delete Reject Reason
Remove a rejection reason option. Requires reject reason id from list_reject_reasons.
Requisitions
- Create Requisition
Submit a new job requisition for approval. This initiates the hiring approval workflow, requesting permission to fill a position. Requires location_id from list_locations. Optionally use list_departments for department_id. Note - Requires Requisitions feature to be enabled on the Teamtailor account.
- List Requisitions
Retrieve all job requisitions and their approval status. Requisitions are formal requests to fill a position, often requiring approval from managers or HR before a job posting can be created. They support headcount planning and budget control for hiring. Requires Admin scope.
- Get Requisition
Retrieve detailed information about a specific requisition by its unique identifier. Returns the complete requisition including approval status, headcount, and organizational assignment.
- Update Requisition
Modify an existing requisition's details such as title, headcount, or reason. Requires requisition id from list_requisitions. Note that approval status changes may be handled through separate workflow actions. Note - Requires Requisitions feature to be enabled on the Teamtailor account.
Roles
- Create Role
Create a new job role category in the organization. Roles classify jobs by function or area of expertise such as Engineering, Sales, or Marketing.
- List Roles
Retrieve all job role categories configured in the organization. Roles classify jobs by function or area of expertise such as Engineering, Sales, Marketing, or Customer Support. They appear on career sites as filters helping candidates find relevant positions. Requires Admin scope.
- Get Role
Retrieve a specific role by its unique identifier. Returns the role name and configuration.
- Delete Role
Delete a job role category from the organization. Requires role id from list_roles.
Stages
- Create Stage
Add a new stage to a job's hiring pipeline. Use this to customize the recruitment workflow with additional steps like technical assessments, panel interviews, or reference checks. Requires write permissions.
- List Stages
Retrieve all hiring pipeline stages across jobs. Stages represent the steps candidates progress through during recruitment, such as Application Received, Phone Screen, Interview, Offer, and Hired. Filter by job to see the pipeline for a specific position.
- Get Stage
Retrieve complete information about a specific hiring stage using its unique identifier. Returns the stage name, type, position in the pipeline, and which job it belongs to.
Stage Types
- List Stage Types
Retrieve all available stage type definitions that categorize stages in the hiring pipeline. Stage types include Inbox for new applications, In Process for active candidates being evaluated, and Hired for successful candidates.
- Get Stage Type
Retrieve a specific stage type by its unique identifier. Returns the stage type name and configuration.
Teams
- Create Team
Add a new team for organizing users and managing access. Requires user_id from list_users as the team manager.
- List Teams
Retrieve all teams configured in the organization. Teams group users together for permission management and collaborative hiring. Team membership determines which candidates and jobs users can access. Requires Admin scope.
- Get Team
Retrieve detailed information about a specific team by ID.
- Update Team
Update an existing team's information. Requires team id from list_teams.
- Delete Team
Remove a team from the organization. Requires team id from list_teams.
Team Memberships
- Create Team Membership
Add a user to a team. Requires user_id from list_users and team_id from list_teams.
- List Team Memberships
Retrieve team membership records showing user-team associations.
- Get Team Membership
Retrieve details of a specific team membership by ID.
- Delete Team Membership
Remove a user from a team. Requires membership id from list_team_memberships.
Users
- Create User
Add a new team member to the Teamtailor system. Use this to onboard new recruiters, create hiring manager accounts, or set up automated user provisioning from your HR system. Requires Admin scope with write permissions.
- List Users
Retrieve a paginated list of all users in the system. Users include recruiters, hiring managers, administrators, and other team members involved in the hiring process. Each user has a role determining their permissions and capabilities. Requires Admin scope.
- Get User
Retrieve complete information about a specific user using their unique identifier. Returns the user's profile details, role, visibility settings, and relationships to teams and activities. Requires Admin scope.
- Update User
Modify an existing user's profile information, role, or visibility settings. Use this to update names, change permission levels, or control visibility on the career site. Requires Admin scope with write permissions.
- Delete User
Remove a user account from the system. Before deleting, reassign any jobs owned by this user to another team member. This action cannot be undone. Requires Admin scope with write permissions.
Other (11)
- Create Note On Application
Add a new note or comment to a specific job application. Use this when the feedback is specific to one application rather than the candidate overall, such as interview notes for a particular position. Requires Admin scope with write permissions.
- Create Upload
Attach a file to a candidate profile using a public URL. Requires candidate_id from list_candidates.
- Get Activity
Retrieve a specific activity record by its unique identifier. Activities represent actions performed within the recruitment system such as candidate stage changes, notes added, or emails sent. Requires Admin scope.
- List Candidate Activities
Retrieve all activities associated with a specific candidate. This returns a chronological feed of actions and events related to the candidate, such as profile updates, stage changes, notes added, emails sent, and other recruitment activities. Requires Admin scope.
- List Job Activities
Retrieve all activities associated with a specific job posting. This returns a chronological feed of actions and events related to the job, such as applications received, stage changes, candidate movements, and other recruitment activities. Requires Admin scope.
- List User Activities
Retrieve all activities performed by a specific user in the recruitment system. This returns a chronological feed of actions the user has taken, such as adding notes, moving candidates between stages, sending emails, and completing tasks. Requires Admin scope.
- Get Answer Authenticated Video URL
Retrieve a time-limited authenticated URL for accessing video answer content. The returned URL is valid for 2 hours and can be used to play back video responses submitted by candidates.
- List Picked Questions
Retrieve the mapping of questions to specific jobs. Picked questions represent which questions from the library have been selected for each job's application form. To see questions for a specific job, use get_job with include=picked-questions instead.
- List Questions
Retrieve all questions from the organization's question library. Questions are reusable across multiple job postings and can be text fields, multiple choice, file uploads, or other types. These form the building blocks of application forms and screening questionnaires. Requires Admin scope.
- List Uploads
Retrieve all file uploads attached to candidates. Uploads include resumes, cover letters, portfolios, and other documents submitted by or for candidates. Filter by candidate to see all their attached files or by job for application-specific documents. Note that this action may timeout when used without pagination parameters. Use page_size and page_number for large datasets. Requires Admin scope.
- Get Upload
Retrieve a specific upload by ID.
Teamtailor AI Agent Use Cases
Connect your AI agent to Teamtailor and help your team scale the recruiting operations they run by hand today.
Use StackOne to connect your AI agent to your ATS and job boards to automate job posting distribution.
ViewUse StackOne to connect your AI agent to your ATS, survey tools, and messaging systems to automate reference checks.
ViewUse StackOne to connect your AI agent to your ATS, HRIS, and document management tools to automate offer letter generation.
ViewSet Up Your Teamtailor MCP Server in Minutes
One endpoint. Any framework. Your agent is talking to Teamtailor in under 10 lines of code.
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}Teamtailor Resources
How I Built an AI Hiring Analyst in Under an Hour
A Head of People connected Claude to Ashby through StackOne's MCP gateway to answer hiring questions from real-time data via chat. No code required.
5 min read
MCP Code Mode: Keeping Tool Responses Out of Agent Context
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Comparing BM25, TF-IDF, and Hybrid Search for MCP Tool Discovery
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
Indirect Prompt Injection Defense for MCP Tools: A Technical Guide
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
MCP vs A2A: Architecture, Security, and When to Use Each
MCP vs A2A: what each protocol standardizes, how they differ, their shared security risks including indirect prompt injection, and when to use one, both, or a hybrid architecture.
12 min
MCP vs API: What 200+ Connector Builds Taught Us
MCP wraps APIs, it doesn't replace them. After building 200+ connectors that serve both, here's when each approach wins.
14 min read
Teamtailor MCP Server FAQ
Does StackOne have a Teamtailor MCP server?
Teamtailor MCP server vs direct API integration — what's the difference?
How does Teamtailor authentication work for AI agents?
origin_owner_id.Are Teamtailor MCP tools vulnerable to prompt injection?
What is the context bloat of a Teamtailor agent and how do I avoid it?
Can I limit which actions my Teamtailor agent can access?
Can I create custom agent actions for my Teamtailor MCP server?
When should I NOT use a Teamtailor MCP server?
What AI frameworks and AI clients does the StackOne Teamtailor MCP server support?
Put your AI agents to work
All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.