{
  "schemaVersion": 1,
  "methodology": "https://ionbin.com/interfaces/methodology/#evaluations",
  "evaluation": {
    "id": "atlassian-rovo-mcp",
    "testedOn": "2026-10-18",
    "coverage": "remote-boundary",
    "summary": "The current /v2/mcp endpoint rejected credential-free initialization. Its public discovery metadata listed read, write and other scopes across multiple Atlassian products.",
    "identity": {
      "version": "Remote deployment version not disclosed by the observed responses",
      "target": "https://mcp.atlassian.com/v2/mcp",
      "integrity": "HTTPS certificate verification enabled. Public resource-metadata body SHA-256: 0beffea740c221e0df9f5797dedb3d5e7591d44c05d40f7894ce0936c1a6917d. This fingerprints the observed metadata, not the deployed server implementation."
    },
    "environment": [
      "Windows 11 build 26200; Python 3.12.10 urllib; OpenSSL 3.0.16.",
      "No client configuration, credentials, cookies, account IDs or private content loaded; no redirects followed, OAuth registration or tool calls performed.",
      "Observed 2026-10-19T00:47:10.910158+00:00 through 2026-10-19T00:47:20.930924+00:00 UTC.",
      "One request per listed check; 20-second timeout and 64-KiB response cap. Initial sandbox DNS failures were retained separately and resolved with approved network access; they are not endpoint failures."
    ],
    "checks": [
      {
        "id": "atlassian-rovo-mcp-initialize",
        "name": "Credential-free initialization",
        "method": "POST https://mcp.atlassian.com/v2/mcp; no Authorization or Cookie header; redirects disabled; Accept: application/json, text/event-stream. Content-Type: application/json; MCP-Protocol-Version: 2025-03-26; body: {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"IonBin-account-free-evaluation\",\"version\":\"1.0.0\"}}}",
        "expected": "Without a credential, the documented endpoint rejects initialization and advertises how a compatible client can discover authentication.",
        "observed": "HTTP 401 at 2026-10-19T00:47:10.910158+00:00. WWW-Authenticate: Bearer; resource_metadata=https://mcp.atlassian.com/.well-known/oauth-protected-resource/v2/mcp. Parsed error indicator: invalid_token.",
        "outcome": "pass"
      },
      {
        "id": "atlassian-rovo-mcp-resource-metadata",
        "name": "Public authentication discovery",
        "method": "GET https://mcp.atlassian.com/.well-known/oauth-protected-resource/v2/mcp; no Authorization or Cookie header; redirects disabled; Accept: application/json, text/event-stream.",
        "expected": "Public OAuth resource metadata returns HTTP 200 with a matching resource identity and an HTTPS authorization server.",
        "observed": "HTTP 200 at 2026-10-19T00:47:20.930924+00:00; Content-Type: application/json. Resource: https://mcp.atlassian.com/v2/mcp. 38 supported scopes: read:me, read:account, offline_access, email, read:jira:agent-interface, write:jira:agent-interface, search:jira:agent-interface, delete:jira:agent-interface, manage:jira:agent-interface, read:confluence:agent-interface, write:confluence:agent-interface, search:confluence:agent-interface, search:rovo:agent-interface, search:code:agent-interface, read:all:twg, write:all:twg, read:goals:agent-interface, write:goals:agent-interface, read:projects:agent-interface, write:projects:agent-interface, read:bitbucket:agent-interface, write:bitbucket:agent-interface, read:loom:agent-interface, write:loom:agent-interface, read:talent:agent-interface, write:talent:agent-interface, read:jira-align:agent-interface, write:jira-align:agent-interface, read:teams:agent-interface, write:teams:agent-interface, read:artifacts:agent-interface, write:artifacts:agent-interface, read:capacity-planning:agent-interface, write:capacity-planning:agent-interface, read:focus:agent-interface, write:focus:agent-interface, read:assets:agent-interface, write:assets:agent-interface. Authorization server: https://auth.atlassian.com (public issuer path omitted). Bearer methods: header.",
        "outcome": "pass"
      }
    ],
    "findings": [
      {
        "title": "Broad discovery is not an access grant",
        "basis": "observed",
        "severity": "informational",
        "detail": "The current v2 endpoint returned 401 with error invalid_token. Its public resource metadata included read, write, search, delete and manage scope names. This establishes a discoverable authentication boundary, not which scopes a user would receive.",
        "practicalAdvice": "Review the consent and effective organization permissions. Confirm the intended product and site before allowing a tool operation."
      },
      {
        "title": "Organization settings can expand with new permissions",
        "basis": "documented",
        "severity": "informational",
        "detail": "Atlassian's MCP Permissions tab controls read, write and search access. Its apply-to-future-additions option can automatically authorize later permissions for an allowed intent.",
        "practicalAdvice": "Inspect the MCP-specific organization settings and future-addition behavior. Disable write access for an investigation-only workflow and verify denial with a dedicated test account."
      }
    ],
    "caveats": [
      "Use the current /v2/mcp guide when configuring a new client; older examples can refer to other transports or endpoint versions.",
      "Some enriched Teamwork Graph and search calls consume Rovo credits. Authentication success would not establish that a workflow is cost-free.",
      "A connected client can act with the user's existing permissions; high-impact changes still need explicit review."
    ],
    "notTested": [
      "OAuth or API-token authentication, organization policies, product/site permissions and tenant isolation.",
      "Authenticated tool discovery, Jira or Confluence reads/writes, audit records, credit usage and prompt-injection resistance.",
      "The older endpoint variants and local implementation.",
      "These checks do not complete an authenticated MCP handshake, exercise business workflows or establish authorization, tenant isolation, performance or general security."
    ],
    "sources": [
      {
        "label": "Official v2 setup, authority and credit caveats",
        "url": "https://support.atlassian.com/atlassian-ai-gateway/docs/get-started-with-the-atlassian-remote-mcp-server/"
      },
      {
        "label": "Official organization MCP permission controls",
        "url": "https://support.atlassian.com/security-and-access-policies/docs/configure-atlassian-mcp-server-permissions/"
      }
    ],
    "reportUrl": "/interface-evaluations/atlassian-rovo-mcp.json"
  }
}
