jira-mock-mcp

jira-mock-mcp

Enables AI assistants to interact with a self-hosted Jira clone for testing, supporting project and issue management, comments, and search via MCP tools.

Category
Visit Server

README

PurpleTrack β€” JiraMock

A self-hosted Jira clone designed for testing MCP (Model Context Protocol) integrations on Azure. Ships with a REST API, MCP server, and purple web frontend β€” all in Docker.


πŸš€ Quick Start (Azure VM)

# 1. Clone the repo on your VM
git clone https://github.com/YOUR_ORG/jira-clone.git
cd jira-clone

# 2. Build and launch
docker compose up -d --build

# 3. Access
#   Frontend:  http://<VM_IP>:3000
#   API:       http://<VM_IP>:8000
#   API Docs:  http://<VM_IP>:8000/docs

Azure NSG: Open inbound ports 3000 (frontend) and 8000 (API) in your Network Security Group.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               Docker Network            β”‚
β”‚                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Frontend β”‚    β”‚    Backend       β”‚  β”‚
β”‚  β”‚  nginx   │───▢│  FastAPI + JSON  β”‚  β”‚
β”‚  β”‚  :3000   β”‚    β”‚    DB  :8000     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                         β–²               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚               β”‚
β”‚  β”‚   MCP Server     β”‚β”€β”€β”€β”˜               β”‚
β”‚  β”‚  (stdio/Python)  β”‚                   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‘ REST API

The API mirrors Jira's REST API v3 structure. All endpoints at /rest/api/3/.

Method Endpoint Description
GET /rest/api/3/project List all projects
POST /rest/api/3/project Create project
GET /rest/api/3/project/{key} Get project
DELETE /rest/api/3/project/{key} Delete project
GET /rest/api/3/issue List/filter issues
POST /rest/api/3/issue Create issue
GET /rest/api/3/issue/{key} Get issue + comments
PUT /rest/api/3/issue/{key} Update issue
DELETE /rest/api/3/issue/{key} Delete issue
POST /rest/api/3/issue/{key}/transitions Move status
GET /rest/api/3/issue/{key}/comment List comments
POST /rest/api/3/issue/{key}/comment Add comment
GET /rest/api/3/search?jql=... JQL search
GET /rest/api/3/users List users
GET /rest/api/3/stats Dashboard stats

Full interactive docs at http://<host>:8000/docs


πŸ€– MCP Server

Tools Available

Tool Description
list_projects List all projects
create_project Create a project
get_project Get project details
delete_project Delete a project
list_issues List/filter issues
create_issue Create an issue
get_issue Get issue + comments
update_issue Update issue fields
delete_issue Delete an issue
transition_issue Change issue status
add_comment Comment on an issue
list_comments List issue comments
list_users List available users
search_issues JQL search
get_stats Dashboard statistics

Claude Desktop Config

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "jiramock": {
      "command": "docker",
      "args": [
        "exec", "-i", "jiramock-mcp",
        "python", "server.py"
      ],
      "env": {
        "JIRA_BASE_URL": "http://backend:8000"
      }
    }
  }
}

Azure AI Foundry / HTTP MCP config

If your MCP client supports HTTP transport, point it at:

http://<VM_IP>:8000

and use the REST endpoints directly, or wrap the MCP server behind an SSE/HTTP proxy.


πŸ“ Project Structure

jira-clone/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ main.py           # FastAPI application
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── Dockerfile
β”œβ”€β”€ mcp-server/
β”‚   β”œβ”€β”€ server.py         # MCP server (stdio transport)
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── Dockerfile
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ index.html        # Purple web UI
β”‚   └── Dockerfile
β”œβ”€β”€ nginx/
β”‚   └── default.conf      # Reverse proxy config
β”œβ”€β”€ docker-compose.yml
└── README.md

πŸ”§ Configuration

Variable Default Description
JIRA_BASE_URL http://backend:8000 MCP server β†’ backend URL

Data is persisted in a Docker volume (jiramock-data) at /data/db.json.


πŸ›‘ Management

# Stop
docker compose down

# Stop and wipe data
docker compose down -v

# Logs
docker compose logs -f backend
docker compose logs -f mcp-server

# Rebuild after changes
docker compose up -d --build

πŸ” Migrating to Real Jira

When ready to swap to real Jira:

  1. Replace JIRA_BASE_URL with your Jira instance URL
  2. Add JIRA_API_TOKEN and JIRA_USER env vars to the MCP server
  3. Update server.py to use basic auth: httpx.AsyncClient(auth=(user, token))

The MCP tool interface remains identical β€” no changes to your Claude prompts or Azure Foundry config.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured