CATS MCP by usefulapi

io.usefulapi由 usefulapi.io 发布官方发布者v1.8.4更新于 Nov 7, 2026

Read CATS candidates, jobs and pipelines, and make explicitly confirmed recruiting changes.

发布方自己的服务:Ably MCP by usefulapi

已验证Streamable HTTP可网页运行效率与工作流商业与电商

概览

AI 生成的概览

读取并搜索 CATS 招聘数据(候选人、职位、流程、公司和联系人),并执行需明确确认的招聘变更。

可以做什么
  • 查询账户、用户、候选人、客户公司和联系人,支持分页、全文搜索和字段筛选
  • 查看职位、职位状态、招聘流程及流程状态历史,并列出某职位的候选人
  • 查看候选人所处流程、活动记录、任务和附件元数据(不下载文件内容)
  • 列出全站任务和活动,读取流程工作流及其状态
  • 经确认后写入:创建候选人、记录候选人活动、创建任务或变更候选人的流程状态
  • 查看用量、提交功能请求,以及升级或取消付费方案
适用场景
适合招聘人员或招聘团队让助手在自己的 CATS 账户上回答问题,例如汇总候选人历史、查找人员或职位、查看流程阶段,并进行记录备注、推进候选人等经确认的小幅更新。
运行要求
以 URL 添加的远程 MCP 端点,仅填 URL;通过 OAuth 登录,登录页要求输入 CATS 凭据。需在 CATS 的 Administration → API Keys 创建 v3 API 密钥(旧版 Transaction Codes 不可用)。客户端配置中不要放 API 密钥或 Authorization 头。免费方案每月 50 次工具调用,付费方案另行计费。
安装前请注意
涉及候选人和联系人记录中的个人数据;README 提醒不要用于政府证件、健康数据或个人财务信息,并称自由文本和自定义字段仍需人工检查。工具结果会发送到你的 AI 客户端及其 LLM 提供商。四个写入工具需 confirm:true,且非幂等,可能触发通知或账户 webhook;重试前先检查 CATS。付费方案通过 Stripe 结账,当期不退款。

安装

在 SourceWeft 中

  1. 打开 控制台中的 CATS MCP by usefulapi,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.usefulapi%2Fcats-ats/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "cats-by-usefulapi": {
      "type": "http",
      "url": "https://cats-ats.usefulapi.io/mcp"
    }
  }
}

README

CATS MCP server

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://cats-ats.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http cats-ats https://cats-ats.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "cats-ats": {      "url": "https://cats-ats.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your CATS credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/cats-ats/

Tools

ToolTypeWhat it does
cats_get_sitereadGet CATS site
cats_list_usersreadList users
cats_list_candidatesreadList candidates
cats_get_candidatereadGet candidate
cats_search_candidatesreadSearch candidates
cats_filter_candidatesreadFilter candidates
cats_list_candidate_pipelinesreadList a candidate's pipelines
cats_list_candidate_activitiesreadList a candidate's activities
cats_list_candidate_tasksreadList a candidate's tasks
cats_list_candidate_attachmentsreadList a candidate's attachments (metadata)
cats_list_jobsreadList jobs
cats_get_jobreadGet job
cats_search_jobsreadSearch jobs
cats_list_job_pipelinesreadList a job's pipeline
cats_list_job_statusesreadList job statuses
cats_list_pipelinesreadList pipelines
cats_get_pipelinereadGet pipeline
cats_filter_pipelinesreadFilter pipelines
cats_get_pipeline_status_historyreadGet pipeline status history
cats_list_workflowsreadList pipeline workflows
cats_list_workflow_statusesreadList workflow statuses
cats_list_companiesreadList companies
cats_get_companyreadGet company
cats_search_companiesreadSearch companies
cats_list_contactsreadList contacts
cats_get_contactreadGet contact
cats_search_contactsreadSearch contacts
cats_list_tasksreadList tasks
cats_get_taskreadGet task
cats_list_activitiesreadList activities
cats_add_candidate_activitywriteAdd an activity (note) to a candidate
cats_create_taskwriteCreate a task
cats_change_pipeline_statuswriteMove a candidate to another pipeline status
cats_create_candidatewriteCreate a candidate
cats_usage_statusmetaUsage status (free-tier meter)
cats_request_featuremetaRequest a missing feature
cats_upgrademetaUpgrade to Pro or Pro+
cats_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free (per connected CATS site)$050 tool calls / month
Pro (per connected CATS site)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with cats_upgrade (it returns a Stripe Checkout link). Cancel any time with cats_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running cats_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

Access, personal data and limits

Create a v3 API key in CATS under Administration → API Keys. Legacy Transaction Codes do not work. The generation form offers no read-only scope selector. Authorize UsefulAPI and your selected AI client to process only data you are entitled to share. CATS account eligibility and vendor charges remain separate from UsefulAPI plans. This independent connector makes no claim of vendor approval or endorsement.

Candidate/contact records contain personal information. Do not use this workflow for government IDs, health data, personal financial information or other CATS Prohibited Data. Known credential and sensitive financial/health fields and HAL link blocks are filtered; customers must still review free text and custom fields. Tool results reach your chosen AI client and LLM provider, whose privacy and retention policies also apply. Revoke the API key in CATS to stop vendor access; disconnect UsefulAPI to end this connection.

CATS documents a rolling 500 API requests/hour limit; its counter scope is not specified. Collection pages default to 25, maximum 100. Authentication is capped at 10 seconds/64 KiB; operation replies at 30 seconds/8 MiB. Billing follows the verified CATS site ID, so rotation of a key within the same site keeps the account identity.

Changes and automation

All four writes require confirm:true: create a candidate, log candidate activity, create a task or change pipeline status. Assigned tasks may notify a user. No email/SMS-send request is made by an activity note, even when its activity type is email or text_message. Independently configured account automation and webhooks can still react to changes.

Pipeline moves read the workflow/status metadata, explicitly request every returned trigger be suppressed with fire:false, and send create_activity=false. An already-current status makes no write. Preflight reads are not an atomic lock, so concurrent changes remain possible; independent webhooks are not suppressed. No email delivery, delete, attachment download, bulk-export endpoint or webhook-management tool is exposed.

No vendor request is automatically replayed. Creates require the documented 201 and a matching Location record ID; inconsistent or uncertain acknowledgements are errors. Inspect CATS before retrying a write. Date-only task/activity dates are sent at midnight UTC.

Verification

The 34 vendor tools were checked against the current API reference and local mocks. Actual own-trial reads verified account identity and HAL response structures, including vendor-supplied sample records. No real customer recruiting records or business writes were tested. Current terms allow customer-directed third-party software, and the vendor publishes external API-key setup guidance; this does not assert CATS reviewed UsefulAPI.

References: API v3, terms, external-key setup.

来源:servers/cats-ats/README.md,提交 4046075

工具

34

cats_get_site

Get CATS site

The CATS site (account) this API key belongs to: id, mode (recruiter or employer) and subdomain. GET /site.

无需输入参数。

cats_list_users

List users

List the CATS users (recruiters) with id, name, title and access level. Use the ids as owner or assignee. GET /users.

输入参数pageper_page

cats_list_candidates

List candidates

List candidates (personal data: name, emails, address, employer, skills, notes), one page at a time, max 100 per page. Use cats_search_candidates or cats_filter_candidates to find specific people. GET /candidates.

输入参数pageper_page

cats_get_candidate

Get candidate

One candidate by id (personal data). GET /candidates/{id}.

输入参数candidate_id必填

cats_search_candidates

Search candidates

Free-text search over candidates (name, email, skills, resume text...), paged. GET /candidates/search?query=.

输入参数pagequery必填per_page

cats_filter_candidates

Filter candidates

Filter candidates by fields (read-only, although it is a POST): first_name, last_name, title, emails.primary, address.city/state/postal_code, country_code, current_employer, key_skills, notes, dates (date_created, date_modified), owner_id, is_hot... Each condition is {field, filter, value}; filters: exactly, contains, between {gte,lte}, greater_than, less_than, is_empty, geo_distance. Paged. POST /candidates/search.

输入参数pagematchper_pageconditions必填

cats_list_candidate_pipelines

List a candidate's pipelines

The jobs a candidate is in the pipeline for, with rating, workflow and current status id. GET /candidates/{id}/pipelines.

输入参数pageper_pagecandidate_id必填

cats_list_candidate_activities

List a candidate's activities

The activity log of a candidate (calls, meetings, notes, pipeline changes), paged. GET /candidates/{id}/activities.

输入参数pageper_pagecandidate_id必填

cats_list_candidate_tasks

List a candidate's tasks

Tasks attached to a candidate. GET /candidates/{id}/tasks.

输入参数pageper_pagecandidate_id必填

cats_list_candidate_attachments

List a candidate's attachments (metadata)

File names, sizes and whether each file is a resume, for a candidate's attachments. Metadata only: file contents are never downloaded. GET /candidates/{id}/attachments.

输入参数pageper_pagecandidate_id必填

cats_list_jobs

List jobs

List job orders with title, location, company, recruiter, status and workflow ids, dates. Paged. GET /jobs.

输入参数pageper_page

cats_get_job

Get job

One job order by id, with its description. GET /jobs/{id}.

输入参数job_id必填

cats_search_jobs

Search jobs

Free-text search over job orders, paged. GET /jobs/search?query=.

输入参数pagequery必填per_page

cats_list_job_pipelines

List a job's pipeline

The candidates in the pipeline of a job: pipeline id, candidate id, rating and current status id. Paged. GET /jobs/{id}/pipelines.

输入参数pagejob_id必填per_page

cats_list_job_statuses

List job statuses

The statuses a job order can have (Active, OnHold, Closed...). GET /jobs/statuses.

输入参数pageper_page

cats_list_pipelines

List pipelines

List candidate-to-job pipelines (candidate id, job id, rating, workflow id, status id), paged. GET /pipelines.

输入参数pageper_page

cats_get_pipeline

Get pipeline

One pipeline (a candidate on a job) by id. GET /pipelines/{id}.

输入参数pipeline_id必填

cats_filter_pipelines

Filter pipelines

Filter pipelines by id, candidate_id, job_id, status_id, rating, date_created or date_modified (read-only, although it is a POST). Each condition is {field, filter, value}. Paged. POST /pipelines/search.

输入参数pagematchper_pageconditions必填

cats_get_pipeline_status_history

Get pipeline status history

The status changes of a pipeline over time (status, who, when). GET /pipelines/{id}/statuses.

输入参数pageper_pagepipeline_id必填

cats_list_workflows

List pipeline workflows

The pipeline workflows (sets of statuses such as Contacted, Interviewing, Offered). GET /pipelines/workflows.

输入参数pageper_page

cats_list_workflow_statuses

List workflow statuses

The statuses of one pipeline workflow (id, title, prerequisites, triggers). Use the ids with cats_change_pipeline_status. GET /pipelines/workflows/{id}/statuses.

输入参数pageper_pageworkflow_id必填

cats_list_companies

List companies

List client companies (name, address, website, owner), paged. GET /companies.

输入参数pageper_page

cats_get_company

Get company

One company by id. GET /companies/{id}.

输入参数company_id必填

cats_search_companies

Search companies

Free-text search over companies, paged. GET /companies/search?query=.

输入参数pagequery必填per_page

cats_list_contacts

List contacts

List client contacts (personal data: name, title, emails, company), paged. GET /contacts.

输入参数pageper_page

cats_get_contact

Get contact

One client contact by id (personal data). GET /contacts/{id}.

输入参数contact_id必填

cats_search_contacts

Search contacts

Free-text search over client contacts, paged. GET /contacts/search?query=.

输入参数pagequery必填per_page

cats_list_tasks

List tasks

List tasks (description, priority 1-5, due date, assignee, completion, the record it is about), paged. GET /tasks.

输入参数pageper_page

cats_get_task

Get task

One task by id. GET /tasks/{id}.

输入参数task_id必填

cats_list_activities

List activities

The site-wide activity log (calls, emails logged, meetings, notes) with the record each is about, paged. GET /activities.

输入参数pageper_page

cats_add_candidate_activity

Add an activity (note) to a candidate

WRITE: Requires confirm:true. log an activity (a call, meeting, note...) on a candidate's record. It only records the entry in CATS: no email/SMS-send request is made, even for type 'email' or 'text_message'. Creates a new entry each time (not idempotent). POST /candidates/{id}/activities.

输入参数datetype必填notes必填confirm必填candidate_id必填regarding_job_id

cats_create_task

Create a task

WRITE: Requires confirm:true. create a task in CATS, optionally about a candidate, contact, company or job and assigned to a user. Creates a new task each time (not idempotent); CATS may notify the assignee. POST /tasks.

输入参数confirm必填about_iddate_duepriorityabout_typedescription必填assigned_to_id

cats_change_pipeline_status

Move a candidate to another pipeline status

WRITE: Requires confirm:true. change the status of a pipeline (move a candidate to another stage of a job's workflow, e.g. Interviewing, Offered, Rejected). Get the pipeline id from cats_list_candidate_pipelines and the status id from cats_list_workflow_statuses. Requires confirm:true. Requests that status triggers (which can e-mail people or change records) be suppressed: every trigger attached to the target status is sent with fire=false. CATS remains responsible for enforcing its trigger semantics; independently configured webhooks may still run. The change is recorded in the pipeline's status history. POST /pipelines/{id}/status.

输入参数confirm必填status_id必填pipeline_id必填

cats_create_candidate

Create a candidate

WRITE: Requires confirm:true. create one candidate record (personal data) with name, optional contact details and notes. Refuses when CATS finds a duplicate (check_duplicate=true, the default). Creates a new record each time (not idempotent); no email-send request is made to the candidate and no login is created. POST /candidates.

输入参数cityemailnotesphonestatetitlesourceconfirm必填owner_idlast_name必填first_name必填key_skills另有 5 个

版本历史

10
  1. v1.8.4最新Nov 7, 2026
  2. v1.7.3Nov 5, 2026
  3. v1.7.2Nov 5, 2026
  4. v1.7.1Nov 4, 2026
  5. v1.7.0Nov 3, 2026
  6. v1.6.1Nov 3, 2026
  7. v1.5.0Nov 1, 2026
  8. v1.3.0Oct 31, 2026
  9. v1.2.0Oct 31, 2026
  10. v1.1.0Oct 31, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Usefulapi 集成