使用说明
Jira周报MCP服务器
该项目提供了 FastMCP 连接到Jira实例(云或服务器/数据中心)的服务器,以根据问题活动生成每周报告。它利用了 pycontribs-jira 用于Jira交互的库,并且可以选择使用连接的客户端的大型语言模型(LLM)来汇总生成的报告。
✨ 特性
- Jira连接: 使用存储在
.env文件。 - MCP工具: 暴露a
generate_jira_report工具可通过模型上下文协议访问。 - 灵活的报告:
- 默认情况下,报告过去7天内更新的问题。
- 允许指定自定义JQL查询。
- 可以根据特定的Jira项目密钥筛选报告。
- 限制返回的结果数量(可配置)。
- (可选)法学硕士概述: 可以使用 客户的 LLM(通过
ctx.sample())提供报告的简明摘要。 - 异步处理: 使用以下命令在异步FastMCP服务器内正确处理同步Jira库调用
asyncio.to_thread.
📋 先决条件
- Python 3.10或更高版本。
uv(推荐)或pip用于包管理。- 访问Jira实例(云、服务器或数据中心)。
- Jira API令牌(用于服务器/DC的个人访问令牌)。
- FastMCP命令行界面 已安装并可在系统的PATH中使用。
⚙️ 设置
-
克隆存储库(如果适用):
git clone https://github.com/Jongryong/jira_reporter.git cd jira_reporter -
安装依赖关系: 我们建议使用
uv:uv pip install fastmcp "jira[cli]" python-dotenv httpx anyio或者,使用
pip:pip install fastmcp "jira[cli]" python-dotenv httpx anyio -
创建
.env文件: 创建一个名为的文件.env在 同一目录 像jira_reporter_server.py.添加您的Jira连接详细信息:# .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
▶️ 运行服务器(独立)
您可以独立运行服务器进行测试或其他目的:
-
直接使用Python:
python jira_reporter_server.py -
使用FastMCP CLI:
fastmcp run jira_reporter_server.py要使用SSE运行(例如,用于远程访问):
fastmcp run jira_reporter_server.py --transport sse --port 8001
🖥️ 与Claude Desktop一起使用
要使此服务器作为Claude Desktop应用程序中的工具可用,请执行以下操作:
-
确保先决条件: 确保
fastmcp已安装并可在系统的PATH中访问,因为下面的配置使用fastmcp命令。 -
找到Claude配置文件: 查找
claude_desktop_config.json文件。其位置取决于您的操作系统:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json(通常C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json) - Linux:
~/.config/Claude/claude_desktop_config.json(或$XDG_CONFIG_HOME/Claude/)
- macOS:
-
编辑配置文件: 打开
claude_desktop_config.json在文本编辑器中。 -
添加服务器配置: 查找
"mcpServers"JSON中的对象(如果它不存在,请将其创建为空对象{}).在内部添加以下条目mcpServers,确保更换"path/to/your/jira_reporter_server.py"随着 绝对路径 到你的脚本:{ "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":这是克劳德使用的内部名称。如果需要,您可以更改它。"command": "fastmcp":告诉克劳德使用fastmcp命令行工具。"args": [...]:告诉克劳德跑fastmcp run /path/to/your/jira_reporter_server.py.
-
保存并重新启动: 保存
claude_desktop_config.json文件并重新启动Claude Desktop应用程序。 -
调用工具: 现在,您应该能够通过提及Python脚本中定义的服务器名称来使用Claude中的工具(
Jira Weekly Reporter).例如:@Jira Weekly Reporter generate jira report for project MYPROJ and summarize it
🛠️ MCP工具详细信息
- 工具名称:
generate_jira_report - 说明: 基于JQL查询生成Jira问题报告(默认为最近更新)。可选择使用客户的LLM对报告进行总结。
参数:
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
jql_query |
string |
没有 | updated >= -7d ORDER BY updated DESC |
可选JQL查询。如果省略,则使用默认值。 |
project_key |
string |
没有 | None |
可选的Jira项目密钥(例如“PROJ”)用于限制搜索范围(添加为 project = 'KEY' AND ...). |
max_results |
integer |
没有 | 50 |
原始报告数据中包含的最大问题数。 |
summarize |
boolean |
没有 | false |
如果 true,服务器将请求 客户的 LLM通过 ctx.sample(). |
📦 服务器依赖关系
这 FastMCP 构造函数包括 dependencies=["jira"].这告诉工具 fastmcp install 那个 jira 创建隔离环境时,此服务器需要库才能正常运行。
🤝 贡献
欢迎投稿!请随时提交问题或拉取请求。
📄 许可证
MIT许可证
