Jira MCP服务器

一个简单的Python MCP服务器,用于从Jira实例中检索数据,提供获取Jira票证和评论的功能。

  • by dmisky
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dmisky/jira-mcp

使用说明

Jira MCP服务器

该项目在Python中提供了一个简单、结构良好的MCP(模型上下文协议)服务器,该服务器与Jira集成。服务器为AI提供了两个不同的操作,以从Jira实例中检索数据。

项目结构

jira-mcp/
├── src/
│   └── jira_mcp/
│       ├── __init__.py
│       ├── client.py
│       └── server.py
├── tests/
│   ├── __init__.py
│   └── test_jira_client.py
├── .env.example
├── .gitignore
├── debug_stdio.py
├── pyproject.toml
└── README.md

设置

  1. 创建和激活虚拟环境: 建议使用虚拟环境:

    # Create virtual environment
    python3 -m venv .venv
    
    # Activate it
    source .venv/bin/activate
    
  2. 安装软件包: 激活虚拟环境后,以可编辑模式安装软件包:

    pip install -e .
    
  3. 配置: 服务器通过读取环境变量来工作。您必须设置以下环境变量:

    • JIRA_SERVER_URL
    • JIRA_USERNAME
    • JIRA_API_TOKEN
    • JIRA_DEFAULT_FIELDS (可选)

    您可以在shell配置文件中设置这些,也可以在运行命令时传递它们。

MCP配置

要将此服务器与MCP客户端(如Claude Desktop)一起使用,请将以下配置添加到您的 claude_desktop_config.json (或同等)。

确保使用Jira凭据更新环境变量,并检查python路径是否与本地设置匹配。

{
  "mcpServers": {
    "jira-mcp": {
        "type": "stdio",
        "command": "/git/jira-mcp/.venv/bin/python3",
        "args": [
            "-m",
            "jira_mcp.server"
        ],
        "env": {
            "JIRA_SERVER_URL": "",
            "JIRA_USERNAME": "",
            "JIRA_API_TOKEN": "",
            "JIRA_DEFAULT_FIELDS": "summary,status,description,labels,issuetype,issuelinks,customfield_11404"
        }
    }
  }
}

运行服务器

选项1:使用CLI命令

安装后,您可以直接运行服务器:

# Ensure env vars are set
export JIRA_SERVER_URL="https://your-domain.atlassian.net"
export JIRA_USERNAME="your-email@example.com"
export JIRA_API_TOKEN="your_api_token_here"

jira-mcp

选项2:通过Python模块运行

您还可以使用python模块语法运行它:

python3 -m jira_mcp.server

调试

辅助脚本 debug_stdio.py 用于在stdio模式下运行服务器以进行调试。它可以从加载环境变量 .env 文件(如果需要) python-dotenv).

  1. 创建 .env 文件(此脚本可选):

    cp .env.example .env
    

    用您的凭据填充它。

  2. 运行调试脚本:

    python3 debug_stdio.py
    

可用的MCP工具

  • get_jira_ticket(ticket_id: str):检索特定Jira票证的完整原始JSON数据。
  • get_jira_ticket_comments(ticket_id: str):从特定Jira票证中检索所有注释的列表。