Skip to main content
Glama
ndigrazia

Dynamic Jira Software Cloud MCP Server

by ndigrazia

Dynamic Jira Software Cloud MCP Server

A premium, dynamic Model Context Protocol (MCP) server generated dynamically from Atlassian's swagger.json specification using the FastMCP framework in Python.

This server dynamically exposes over 100 Jira Software Cloud REST API operations as fully typed tools for Large Language Models (LLMs) to interact with, supporting Sstdio and Server-Sent Events (SSE) transports.


๐Ÿ— Architecture & Project Structure

The project has been architected following highly modular and decoupled software engineering best practices:

โ”œโ”€โ”€ .env                         # Local environment configuration
โ”œโ”€โ”€ Dockerfile                   # Safe, non-root system user Docker image setup
โ”œโ”€โ”€ docker-compose.yml           # Automated multi-container configuration
โ”œโ”€โ”€ pyproject.toml               # Python project configuration and dependency list
โ”œโ”€โ”€ dynamic_jira_mcp.py          # FastMCP server registration and transport hub
โ”œโ”€โ”€ dynamic_jira_mcp_client.py   # Async MCP Client for testing the running SSE server
โ”œโ”€โ”€ swagger.json                 # Atlassian Jira Software Cloud API OpenAPI 3.0 specification
โ”œโ”€โ”€ openapi/                     # Decoupled OpenAPI extraction and client package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ openapi_client.py        # Generic OpenAPI spec parser and async HTTP request execution
โ””โ”€โ”€ tests/                       # Fully automated test suite
    โ””โ”€โ”€ test_dynamic_jira_mcp.py # Pytest-compatible tests with live console logging

Related MCP server: Jira Data Center MCP Server

โš™๏ธ Configuration & Environment Variables

Create a local .env file in the root directory to customize the MCP server behavior and connect to your Jira instance:

# Atlassian Jira Instance URL (e.g., https://your-domain.atlassian.net)
JIRA_BASE_URL=https://your-domain.atlassian.net

# Atlassian Account Email
JIRA_USERNAME=your-email@example.com

# Atlassian Account API Token
JIRA_API_TOKEN=your-jira-api-token

# Allowed HTTP Methods (comma-separated, e.g. "get" for read-only or "get,post,put,delete" for full CRUD)
ALLOWED_METHODS=get,post,put,delete

# MCP Server Settings
MCP_TRANSPORT=sse
MCP_HOST=0.0.0.0
MCP_PORT=8000

๐Ÿš€ Running the Server

1. Locally with uv (Fastest)

Ensure you have uv installed:

# Install dependencies and launch the server
uv run python dynamic_jira_mcp.py

2. Containerized with Docker

This container is strictly configured with a non-root system user for industry-standard production safety.

# Build the Docker image
docker build -t jira-mcp-server .

# Run the container mapping port 8000
docker run -p 8000:8000 --env-file .env jira-mcp-server

To spin up, build (if missing), and tag the image, launch via compose:

# Launch the containerized server in detached mode
docker compose up -d

# View live server logs
docker logs -f jira-mcp-server

๐Ÿงช Testing and Introspection

1. Real-time Console Log Tests via Pytest

Run the comprehensive async testing suite with full live logging outputs:

uv run python -m pytest -o log_cli=true --log-cli-level=INFO tests/

2. Connect via the MCP Client Component

Run the asynchronous test client to verify connection to the running SSE server and list registered tools:

uv run python dynamic_jira_mcp_client.py

๐Ÿ›  Features Included:

  • Reference Resolution ($ref): Recursively resolves and parses internal OpenAPI schemas.

  • Dynamic Parameter Mapping: Handles Path parameters, Query parameters, and JSON Request bodies, registering them as native type annotations (e.g. int, str, list, dict) inside Python's function signatures.

  • SSE & Stdio Support: Seamlessly toggles transport protocols.

  • Secure Non-Root Container: Built with enterprise security best practices.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ndigrazia/jira_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server