jtk mcp
Start the Model Context Protocol (MCP) server for Jira Cloud.
# stdio transport (default)jtk mcp
# HTTP Streamable transportjtk mcp --port 8080| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--port | -p | int | 0 | Port to listen on. When 0 (default), uses stdio transport. |
Transport Modes
Section titled “Transport Modes”stdio (default)
Section titled “stdio (default)”When no --port is specified, jtk communicates over standard input/output. This is the standard mode for local MCP clients:
- Claude Desktop / Claude Code
- Cursor
- opencode
- Any MCP client using stdio
jtk mcpHTTP Streamable
Section titled “HTTP Streamable”When --port is specified, jtk starts an HTTP server using the MCP Streamable HTTP transport:
jtk mcp --port 8080Starting Jira MCP Server on :8080 (HTTP Streamable)Use this mode for:
- Remote MCP clients
- Web-based integrations
- Multi-user setups behind a reverse proxy
Prerequisites
Section titled “Prerequisites”Authentication must be configured before starting the server. The server checks for credentials in this order:
- Environment variables:
JIRA_DOMAIN,JIRA_EMAIL,JIRA_API_TOKEN - Stored credentials: from
jtk auth(saved at~/.config/jtk/credentials.json)
If neither is found, the server exits with an error:
No credentials found. Either: 1. Run: jtk auth 2. Set JIRA_DOMAIN + JIRA_EMAIL + JIRA_API_TOKEN env varsClient Configuration Examples
Section titled “Client Configuration Examples”Claude Desktop / Claude Code
Section titled “Claude Desktop / Claude Code”{ "mcpServers": { "jtk": { "command": "/path/to/jtk", "args": ["mcp"], "env": { "JIRA_DOMAIN": "mycompany", "JIRA_EMAIL": "jane@example.com", "JIRA_API_TOKEN": "your-api-token" } } }}opencode
Section titled “opencode”{ "mcp": { "jtk": { "type": "local", "command": ["/path/to/jtk", "mcp"], "environment": { "JIRA_DOMAIN": "mycompany", "JIRA_EMAIL": "jane@example.com", "JIRA_API_TOKEN": "your-api-token" } } }}What Happens at Startup
Section titled “What Happens at Startup”- Credentials loaded from env vars or stored credentials
- Token type auto-detected (classic vs scoped) if not set explicitly
- Permission introspection — calls Jira’s
mypermissionsAPI to check what your token can do - Tools registered — only actions permitted by your token appear in tool descriptions
- Server ready — begins accepting MCP requests