In-depth architectural comparison of the MCP Server Atlassian Jira and Arbeitnow MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
MCP Server Atlassian Jira
Workplace & Productivity · Local stdio
Quality: 65/100 (Great) | Auth: API Key required
Arbeitnow
Workplace & Productivity · Local stdio
Quality: 47/100 (Fair) | Auth: No auth required
Verdict Summary: Choose MCP Server Atlassian Jira if you need specialized Workplace & Productivity tools running via a local process. Choose Arbeitnow if your workspace requires Workplace & Productivity integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose MCP Server Atlassian Jira when:
You need dedicated capabilities in the Workplace & Productivity domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Free / Open Source).
You have access to required keys: ATLASSIAN_SITE_NAME, ATLASSIAN_USER_EMAIL, ATLASSIAN_API_TOKEN.
Atlassian Jira Cloud integration. Enables AI systems to interact with Jira projects, issues, comments, and related development information in real time.
Read any Jira data. Returns TOON format by default (30-60% fewer tokens than JSON).
**IMPORTANT - Cost Optimization:**
- ALWAYS use `jq` param to filter response fields. Unfiltered responses are very expensive!
- Use `maxResults` query param to restrict result count (e.g., `maxResults: "5"`)
- If unsure about available fields, first fetch ONE item with `maxResults: "1"` and NO jq filter to explore the schema, then use jq in subsequent calls
**Schema Discovery Pattern:**
1. First call: `path: "/rest/api/3/search/jql", queryParams: {"maxResults": "1", "jql": "project=PROJ"}` (no jq) - explore available fields
2. Then use: `jq: "issues[*].{key: key, summary: fields.summary, status: fields.status.name}"` - extract only what you need
**Output format:** TOON (default, token-efficient) or JSON (`outputFormat: "json"`)
**Common paths:**
- `/rest/api/3/project` - list all projects
- `/rest/api/3/project/{projectKeyOrId}` - get project details
- `/rest/api/3/search/jql` - search issues with JQL (use `jql` query param). NOTE: `/rest/api/3/search` is deprecated!
- `/rest/api/3/issue/{issueIdOrKey}` - get issue details
- `/rest/api/3/issue/{issueIdOrKey}/comment` - list issue comments
- `/rest/api/3/issue/{issueIdOrKey}/worklog` - list issue worklogs
- `/rest/api/3/issue/{issueIdOrKey}/transitions` - get available transitions
- `/rest/api/3/user/search` - search users (use `query` param)
- `/rest/api/3/status` - list all statuses
- `/rest/api/3/issuetype` - list issue types
- `/rest/api/3/priority` - list priorities
**JQ examples:** `issues[*].key`, `issues[0]`, `issues[*].{key: key, summary: fields.summary}`
**Example JQL queries:** `project=PROJ`, `assignee=currentUser()`, `status="In Progress"`, `created >= -7d`
API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
jira_post
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
MCP Server Atlassian Jira is categorized under Workplace & Productivity and uses a local stdio subprocess. In contrast, Arbeitnow belongs to Workplace & Productivity using local stdio subprocess. Select MCP Server Atlassian Jira when you need capabilities focused on workplace & productivity and Arbeitnow when you require tools for workplace & productivity.
Create Jira resources. Returns TOON format by default (token-efficient).
**IMPORTANT - Cost Optimization:**
- Use `jq` param to extract only needed fields from response (e.g., `jq: "{key: key, id: id}"`)
- Unfiltered responses include all metadata and are expensive!
**Output format:** TOON (default) or JSON (`outputFormat: "json"`)
**Common operations:**
1. **Create issue:** `/rest/api/3/issue`
body: `{"fields": {"project": {"key": "PROJ"}, "summary": "Issue title", "issuetype": {"name": "Task"}, "description": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Description"}]}]}}}`
2. **Add comment:** `/rest/api/3/issue/{issueIdOrKey}/comment`
body: `{"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Comment text"}]}]}}`
3. **Add worklog:** `/rest/api/3/issue/{issueIdOrKey}/worklog`
body: `{"timeSpentSeconds": 3600, "comment": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Work done"}]}]}}`
4. **Transition issue:** `/rest/api/3/issue/{issueIdOrKey}/transitions`
body: `{"transition": {"id": "31"}}`
5. **Add attachment:** `/rest/api/3/issue/{issueIdOrKey}/attachments`
Note: Requires multipart form data (complex - use Jira UI for attachments)
API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
jira_put
Replace Jira resources (full update). Returns TOON format by default.
**IMPORTANT - Cost Optimization:** Use `jq` param to extract only needed fields from response
**Output format:** TOON (default) or JSON (`outputFormat: "json"`)
**Common operations:**
1. **Update issue (full):** `/rest/api/3/issue/{issueIdOrKey}`
body: `{"fields": {"summary": "New title", "description": {...}, "assignee": {"accountId": "..."}}}`
2. **Update project:** `/rest/api/3/project/{projectIdOrKey}`
body: `{"name": "New Project Name", "description": "Updated description"}`
3. **Set issue property:** `/rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}`
body: `{"value": "property value"}`
Note: PUT replaces the entire resource. For partial updates, prefer PATCH.
API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
jira_patch
Partially update Jira resources. Returns TOON format by default.
**IMPORTANT - Cost Optimization:** Use `jq` param to filter response fields.
**Output format:** TOON (default) or JSON (`outputFormat: "json"`)
**Common operations:**
1. **Update issue fields:** `/rest/api/3/issue/{issueIdOrKey}`
body: `{"fields": {"summary": "Updated title"}}` (only updates specified fields)
2. **Update comment:** `/rest/api/3/issue/{issueIdOrKey}/comment/{commentId}`
body: `{"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Updated comment"}]}]}}`
3. **Update worklog:** `/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}`
body: `{"timeSpentSeconds": 7200}`
Note: PATCH only updates the fields you specify, leaving others unchanged.
API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
jira_delete
Delete Jira resources. Returns TOON format by default.
**Output format:** TOON (default) or JSON (`outputFormat: "json"`)
**Common operations:**
1. **Delete issue:** `/rest/api/3/issue/{issueIdOrKey}`
Query param: `deleteSubtasks=true` to delete subtasks
2. **Delete comment:** `/rest/api/3/issue/{issueIdOrKey}/comment/{commentId}`
3. **Delete worklog:** `/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}`
4. **Delete attachment:** `/rest/api/3/attachment/{attachmentId}`
5. **Remove watcher:** `/rest/api/3/issue/{issueIdOrKey}/watchers`
Query param: `accountId={accountId}`
Note: Most DELETE endpoints return 204 No Content on success.
API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/
Arbeitnow Tools (3)
list_jobs
List recent job postings from Arbeitnow, a keyless European (Germany-heavy) job board with many English-speaking and visa-sponsorship roles. Returns one page of postings in reverse-chronological order (newest first). HTML descriptions are omitted from this list — use get_job for the full descriptio…
search_jobs
Keyword-search recent Arbeitnow job postings (keyless European/German job board, many English-speaking & visa-sponsor roles). The upstream API has no search param, so this scans the most recent pages and filters client-side: it keeps jobs whose title, company name, or any tag contains the query (ca…
get_job
Fetch the full details of a single Arbeitnow job posting by its slug, INCLUDING the full HTML description. There is no single-job endpoint upstream, so this scans the most recent pages (~3) to find the matching slug. If the job has scrolled off the recent listings it cannot be retrieved — use searc…