GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Minimal Jira Cloud MCP server: broad reads, a narrow 3-tool write surface, optional read-only mode.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
JIRA_BASE_URL, JIRA_AUTH_METHOD, JIRA_EMAIL, JIRA_API_TOKEN, JIRA_OAUTH_CLIENT_ID, JIRA_OAUTH_CLIENT_SECRET, READ_ONLY_MODE, STRUCTURED_OUTPUT, DISABLE_STRUCTURED_OUTPUTค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"jira-mini": {
"command": "uvx",
"args": [
"jira-mini-mcp"
],
"env": {
"JIRA_BASE_URL": "ใส่ค่าของคุณ",
"JIRA_AUTH_METHOD": "ใส่ค่าของคุณ",
"JIRA_EMAIL": "ใส่ค่าของคุณ",
"JIRA_API_TOKEN": "ใส่ค่าของคุณ",
"JIRA_OAUTH_CLIENT_ID": "ใส่ค่าของคุณ",
"JIRA_OAUTH_CLIENT_SECRET": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"STRUCTURED_OUTPUT": "ใส่ค่าของคุณ",
"DISABLE_STRUCTURED_OUTPUT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add jira-mini --env JIRA_BASE_URL='ใส่ค่าของคุณ' --env JIRA_AUTH_METHOD='ใส่ค่าของคุณ' --env JIRA_EMAIL='ใส่ค่าของคุณ' --env JIRA_API_TOKEN='ใส่ค่าของคุณ' --env JIRA_OAUTH_CLIENT_ID='ใส่ค่าของคุณ' --env JIRA_OAUTH_CLIENT_SECRET='ใส่ค่าของคุณ' --env READ_ONLY_MODE='ใส่ค่าของคุณ' --env STRUCTURED_OUTPUT='ใส่ค่าของคุณ' --env DISABLE_STRUCTURED_OUTPUT='ใส่ค่าของคุณ' -- uvx jira-mini-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"jira-mini": {
"command": "uvx",
"args": [
"jira-mini-mcp"
],
"env": {
"JIRA_BASE_URL": "ใส่ค่าของคุณ",
"JIRA_AUTH_METHOD": "ใส่ค่าของคุณ",
"JIRA_EMAIL": "ใส่ค่าของคุณ",
"JIRA_API_TOKEN": "ใส่ค่าของคุณ",
"JIRA_OAUTH_CLIENT_ID": "ใส่ค่าของคุณ",
"JIRA_OAUTH_CLIENT_SECRET": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"STRUCTURED_OUTPUT": "ใส่ค่าของคุณ",
"DISABLE_STRUCTURED_OUTPUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"jira-mini": {
"type": "stdio",
"command": "uvx",
"args": [
"jira-mini-mcp"
],
"env": {
"JIRA_BASE_URL": "ใส่ค่าของคุณ",
"JIRA_AUTH_METHOD": "ใส่ค่าของคุณ",
"JIRA_EMAIL": "ใส่ค่าของคุณ",
"JIRA_API_TOKEN": "ใส่ค่าของคุณ",
"JIRA_OAUTH_CLIENT_ID": "ใส่ค่าของคุณ",
"JIRA_OAUTH_CLIENT_SECRET": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"STRUCTURED_OUTPUT": "ใส่ค่าของคุณ",
"DISABLE_STRUCTURED_OUTPUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
JIRA_AUTH_METHOD envJIRA_EMAIL envJIRA_OAUTH_CLIENT_ID envREAD_ONLY_MODE envSTRUCTURED_OUTPUT envDISABLE_STRUCTURED_OUTPUT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub proprock ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: JIRA_BASE_URL, JIRA_API_TOKEN, JIRA_OAUTH_CLIENT_SECRET
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.3.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Jira Cloud MCP server for coding agents: 6 read tools, 9 with writes enabled.
One job. One tool. Done right.
General-purpose Atlassian MCP servers expose dozens to hundreds of tools. Every one costs context before the agent does any useful work, and every near-duplicate makes the agent's choice less certain. This server gives a coding agent the Jira context it needs for a ticket, the three ways to answer back, and nothing else.
READ_ONLY_MODE=true and they never register, not even as a disabled entry the agent can see.null spam, no self URLs, emails, or avatars; see what the tools return.content, rather than again as structuredContent; set STRUCTURED_OUTPUT=true if your host needs the typed copy. See Cheaper output.limit=0 to fetch the rest. A failed request is an error, never an empty list.uvx jira-mini-mcp or pip install jira-mini-mcp, no repo clone or git URL required.| Tool | Access | Purpose |
|---|---|---|
search_issues | 🟢 read | Find issues with JQL |
get_issue | 🟢 read | One issue's core state and fields |
get_comments | 🟢 read | Recent or historical discussion, paginated |
get_attachments | 🟢 read | Attachment metadata |
download_attachment | 🟢 read | Fetch one attachment |
get_changelog | 🟢 read | Field-change history, paginated |
add_comment | 🔴 write | Post one Markdown comment |
transition_issue | 🔴 write | Move an issue through its workflow |
update_issue | 🔴 write | Set issue fields |
[!TIP]
Set
READ_ONLY_MODE=trueand only the six 🟢 read tools register - the
three 🔴 write tools are withheld entirely, see Configure.
More detail lives in docs/: configuration, OAuth setup, and what the tools return, with examples.
uvx jira-mini-mcp
or
pip install jira-mini-mcp
Pin a version when you want a fixed surface: uvx jira-mini-mcp==1.1.0.
Running an unreleased commit straight from GitHub also works:
uvx --from git+https://github.com/proprock/jira-mini-mcp jira-mini-mcp
Requires Python 3.12+ and uv (or pip).
With an API token, three values:
| Variable | Meaning |
|---|---|
JIRA_BASE_URL | Your site, e.g. https://example.atlassian.net |
JIRA_EMAIL | The email your API token belongs to |
JIRA_API_TOKEN | A Jira Cloud API token |
Add READ_ONLY_MODE=true to withhold the write tools. Every setting, including STRUCTURED_OUTPUT, is in configuration.md.
[!NOTE]
Prefer OAuth to a stored token? Set
JIRA_AUTH_METHOD=oauth, register a
free OAuth 2.0 (3LO) app, and run
jira-mini-mcp loginonce to authorize in
your browser. The server then refreshes its token by itself. Step by step:
Configuration is validated at startup, and an error names the missing setting without printing its value or your Jira URL. Keep the token in the host's own configuration and never commit it. The server acts with your account's permissions: an account that cannot transition an issue still cannot, whatever this server exposes.
Claude Code
claude mcp add --env JIRA_BASE_URL=https://example.atlassian.net --env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=your-token --transport stdio jira-mini -- uvx jira-mini-mcp
Put at least one other option between the last --env and the server name, as above - the CLI otherwise reads the name as another KEY=value pair.
Claude Desktop
In claude_desktop_config.json:
{
"mcpServers": { "jira-mini": { "command": "uvx", "args": ["jira-mini-mcp"], "env": { "JIRA_BASE_URL": "https://example.atlassian.net", "JIRA_EMAIL": "you@example.com", "JIRA_API_TOKEN": "your-token" } } } }
Codex CLI
codex mcp add jira-mini --env JIRA_BASE_URL=https://example.atlassian.net --env JIRA_EMAIL=you@example.com --env JIRA_API_TOKEN=your-token -- uvx jira-mini-mcp
Any other stdio host
Command uvx, argument jira-mini-mcp, and the three environment variables. Add READ_ONLY_MODE=true to withhold the write tools. OAuth host examples are in oauth.md.
Three tools, chosen so an agent can close the loop on a ticket it worked:
add_comment(issue_key, body)
transition_issue(issue_key, to, comment=None) update_issue(issue_key, fields)
Issue creation, links, attachment upload, worklogs, and deletion are out of scope. Creation needs per-project, per-type required-field discovery and is a feature in its own right; a link, or a request for one, fits in a comment.
Three things are worth knowing before an agent writes:
In Progress can produce a status called In Development, and two differently named transitions can reach one status - so prefer the transition name. When nothing matches, the error lists every available transition and where it leads. To see the options first, ask get_issue(fields=["transitions"]). That is why there is no separate get_transitions tool.get_issue returns: assignee as an account id, an email, a display name, or the literal "me", description as Markdown, customfield_* as raw Jira JSON. It refuses status and comment, naming the tool that does each.Each write tool is annotated readOnlyHint=false with honest destructiveHint and idempotentHint values, which is what READ_ONLY_MODE filters on.
A tool definition is a name, a description, an input schema, and often an output contract. Depending on the client, all of it enters the model's context before any work happens. A large toolset therefore spends context on capabilities the current task will never use, and raises the chance of picking the wrong tool, confusing similar ones, or passing bad parameters.
Six to nine compact schemas stay affordable for a whole session, leaving the context budget for source code, issue descriptions, stack traces, and reasoning. The design follows Anthropic's guidance for agent systems: keep toolsets small, role-scoped, and clearly differentiated.
This is a claim, so the repository tests it. The offline half runs with the suite and checks that every tool is described substantially, that no two descriptions are near-duplicates, and that every parameter whose behavior cannot be guessed from its name is explained in prose. The other half puts the real tool definitions in front of a real model and scores which one it picks - see evals/README.md.
The same principle shapes the responses. get_issue does not dump hundreds of comments, the full changelog, attachment contents, or every custom field; large resources are fetched only when asked for.
| jira-mini-mcp | Official Atlassian MCP | sooperset/mcp-atlassian | |
|---|---|---|---|
| Scope | Jira only | Jira, Confluence, JSM, Bitbucket, Compass, Loom, and more | Jira and Confluence |
| Deployments | Cloud | Cloud | Cloud, Server/Data Center |
| Hosting | Local, stdio | Remote, Atlassian-hosted | Local (stdio, Docker) or HTTP |
| Auth | API token or OAuth 2.0 (own app) | OAuth 2.1 or API token | API token, PAT, or OAuth 2.0 (own app) |
| Tools | 6-9, always visible | A small default set with on-demand discovery | 98 |
| Writes | 3 tools | Yes, admin-gated by category | Yes |
| License | MIT | Apache 2.0 | MIT |
The official server is the better choice when you need breadth across Atlassian products, OAuth without registering an app of your own, Jira Service Management, or organization-level controls such as permission groups, IP allowlisting, and audit logs. It is Atlassian's own product, it tracks their APIs, and nothing here competes with that.
`mcp-atlassian` is the better choice when you need Confl
ตัดมาแค่ช่วงต้น อ่านต่อใน repo