Jira Alerts (JSM Operations)
ภาพรวม
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Jira Service Management Operations — alerts, on-call schedules and responders
ใช้ทำอะไรได้
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
- การเชื่อมต่อ: รันบนเครื่อง
- ช่องทาง (transport): stdio
- หมวด: เครื่องมือนักพัฒนา
- ต้องใส่ค่าเหล่านี้: JSM_CLOUD_ID, JSM_API_TOKEN, JSM_OAUTH_TOKEN
ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 2/2 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
สมัครและสร้างคีย์ของ Jira Alerts (JSM Operations)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
เปิดไฟล์ตั้งค่าของแอป Claude บนคอม
SettingsDeveloperEdit Config
วางค่าตั้งนี้แล้วบันทึกไฟล์
{ "mcpServers": { "jira-alerts": { "command": "npx", "args": [ "-y", "jira-alerts-mcp" ], "env": { "JSM_CLOUD_ID": "ใส่ค่าของคุณ", "JSM_EMAIL": "ใส่ค่าของคุณ", "JSM_API_TOKEN": "ใส่ค่าของคุณ", "JSM_OAUTH_TOKEN": "ใส่ค่าของคุณ" } } } }วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ปิดแอป Claude แล้วเปิดใหม่
ลองเลย
ใช้ Jira Alerts (JSM Operations) บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Jira Alerts (JSM Operations) หรือมีชื่อเครื่องมือของ Jira Alerts (JSM Operations) ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Jira Alerts (JSM Operations) ไม่ได้
Jira Alerts (JSM Operations) ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Jira Alerts (JSM Operations) ได้
- ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
- ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
ข · ตัวอื่นในหมวด เครื่องมือนักพัฒนา ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
- Sentry✓ ChatGPT
- Front-End Checklist✓ ChatGPT
- Compiler Explorer✓ ChatGPT
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
สมัครและสร้างคีย์ของ Jira Alerts (JSM Operations)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
เปิด Terminal
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
วางคำสั่งนี้แล้วกด Enter
claude mcp add jira-alerts --env JSM_CLOUD_ID='ใส่ค่าของคุณ' --env JSM_EMAIL='ใส่ค่าของคุณ' --env JSM_API_TOKEN='ใส่ค่าของคุณ' --env JSM_OAUTH_TOKEN='ใส่ค่าของคุณ' -- npx -y jira-alerts-mcpแก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
พิมพ์ /mcp ใน Claude Code
ต้องเห็น Jira Alerts (JSM Operations) ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ลองเลย
ใช้ Jira Alerts (JSM Operations) บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Jira Alerts (JSM Operations) หรือมีชื่อเครื่องมือของ Jira Alerts (JSM Operations) ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
สมัครและสร้างคีย์ของ Jira Alerts (JSM Operations)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
ใส่คีย์ในช่องที่ว่างไว้
ในค่าตั้งของ Jira Alerts (JSM Operations) ช่อง JSM_CLOUD_ID, JSM_EMAIL, JSM_API_TOKEN, JSM_OAUTH_TOKEN ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
เปิดแชตของ AI ใน Cursor โหมด Agent
ลองเลย
ใช้ Jira Alerts (JSM Operations) บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Jira Alerts (JSM Operations) หรือมีชื่อเครื่องมือของ Jira Alerts (JSM Operations) ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Jira Alerts (JSM Operations) (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
สมัครและสร้างคีย์ของ Jira Alerts (JSM Operations)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
ใส่คีย์ในช่องที่ว่างไว้
ในค่าตั้งของ Jira Alerts (JSM Operations) ช่อง JSM_CLOUD_ID, JSM_EMAIL, JSM_API_TOKEN, JSM_OAUTH_TOKEN ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
เปิดแชตของ AI ใน VS Code โหมด Agent
ลองเลย
ใช้ Jira Alerts (JSM Operations) บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Jira Alerts (JSM Operations) หรือมีชื่อเครื่องมือของ Jira Alerts (JSM Operations) ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON
ติดตั้งในเครื่อง
Claude Code
claude mcp add jira-alerts --env JSM_CLOUD_ID='ใส่ค่าของคุณ' --env JSM_EMAIL='ใส่ค่าของคุณ' --env JSM_API_TOKEN='ใส่ค่าของคุณ' --env JSM_OAUTH_TOKEN='ใส่ค่าของคุณ' -- npx -y jira-alerts-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"jira-alerts": {
"command": "npx",
"args": [
"-y",
"jira-alerts-mcp"
],
"env": {
"JSM_CLOUD_ID": "ใส่ค่าของคุณ",
"JSM_EMAIL": "ใส่ค่าของคุณ",
"JSM_API_TOKEN": "ใส่ค่าของคุณ",
"JSM_OAUTH_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"jira-alerts": {
"command": "npx",
"args": [
"-y",
"jira-alerts-mcp"
],
"env": {
"JSM_CLOUD_ID": "ใส่ค่าของคุณ",
"JSM_EMAIL": "ใส่ค่าของคุณ",
"JSM_API_TOKEN": "ใส่ค่าของคุณ",
"JSM_OAUTH_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"jira-alerts": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"jira-alerts-mcp"
],
"env": {
"JSM_CLOUD_ID": "ใส่ค่าของคุณ",
"JSM_EMAIL": "ใส่ค่าของคุณ",
"JSM_API_TOKEN": "ใส่ค่าของคุณ",
"JSM_OAUTH_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}ค่าที่ต้องใส่เอง
JSM_CLOUD_IDจำเป็น envAtlassian site cloud id (a UUID). Find it at https:// .atlassian.net/_edge/tenant_infoJSM_EMAILenvAtlassian account email, for API token auth. Required unless JSM_OAUTH_TOKEN is set.JSM_API_TOKENความลับ envAtlassian account API token, paired with JSM_EMAIL. Required unless JSM_OAUTH_TOKEN is set.JSM_OAUTH_TOKENความลับ envOAuth 3LO or Forge bearer token. Takes precedence over JSM_EMAIL and JSM_API_TOKEN.
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
สรุป
- ดาวน์โหลดต่อสัปดาห์i
- 102/สัปดาห์
- การเชื่อมต่อ
- รันบนเครื่อง
- ช่องทาง (transport)
- stdio
- รุ่นล่าสุดi
- 2.1.1
- ส่งเข้า registryi
- 25 ต.ค. 2569
- แก้โค้ดล่าสุดi
- 4 พ.ย. 2569
- ผู้ทำ
- rrvrs
- แพ็กเกจ
npm: jira-alerts-mcp- เว็บผู้ทำ
- github.com
- สถานะใน registry
- ใช้งานอยู่
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 11 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub rrvrs ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด 7 วันที่ผ่านมา
- … ยังไม่ตรวจ
มีสัญญาอนุญาต (license)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
พูดคุย
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 83% ของอีก 5748 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 61% ของอีก 5748 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5748 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Jira Alerts (JSM Operations) ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
ต้องใส่ค่าเหล่านี้: JSM_CLOUD_ID, JSM_API_TOKEN, JSM_OAUTH_TOKEN
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด 7 วันที่ผ่านมา และส่งรุ่นล่าสุด (2.1.1) เข้า registry 17 วันที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี REA, Netdata, Front-End Checklist
ตัวที่ใช้แทนได้
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Jira Alerts MCP
Find what is paging you, and who is on call — from your agent.
An MCP server for Jira Service Management Operations — the alert surface that replaced Opsgenie, which no other Jira MCP server covers.
Search alerts and read their notes and activity timeline; acknowledge, close, annotate them and add responders; and look up who is on call now and next. Twelve tools, four of them writes.
Demo
Three questions in one session, against a live JSM site: who is on call, what is open, and acknowledge what isn't. Watch the last answer in particular — the agent confirms the acknowledgement actually landed (ack landed 16:38:00.577Z) instead of assuming it did, which is the asynchronous-write behaviour described under What this server handles for you.
Quickstart
You need Node ≥ 24 and an Atlassian Cloud site with JSM Operations enabled. There is nothing to clone or build — your MCP client runs the published package.
1. Find your cloud id. Open this while logged in to your site:
https://<your-site>.atlassian.net/_edge/tenant_info
It answers with one line — {"cloudId":"..."} — and that UUID is what JSM_CLOUD_ID wants. If you'd rather not rely on that endpoint, the cloud id is also the segment after /s/ in the URL at admin.atlassian.com → Apps → Sites → your site.
2. Create an API token at id.atlassian.com.
3. Add the server.
*Claude Code:*
claude mcp add jira-alerts-mcp \
--scope user \ --env JSM_CLOUD_ID='your-cloud-id' \ --env JSM_EMAIL='you@example.com' \ --env JSM_API_TOKEN="${JSM_API_TOKEN}" \ --env JSM_TOOLSETS='all' \ -- npx -y jira-alerts-mcp
JSM_TOOLSETS=all registers every verified toolset — 82 tools rather than the 28 the responder default gives you, adding schedules, teams, maintenance windows and routing. Drop the line to start narrow; all is not the widest possible surface, because the three quarantined families still have to be asked for by name. See Choosing your toolsets for what each one covers and why a bigger tool list is not automatically better.
--scope user registers the server for your whole account rather than only the directory you happened to run the command in. That is what you want for an alerts server — you want it in every session. Without the flag claude mcp add defaults to local scope, and the server exists in that one directory only.
*Claude Desktop:* open the config from the app rather than by hand — the Claude menu in your menu bar (not the settings inside the window) → Settings → Developer → Edit Config. That creates the file if it doesn't exist yet:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": { "jira-alerts-mcp": { "command": "npx", "args": ["-y", "jira-alerts-mcp"], "env": { "JSM_CLOUD_ID": "your-cloud-id", "JSM_EMAIL": "you@example.com", "JSM_API_TOKEN": "your-api-token", "JSM_TOOLSETS": "all" } } } }
mcpServers is a top-level key, and the file holds every server you have configured. If it already has an mcpServers block, add jira-alerts-mcp as another entry inside it — pasting the whole block above over the file replaces whatever was already there.
Then quit Claude Desktop completely and reopen it — the file is read only at startup, and closing the window is not quitting. The server then appears under the connectors panel in the message composer.
Most other MCP clients accept that same JSON shape. There is no scope choice to make here — claude_desktop_config.json is already per-user, the same reach as --scope user on the CLI.
4. Check it works. Ask your agent to list your open alerts. That runs jsm_list_alerts, which needs no ids and confirms your credentials and the read:ops-alert scope that nine of the fourteen tools share.
Then ask who is on call, which runs jsm_list_schedules. That is a separate check, because schedules need read:ops-config — if alerts work and schedules return 401, nothing is wrong with your token; see Required scopes below.
Things that catch people out: with claude mcp add the server name is the first positional argument, before any flags; -y on npx skips the install prompt, which an MCP client has no way to answer; and in zsh ${VAR} needs quoting. A server added without --scope user works in the directory you added it from and is simply missing everywhere else, with no error to explain the absence — if it seems to have disappeared, run claude mcp list from a different directory before touching anything else. For GUI-launched sessions the token has to live in the env block of the config itself — the shell environment isn't inherited, which is why the JSON above carries the credentials inline.
If the server never shows up in Claude Desktop, two causes account for almost all of it, and neither announces itself:
- `npx` wasn't on the PATH. A GUI app is launched by the window manager, not a shell, so a Node installed through nvm often isn't visible to it. Set
"command"to the absolute path fromwhich nodeand point"args"at the installeddist/index.js, or install Node system-wide. A Node older than 24 that *is* found fails asEBADENGINErather than anything readable. - The server exited during startup. Credentials are validated before the handshake, so a bad cloud id or token stops it dead — and because stdout is the protocol channel, that message goes to stderr only. Claude Desktop keeps it at
~/Library/Logs/Claude/mcp-server-jira-alerts-mcp.log(Windows:%APPDATA%\Claude\logs\), named after the key you used undermcpServers. Look forStartup failed:— it names exactly what is wrong.
Came here from this repository's Packages panel?
You found @rrvrs/jira-alerts-mcp on GitHub Packages. That is a mirror of the same build, published so the panel is not empty. GitHub Packages requires a personal access token even for public packages, so installing from it needs auth that npmjs.com does not.
Use npx jira-alerts-mcp above — that is the package on npmjs.com, installable anonymously, and the only supported install route. The two are separate names on separate registries; nothing redirects between them.
Running from a clone instead
Only needed to work on the server itself, or to run a revision that has not been released:
git clone https://github.com/rrvrs/jira-alerts-mcp.git
cd jira-alerts-mcp npm install npm run build
Then point your client at the build rather than at npx, so edits take effect without republishing:
-- node /absolute/path/to/jira-alerts-mcp/dist/index.js
Configuration
| Variable | Required | Notes |
|---|---|---|
JSM_CLOUD_ID | yes | Your Atlassian site's cloud id (a UUID) |
JSM_EMAIL + JSM_API_TOKEN | one of | Create a token |
JSM_OAUTH_TOKEN | one of | OAuth 3LO bearer; takes precedence if set |
JSM_TOOLSETS | no | Which tool families to register — see Choosing your toolsets. Unset registers responder |
JSM_READ_ONLY | no | true withholds every write tool |
TRANSPORT | no | stdio (default) or http |
PORT / HOST | no | HTTP transport; defaults to 127.0.0.1:3000 |
ALLOWED_HOSTS | no | Comma-separated Host allowlist. Required if you set HOST beyond loopback — see SECURITY.md |
Credentials are validated at startup, so a bad config fails immediately with an actionable message rather than on the first tool call.
.env.example lists these for reference. The server does not read .env itself — an MCP server is launched by its client, and the client owns the environment. Use the file as a checklist for your client's env block, or set -a; source .env; set +a for local development.
What your credentials can and cannot do
Both auth methods are not equivalent, and the difference is not documented by Atlassian. Verified against a live tenant on 2026-09-05:
The delete scopes are granted per token, not per authentication method. Two Atlassian account API tokens for the same account behave differently: one was refused on every DELETE with 401 Unauthorized; scope does not match — valid credentials, missing grant — and another completed the whole set. So a 401 on a delete is not a reason to abandon JSM_EMAIL + JSM_API_TOKEN. Reissue the token with the delete scopes included, or supply a 3LO or Forge OAuth token granted delete:ops-alert:jira-service-management as JSM_OAUTH_TOKEN. The 401 handler says exactly this, so the model reports it rather than retrying.
The delete-backed alert tools are jsm_delete_alert · jsm_delete_alert_note · jsm_remove_alert_tags · jsm_remove_alert_extra_properties · jsm_delete_alert_attachment.
The alert attachment endpoints are gated twice over. The API's own OpenAPI document maps them to no OAuth scope at all, so a token missing the delete scopes is turned away at the gateway with the same bare scope does not match — which reads like an auth dead end and is not one. A fully scoped token reaches the API and is told Feature not available in your plan instead. On a site whose plan excludes attachments, no token opens them, which is why they now live in their own quarantined attachments toolset that no profile loads. The handler reports the plan limit as a plan limit rather than sending you off to widen a token.
Some actions depend on your JSM plan, not on your scopes. On a Standard tenant, snooze, assign and custom actions are accepted and then fail out of band with Your account plan does not support …. The request is well-formed; the plan is the limit. This is exactly why writes are asynchronous and why jsm_get_request_status matters — the immediate response to all three is a successful receipt.
What has and has not been verified
Every tool in this server was run against a live Jira Service Management site before release. Every tool that a profile can load returned a real success — that is an invariant, and a test enforces it: a toolset marked unverified cannot appear in a profile.
Three families could not be verified, and they ship quarantined rather than removed. Nothing about them is known to be broken; they were untestable on the site available, and the code is very likely correct for a site where they are not blocked.
| Toolset | What the API answered | What that means |
|---|
| heartbeats | `402 Please upgrade