Usage — MCP / Python API / CLI¶
atlassian-agent exposes the same Atlassian capability three ways: as MCP tools an
agent calls, as Python clients you import, and as a CLI that runs the MCP
server or the A2A agent. The tool domains and concept registry are in
Overview and Concepts.
As an MCP server¶
Once deployed, the server registers Atlassian tool groups, each
gated by a *_TOOL environment toggle. The groups span Jira, Confluence, and Cloud
organization administration:
| Domain | Tool groups |
|---|---|
| Jira | projects, issues, comments, fields, screens, workflows, users |
| Confluence | pages, spaces, users |
| Cloud administration | organization, admin, API access, DLP, user management, user provisioning, control |
Example agent prompts that map onto these tools:
- "List the open issues in project
PROJ" → Jira issue tools - "Create a Confluence page titled 'Release Notes' in the
ENGspace" → Confluence page tools - "Show the members of the Atlassian organization" → organization / user management tools
As a Python API¶
The clients wrap the Atlassian REST surface through a shared BaseAtlassianClient,
which carries the base URL, credentials, and TLS verification. Each call returns a
structured Response rather than raising, so the surface is safe to use without a
reachable instance.
from atlassian_agent.api.base import BaseAtlassianClient
from atlassian_agent.api.api_client_jira_cloud import JiraCloudAPI
from atlassian_agent.api.api_client_confluence_cloud import ConfluenceCloudAPI
base = BaseAtlassianClient(
base_url="https://your-company.atlassian.net",
username="your-email@example.com",
token="your_api_token",
verify=True,
)
jira = JiraCloudAPI(base)
confluence = ConfluenceCloudAPI(base)
# Reads
projects = jira.jira_cloud_get_projects_with_field_schemes() # structured Response
spaces = confluence.confluence_cloud_get_spaces()
pages = confluence.confluence_cloud_get_pages()
print(spaces.status_code, spaces.data)
Build a client straight from the environment — get_suite_client() reads the
ATLASSIAN_* variables (and supports OIDC delegation / 3LO OAuth before falling back
to basic auth):
from atlassian_agent.auth import get_suite_client
base = get_suite_client() # reads ATLASSIAN_* from the environment / .env
As a CLI¶
atlassian-agent installs two console scripts.
Run the MCP server:
export ATLASSIAN_AGENT_URL=https://your-company.atlassian.net
export ATLASSIAN_AGENT_USER=your-email@example.com
export ATLASSIAN_AGENT_TOKEN=your_api_token
atlassian-mcp # stdio (default)
atlassian-mcp --transport streamable-http --host 0.0.0.0 --port 8000
Run the A2A agent server against a running MCP server:
export MCP_URL=http://localhost:8000/mcp
atlassian-agent --provider openai --model-id gpt-4o --api-key sk-...
Both scripts accept --help for the full flag set.