Slack-Jira集成工具

通过Slack前端控制Jira的MCP服务器,支持多种LLM模型路由,实现自然语言交互和直接命令操作。

  • by jussinurminen
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 jussinurminen/mcp-server

使用说明

Slack驱动的MCP概念验证(Slack ↔ LLM路由器 ↔ MCP ↔ Jira)

这个概念验证(PoC)将Slack变成一个前端工具,通过MCP服务器来控制Jira。设计是 与大型语言模型(LLM)无关的模型你可以通过OpenAI、Claude或(其他途径)进行路由 本地Ollama开箱即用,该路由器支持基于简单规则的回退机制,并可选择调用Ollama。

聊天语言:芬兰语; 代码和文档均为英文 (根据用户偏好)。


高级流程

Slack(用户)→ Slack Bolt 应用 → 大型语言模型(LLM)路由器 (/interpret)→ MCP服务器 → Jira 工具 → Slack(直接翻译为“斯拉克”,但通常保持原样不翻译,因为它是专有名词)


文件夹

slack-mcp-poc/
├─ mcp-server/
│  ├─ tools/
│  │  └─ jira_tool.js
│  ├─ server.js
│  ├─ package.json
│  └─ .env.local
├─ slack-app/
│  ├─ slash_commands/
│  │  └─ jira.js
│  ├─ app.js
│  ├─ package.json
│  └─ .env.local
└─ shared/
   └─ schema/
      └─ intent.schema.json

快速入门

1) MCP 服务器

cd mcp-server
cp .env.local .env
npm install
npm start

环境文件(.env):

PORT=8080
# Optional LLM router (local)
OLLAMA_URL=http://localhost:11434
# JIRA
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=your.email@example.com
JIRA_API_TOKEN=your_jira_api_token

2) Slack 应用

创建一个Slack应用程序(使用Bolt for JS)。启用:

  • 快捷指令(或“斜杠命令”): /ask, /jira
  • 交互性

设置环境 slack-app/.env (复制自 .env.local)。

cd slack-app
cp .env.local .env
npm install
npm start

环境(.env):

SLACK_SIGNING_SECRET=...
SLACK_BOT_TOKEN=xoxb-...
MCP_BASE_URL=http://localhost:8080

快捷指令(或斜杠命令)

  • /ask <free-form natural language>

    • 示例: /ask näytä avoimet tiketit projektissa SAM
    • Slack 应用 → MCP /interpret → 决定要 jira_tool.list_issues
  • /jira create "Summary" --project SAM --type Task

    • Slack 应用 → MCP /jira (直接确定性调用)

注释

  • 意图模式(或意图架构) 在……中定义 shared/schema/intent.schema.json。
  • 模型无关的通过调整路由器在OpenAI/Ollama/Claude之间进行切换 mcp-server/server.js.
  • 安全不要承诺 .env对于生产环境,使用密钥管理工具。
  • 审计如有需要,之后再添加Winston/OpenTelemetry。

许可证

麻省理工(概念验证质量)。