Agent-to-Atlassian — CLI and MCP server for AI agents to work with Jira & Confluence.
Three connection-management tools with complete input schemas and descriptions. login and logout have detailed, actionable descriptions (200+ chars) explaining security patterns (ENV_VAR, op:// vault refs) and timezone/worklog_admins configuration. All parameters are typed and described. However, output schemas are not documented, callers cannot infer return structure. Error handling is minimal; no guidance on recovery (e.g., 'connection not found' should suggest list_connections). Tool composition is sound (one responsibility each), but descriptions lack LLM-optimized brevity and missing examples of valid connection names.
List saved connections (no secrets shown).
Save an Atlassian connection. Validates by calling /myself. For security, prefer a reference over a literal token value. Two reference forms are supported and resolved at call time (never stored resolved): - ${ENV_VAR} — read from the environment, e.g. "${ATLASSIAN_TOKEN}". - op://vault/item/field — fetch via the 1Password CLI (`op read`). Requires the `op` binary on PATH and the user signed in; falls back to the literal string if `op` is missing or the fetch fails. timezone: IANA zone name (e.g., 'Europe/Istanbul'); default 'UTC'. Used for day-boundary math in jira_get_worklogs summary mode. worklog_admins: list of emails allowed to proxy-log worklog hours on others' tickets; those hours are attributed to the ticket's assignee.
Remove a saved connection.
Output schemas not documented. Callers cannot infer return structure (e.g., does login return connection_id, url, email, or a confirmation string?). LLMs cannot plan downstream tool calls without knowing what fields to extract.
Error handling lacks recovery guidance. If a connection is not found, the error should suggest 'Try list_connections() to see available names' rather than a bare FileNotFoundError. Agents need actionable next steps.
logout description is generic ('Remove a saved connection'). Should clarify: does it delete the config file? Is it reversible? What happens to active sessions? Agents need to understand consequences of destructive operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
list_connections 'connection' parameter has default=null but description says 'Optional filter'. Unclear whether null means 'list all' or 'error'. Should document: 'Omit to list all connections; pass a name to filter to one.'
login description mentions 'op://' vault references but does not explain fallback behavior clearly. Should state: 'If op binary is missing or fetch fails, the literal string is used, ensure this is intentional for security.'