Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Track contact job changes: current employer, start month, role history, and left or landed status.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
APIFY_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"job-change-tracker": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-job-change-tracker"
],
"env": {
"APIFY_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add job-change-tracker --env APIFY_TOKEN='ใส่ค่าของคุณ' -- npx -y @mambalabsdev/mcp-job-change-trackerเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"job-change-tracker": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-job-change-tracker"
],
"env": {
"APIFY_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"job-change-tracker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-job-change-tracker"
],
"env": {
"APIFY_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ผู้ลงทะเบียน (mambabuilt.com) ไม่ใช่เจ้าของ repo (mambalabsdev) อาจเป็นคนอื่นที่นำมาลงต่อ
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 0 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: APIFY_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Tethered Trust
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server for the Mamba Labs CRM Contact Job Change Checker actor on Apify. Send the contacts in your CRM. Get one row back per person: where they work now, their title, when they started, their role history, and whether they left the company you know them at, landed somewhere new, or moved up inside the same company. Every row says how the person was matched, which source the answer came from, and how old that source is.
Check whether one contact, or a list of contacts, still works at the company your records hold. Returns one flat, Clay-ready JSON row per person: current employer, title, start month, role history, status (left, landed, promoted, or still there), how the person was matched, the source of the answer, and that source's date, with a namesake check. Runs on data you send (known_history) and on your own Serper or SerpApi, Prospeo, and BounceBan keys passed as inputs; this tool never fetches LinkedIn and holds no key of its own. Provide person_name with company_domain or company_name, or a people list. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": { "mamba-job-change-tracker": { "command": "npx", "args": [ "-y", "@mambalabsdev/mcp-job-change-tracker" ], "env": { "APIFY_TOKEN": "your-apify-token" } } } }
Restart the client. The track_job_change tool appears.
APIFY_TOKEN. The server lists its tool without a token; a call needs one.track_job_change. One tool. Example arguments:
{
"person_name": "Jane Doe", "company_domain": "example.com", "company_name": "Example Inc" }
Every buyer facing input of the live actor, unchanged. Omitted inputs take the actor's own defaults.
| Input | Type | Required | Description |
|---|---|---|---|
person_name | string | no | Full name of the person to check. |
company_domain | string | no | Website domain of the company your records place this person at, for example microsoft.com. Left, landed, and promoted are worked out against this company. |
company_name | string | no | Name of that company. Used with or instead of the domain to match roles in the person's history. |
last_known_title | string | no | The title your records hold. Echoed on the row as input_title. |
profile_url | string | no | Optional. The person's LinkedIn profile URL, used as the identity. This actor never opens it. Without it, the run looks the profile up with your search key and charges profile_resolved when it finds and accepts one. |
email | string | no | Optional. The person's work address at the last known company. With a BounceBan key, an undeliverable answer marks the person as left. |
company_linkedin_url | string | no | Optional. The strongest company match when a role history carries LinkedIn company URLs. |
location | string | no | Optional. Echoed for your records. |
input_id | string | no | Optional. Returned unchanged on the row so you can join it back to your CRM or table. |
known_history | string | no | Optional. A role history you already have, as JSON: {"source": "heyreach", "source_date": "2026-10-07", "experiences": [...]} or {"source": "crm", "roles": [{"company_name", "title", "start_month", "end_month"}]}. Read before any paid key; a history newer than Max source age skips Prospeo. |
people | array | no | Many people at once. Each item takes the same keys as the single person fields: person_name, company_domain, company_name, last_known_title, profile_url, email, company_linkedin_url, location, input_id, and known_history (an object). |
serperApiKey | string | no | Optional. Web search (serper.dev): finds profile URLs and reads the search result line for the current role. About 1 to 3 searches per person. Your own key, sent as a run input; never stored by the actor. |
serpApiKey | string | no | Optional. Used for web search only when no Serper key is set. Your own key, sent as a run input; never stored by the actor. |
prospeoApiKey | string | no | Optional. Prospeo enrich-person: the person's role history with start and end months. Skipped when you send a fresh history of your own. Your own key, sent as a run input; never stored by the actor. |
bouncebanApiKey | string | no | Optional. Verifies the old work address only while the person still reads as at the company. Only an undeliverable answer is used. Your own key, sent as a run input; never stored by the actor. |
maxSourceAgeDays | string | no | A history you send that is older than this is treated as lagging, so the run also reads Prospeo and the search result. Default 30. |
checkCompanySite | string | no | Free. Looks for the person on up to 4 team and about pages of the last known company domain. |
checkNews | string | no | Free. Cites up to 3 headlines from the last year that name the person with a move word. Evidence only; a headline never sets the employer. |
verifyOldEmail | string | no | With a BounceBan key: one check per person who still reads as at the company. Uses the address you send, or one Prospeo returns on the company domain. |
includeRoleHistory | string | no | No keeps role_count and drops the role_history array. |
cacheTtlDays | string | no | Reuse a reading made in the last N days, uncharged, from a store in your own Apify account. 0 turns it off. Rows with your own history are never cached. Default 7. |
maxPeople | string | no | Stop after this many people. Default 1000. |
max_charge_usd | string | no | Optional. The run stops before any row that would take its event charges past this amount. |
Pay per event on Apify, billed to your Apify account. Prices in USD.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
person_read, per person read | $0.025 | $0.02375 | $0.0225 | $0.02125 |
profile_resolved, per profile resolved by web search | $0.006 | $0.0057 | $0.0054 | $0.0051 |
apify-actor-start, per run start | $0.001 | $0.001 | $0.001 | $0.001 |
The actor holds no provider key of its own. Every paid provider key is yours, passed as an input and stored by Apify as a secret input. Without a key, the actor skips that step and says so in the run.
apify.com/mambalabs/job-change-tracker
MIT. See LICENSE.