mcp-server

jussinurminen/mcp-server

3.2

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This document provides a structured overview of a Slack-driven Model Context Protocol (MCP) server designed to interface with Jira through a language model-agnostic router.

Tools
1
Resources
0
Prompts
0

Slack-Driven MCP PoC (Slack ↔ LLM Router ↔ MCP ↔ Jira)

This PoC turns Slack into a front-end to control Jira via an MCP server. The design is LLM-model-agnostic: you can route via OpenAI, Claude, or local Ollama. Out of the box, the router supports a simple rule-based fallback and optional Ollama calls.

Chat language: Finnish; code and docs in English (per user preference).


High-Level Flow

Slack (user) → Slack Bolt AppLLM Router (/interpret) → MCP ServerJira Tool → Slack


Folders

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

Quick Start

1) MCP Server

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

Environment (.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 App

Create a Slack App (Bolt for JS). Enable:

  • Slash Commands: /ask, /jira
  • Interactivity

Set environment in slack-app/.env (copy from .env.local).

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

Environment (.env):

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

Slash Commands

  • /ask <free-form natural language>

    • Example: /ask näytä avoimet tiketit projektissa SAM
    • Slack app → MCP /interpret → resolves to jira_tool.list_issues
  • /jira create "Summary" --project SAM --type Task

    • Slack app → MCP /jira (direct deterministic call)

Notes

  • Intent Schema is defined in shared/schema/intent.schema.json.
  • Model-agnostic: swap OpenAI/Ollama/Claude by adjusting router in mcp-server/server.js.
  • Security: Do not commit .env. For prod, use a secret manager.
  • Auditing: Add Winston/OpenTelemetry later if needed.

License

MIT (PoC quality).