Rovo MCP Server: no attachment-upload tool, and `description` drops ADF media nodes on edit

Environment: Atlassian Rovo MCP Server (formerly Remote MCP Server; claude.ai / Claude Code Atlassian connector, endpoint https://mcp.atlassian.com/v1/mcp), Jira Cloud, observed 2026-06.

Two related limitations:

1. No attachment operation. The Jira toolset (getJiraIssue, editJiraIssue, addCommentToJiraIssue, createJiraIssue, transitions, issue links, plus the Confluence tools) has no operation to upload or add an attachment to an issue. An agent therefore cannot attach a file, and cannot perform an attach-then-embed-inline workflow end to end.

2. description is returned/accepted as markdown only, even when ADF is requested - which drops media nodes. getJiraIssue with responseContentFormat: "adf" returns the standard description field as a markdown string (rich-text custom fields, e.g. customfield_NNNNN, correctly return real ADF). Since markdown cannot represent ADF media / mediaInline nodes, an embedded attachment is omitted from the returned description, and because editJiraIssue only accepts markdown for description, any write silently strips an existing media node.

Repro:

  1. In the Jira UI, attach a file to an issue and embed it inline in the description.
  2. getJiraIssue(fields: ["description"], responseContentFormat: "adf")description comes back as markdown; the media node is absent.
  3. editJiraIssue(description: <that markdown>, contentFormat: "markdown") → the embedded attachment is removed from the description.

Expected: an attachment-upload tool; and responseContentFormat: "adf" returning real ADF for description (as it already does for rich-text custom fields), with editJiraIssue accepting ADF for description, so media nodes round-trip and survive edits.

Impact: agents cannot safely edit any description containing an embedded attachment or image (the edit destroys it), and cannot create attach+embed content programmatically.