Jira Weekly Reporter MCP Server

Jira Weekly Reporter MCP Server

Connects to Jira instances to generate weekly reports based on issue activity, supporting custom JQL queries and optional LLM summarization.

Category
访问服务器

README

Jira Weekly Reporter MCP Server

Python Version License: MIT <!-- Adjust if using a different license -->

This project provides a FastMCP server that connects to your Jira instance (Cloud or Server/Data Center) to generate weekly reports based on issue activity. It leverages the pycontribs-jira library for Jira interaction and can optionally use the connected client's Large Language Model (LLM) for summarizing the generated report.

✨ Features

  • Jira Connection: Securely connects to Jira using API tokens stored in a .env file.
  • MCP Tool: Exposes a generate_jira_report tool accessible via the Model Context Protocol.
  • Flexible Reporting:
    • Defaults to reporting issues updated in the last 7 days.
    • Allows specifying a custom JQL query.
    • Can filter reports by a specific Jira project key.
    • Limits the number of results returned (configurable).
  • (Optional) LLM Summarization: Can use the client's LLM (via ctx.sample()) to provide a concise summary of the report.
  • Asynchronous Handling: Properly handles synchronous Jira library calls within the asynchronous FastMCP server using asyncio.to_thread.

📋 Prerequisites

  • Python 3.10 or later.
  • uv (recommended) or pip for package management.
  • Access to a Jira instance (Cloud, Server, or Data Center).
  • A Jira API Token (Personal Access Token for Server/DC).
  • FastMCP CLI installed and available in your system's PATH.

⚙️ Setup

  1. Clone the Repository (if applicable):

    git clone https://github.com/Jongryong/jira_reporter.git
    cd jira_reporter
    
  2. Install Dependencies: We recommend using uv:

    uv pip install fastmcp "jira[cli]" python-dotenv httpx anyio
    

    Alternatively, use pip:

    pip install fastmcp "jira[cli]" python-dotenv httpx anyio
    
  3. Create .env File: Create a file named .env in the same directory as jira_reporter_server.py. Add your Jira connection details:

    # .env
    JIRA_URL=https://your-domain.atlassian.net  # Your Jira Cloud URL or Self-Hosted URL
    JIRA_USERNAME=your_email@example.com       # Your Jira login email
    JIRA_API_TOKEN=your_api_token_or_pat       # Your generated API Token or PAT
    
    • Security:
      • Never commit your .env file to version control! Add .env to your .gitignore file.
      • Jira Cloud: Generate an API token from your Atlassian account settings: Manage API tokens.
      • Jira Server/Data Center: Generate a Personal Access Token (PAT) from your Jira user profile settings: Using Personal Access Tokens.

▶️ Running the Server (Standalone)

You can run the server independently for testing or other purposes:

  1. Directly with Python:

    python jira_reporter_server.py
    
  2. Using the FastMCP CLI:

    fastmcp run jira_reporter_server.py
    

    To run with SSE (e.g., for remote access):

    fastmcp run jira_reporter_server.py --transport sse --port 8001
    

🖥️ Using with Claude Desktop

To make this server available as a tool within the Claude Desktop application:

  1. Ensure Prerequisites: Make sure fastmcp is installed and accessible in your system's PATH, as the configuration below uses the fastmcp command.

  2. Locate Claude Config File: Find the claude_desktop_config.json file. Its location depends on your operating system:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json)
    • Linux: ~/.config/Claude/claude_desktop_config.json (or $XDG_CONFIG_HOME/Claude/)
  3. Edit the Config File: Open claude_desktop_config.json in a text editor.

  4. Add Server Configuration: Find the "mcpServers" object within the JSON (if it doesn't exist, create it as an empty object {}). Add the following entry inside mcpServers, making sure to replace "path/to/your/jira_reporter_server.py" with the absolute path to your script:

    {
      "mcpServers": {
        // ... other servers might be here ...
    
        "jira_report": {
          "command": "fastmcp",
          "args": [
            "run",
            "/path/to/your/jira_reporter_server.py" // <-- IMPORTANT: Use the full, absolute path here
          ]
        }
    
        // ... other servers might be here ...
      }
      // ... rest of your Claude config ...
    }
    
    • "jira_report": This is the internal name Claude uses. You can change it if desired.
    • "command": "fastmcp": Tells Claude to use the fastmcp command-line tool.
    • "args": [...]: Tells Claude to run fastmcp run /path/to/your/jira_reporter_server.py.
  5. Save and Restart: Save the claude_desktop_config.json file and restart the Claude Desktop application.

  6. Invoke the Tool: You should now be able to use the tool in Claude by mentioning the server name defined in the Python script (Jira Weekly Reporter). For example: @Jira Weekly Reporter generate jira report for project MYPROJ and summarize it

🛠️ MCP Tool Details

  • Tool Name: generate_jira_report
  • Description: Generates a report of Jira issues based on a JQL query (defaulting to recently updated). Optionally summarizes the report using the client's LLM.

Parameters:

Parameter Type Required Default Description
jql_query string No updated >= -7d ORDER BY updated DESC Optional JQL query. If omitted, the default is used.
project_key string No None Optional Jira project key (e.g., "PROJ") to limit the search scope (added as project = 'KEY' AND ...).
max_results integer No 50 Maximum number of issues to include in the raw report data.
summarize boolean No false If true, the server will request a summary from the client's LLM via ctx.sample().

📦 Server Dependencies

The FastMCP constructor includes dependencies=["jira"]. This tells tools like fastmcp install that the jira library is required for this server to function correctly when creating isolated environments.

🤝 Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

📄 License

MIT License

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选