使用说明
Jira MCP客户端与Groq LLM
通过MCP stdio桥将本地Groq LLM(通过LangChain)与Storm AI的Jira MCP服务器集成。这让你可以与Groq聊天,并让它调用Storm AI暴露的真实Jira工具。
工作原理(项目流程)
- 初创公司:脚本使用以下命令启动MCP网桥
npx mcp-remote指向您的Storm AI网关X-API-Keyauth。 - 握手:MCP
ClientSession初始化并列出Storm AI发布的可用Jira工具。 - LLM设置:Groq已初始化(
langchain_groq.ChatGroq)并绑定到发现的MCP工具(转换为LangChain的OpenAI函数调用模式)。 - 聊天循环:您的提示已发送给Groq。如果模型决定使用Jira工具,脚本将通过MCP会话执行它,收集工具的结果,并将其反馈给Groq以获得最终答案。如果不需要工具,Groq会直接回复。
先决条件
- Storm AI Jira MCP服务器 通过网关URL运行和访问。
- API密钥:
STORM_API_KEY(又名Storm MCP API密钥)GROQ_API_KEY
- 网关URL:
STORM_GATEWAY_URL(例如。,https://gateway.storm.dev/mcp/jira或根据您的设置提供)
- Node.js 随着
npx可用(通常为Windows路径C:\\Program Files\\nodejs\\npx). - Python 3.10+ 和
pip.
环境变量
创建一个 .env 项目根目录中的文件:
STORM_GATEWAY_URL=https://your-storm-gateway.example/mcp/jira
STORM_API_KEY=your_storm_api_key_here
GROQ_API_KEY=your_groq_api_key_here
笔记:
- 在Windows上,保持
NPX_PATH在main.py如果不同,请与您的Node.js安装对齐。 - 您可以在中更改Groq模型
main.py(参见GROQ_MODEL).
安装
pip install -r requirements.txt
如果你使用 uv:
uv sync
跑
python main.py
启动时,脚本打印先决条件检查,通过MCP连接到Storm AI,列出可用的Jira工具,初始化Groq,并进入交互式聊天。
示例用法(交互式)
- 启动后键入的示例查询:
- “列出我的所有Jira项目”
- “显示PROJ项目中的未解决问题”
- “创建任务:事件-API延迟峰值,将优先级设置为高”
- “获取PROJ-123问题的详细信息”
- “向PROJ-456添加评论:正在处理此问题”
示例会话摘录:
=== STEP 1: Connecting to Storm AI ===
Gateway: https://your-storm-gateway.example/mcp/jira
✓ mcp-remote bridge started
✓ Connected to Storm AI gateway
✓ MCP session created
✓ Handshake completed
=== STEP 2: Discovering Jira Tools ===
✓ Found 12 Jira tools from Storm AI:
1. jira_search_issues
2. jira_create_issue
...
=== STEP 3: Setting up Groq LLM ===
✓ Groq LLM initialized (model: meta-llama/llama-4-maverick-17b-128e-instruct)
✓ Groq now has access to 12 Jira tools!
=== STEP 4: Chat with Jira via Groq ===
👤 You: Show me open issues in project PROJ
🤖 Groq thinking...
🔧 Groq decided to call Jira tools:
📞 Tool: jira_search_issues
📝 Args: {"jql": "project = PROJ AND statusCategory != Done ORDER BY updated DESC"}
⏳ Executing via Storm AI... ✓
📊 Result: 1820 characters received
💬 Groq:
- 3 open issues found in PROJ:
- PROJ-123 (High): API timeout on login
- PROJ-125 (Medium): Dashboard chart misrender
- PROJ-130 (Low): Typo in settings label
配置详细信息
main.py- 倒像
STORM_GATEWAY_URL,STORM_API_KEY,GROQ_API_KEY从环境。 - 用途
NPX_PATH推出mcp-remote随着--header X-API-Key: <STORM_API_KEY>. - Binds为Groq发现了用于函数调用的MCP工具。
- 倒像
jira_mcp_client.py- 早期版本,消息流更简单;保留以供参考。
故障排除
- “请设置您的Groq API密钥”:确保
GROQ_API_KEY存在于.env或环境。 - “无法启动mcp-remote”:验证是否已安装Node.js,以及
NPX_PATH在main.py正确或确保npx在PATH上。 - “握手失败”或工具列表为空:确认
STORM_GATEWAY_URL是正确的STORM_API_KEY有访问权限。 - 工具结果为空:MCP服务器可能不会为某些查询返回任何内容;尝试更简单的查询或在Storm AI中验证Jira连接。
安全
- .env被Git通过以下方式忽略
.gitignore.
其他示例
-
询问特定问题的状态和受让人:
- “IT-6的状态是什么,谁被分配到该问题?”
示例结果:
🔧 Groq decided to call Jira tools: 📞 Tool: jira_get_issue 📝 Args: {"issueIdOrKey": "IT-6"} ⏳ Executing via Storm AI... ✓ 💬 Groq: - IT-6 status: In Progress - Assignee: Jane Doe (@jane.doe) -
创建一个带有标题和描述的新问题:
- 在项目IT中创建一个任务,标题为“登录2FA失败”,描述为“SSO用户的2FA步骤间歇性失败;捕获日志并添加重试”
示例结果:
🔧 Groq decided to call Jira tools: 📞 Tool: jira_create_issue 📝 Args: {"projectKey": "IT", "summary": "Login 2FA failure", "description": "2FA step intermittently fails for SSO users; capture logs and add retry.", "issuetype": "Task", "priority": "High"} ⏳ Executing via Storm AI... ✓ 💬 Groq: - Created issue IT-142 with priority High - Link: https://your-jira.example/browse/IT-142
