Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read CATS candidates, jobs and pipelines, and make explicitly confirmed recruiting changes.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://cats-ats.usefulapi.io/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http cats-ats https://cats-ats.usefulapi.io/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"cats-ats": {
"url": "https://cats-ats.usefulapi.io/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"cats-ats": {
"type": "http",
"url": "https://cats-ats.usefulapi.io/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://cats-ats.usefulapi.io/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
cats_get_siteThe CATS site (account) this API key belongs to: id, mode (recruiter or employer) and subdomain. GET /site.
cats_list_usersList the CATS users (recruiters) with id, name, title and access level. Use the ids as owner or assignee. GET /users.
cats_list_candidatesList 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.
cats_get_candidateOne candidate by id (personal data). GET /candidates/{id}.
cats_search_candidatesFree-text search over candidates (name, email, skills, resume text...), paged. GET /candidates/search?query=.
cats_filter_candidatesFilter 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, filt
cats_list_candidate_pipelinesThe jobs a candidate is in the pipeline for, with rating, workflow and current status id. GET /candidates/{id}/pipelines.
cats_list_candidate_activitiesThe activity log of a candidate (calls, meetings, notes, pipeline changes), paged. GET /candidates/{id}/activities.
cats_list_candidate_tasksTasks attached to a candidate. GET /candidates/{id}/tasks.
cats_list_candidate_attachmentsFile 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.
cats_list_jobsList job orders with title, location, company, recruiter, status and workflow ids, dates. Paged. GET /jobs.
cats_get_jobOne job order by id, with its description. GET /jobs/{id}.
cats_search_jobsFree-text search over job orders, paged. GET /jobs/search?query=.
cats_list_job_pipelinesThe candidates in the pipeline of a job: pipeline id, candidate id, rating and current status id. Paged. GET /jobs/{id}/pipelines.
cats_list_job_statusesThe statuses a job order can have (Active, OnHold, Closed...). GET /jobs/statuses.
cats_list_pipelinesList candidate-to-job pipelines (candidate id, job id, rating, workflow id, status id), paged. GET /pipelines.
cats_get_pipelineOne pipeline (a candidate on a job) by id. GET /pipelines/{id}.
cats_filter_pipelinesFilter 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.
cats_get_pipeline_status_historyThe status changes of a pipeline over time (status, who, when). GET /pipelines/{id}/statuses.
cats_list_workflowsThe pipeline workflows (sets of statuses such as Contacted, Interviewing, Offered). GET /pipelines/workflows.
cats_list_workflow_statusesThe statuses of one pipeline workflow (id, title, prerequisites, triggers). Use the ids with cats_change_pipeline_status. GET /pipelines/workflows/{id}/statuses.
cats_list_companiesList client companies (name, address, website, owner), paged. GET /companies.
cats_get_companyOne company by id. GET /companies/{id}.
cats_search_companiesFree-text search over companies, paged. GET /companies/search?query=.
cats_list_contactsList client contacts (personal data: name, title, emails, company), paged. GET /contacts.
cats_get_contactOne client contact by id (personal data). GET /contacts/{id}.
cats_search_contactsFree-text search over client contacts, paged. GET /contacts/search?query=.
cats_list_tasksList tasks (description, priority 1-5, due date, assignee, completion, the record it is about), paged. GET /tasks.
cats_get_taskOne task by id. GET /tasks/{id}.
cats_list_activitiesThe site-wide activity log (calls, emails logged, meetings, notes) with the record each is about, paged. GET /activities.
cats_add_candidate_activityWRITE: 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}/a
cats_create_taskWRITE: 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.
cats_change_pipeline_statusWRITE: 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
cats_create_candidateWRITE: 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
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน usefulapi.io แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 50 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 34 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.7.4) เข้า registry วันนี้
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, zanadir
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
https://cats-ats.usefulapi.io/mcp.claude mcp add --transport http cats-ats https://cats-ats.usefulapi.io/mcp, then run /mcp to log in.{
"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/
| Tool | Type | What it does |
|---|---|---|
cats_get_site | read | Get CATS site |
cats_list_users | read | List users |
cats_list_candidates | read | List candidates |
cats_get_candidate | read | Get candidate |
cats_search_candidates | read | Search candidates |
cats_filter_candidates | read | Filter candidates |
cats_list_candidate_pipelines | read | List a candidate's pipelines |
cats_list_candidate_activities | read | List a candidate's activities |
cats_list_candidate_tasks | read | List a candidate's tasks |
cats_list_candidate_attachments | read | List a candidate's attachments (metadata) |
cats_list_jobs | read | List jobs |
cats_get_job | read | Get job |
cats_search_jobs | read | Search jobs |
cats_list_job_pipelines | read | List a job's pipeline |
cats_list_job_statuses | read | List job statuses |
cats_list_pipelines | read | List pipelines |
cats_get_pipeline | read | Get pipeline |
cats_filter_pipelines | read | Filter pipelines |
cats_get_pipeline_status_history | read | Get pipeline status history |
cats_list_workflows | read | List pipeline workflows |
cats_list_workflow_statuses | read | List workflow statuses |
cats_list_companies | read | List companies |
cats_get_company | read | Get company |
cats_search_companies | read | Search companies |
cats_list_contacts | read | List contacts |
cats_get_contact | read | Get contact |
cats_search_contacts | read | Search contacts |
cats_list_tasks | read | List tasks |
cats_get_task | read | Get task |
cats_list_activities | read | List activities |
cats_add_candidate_activity | write | Add an activity (note) to a candidate |
cats_create_task | write | Create a task |
cats_change_pipeline_status | write | Move a candidate to another pipeline status |
cats_create_candidate | write | Create a candidate |
cats_usage_status | meta | Usage status (free-tier meter) |
cats_request_feature | meta | Request a missing feature |
cats_upgrade | meta | Upgrade to Pro or Pro+ |
cats_cancel_subscription | meta | Cancel 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.
| Plan | Price | Limit |
|---|---|---|
| Free (per connected CATS site) | $0 | 50 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 support@usefulapi.io.
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 support@usefulapi.io.
MIT
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.
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.
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.