devflow-mcp

devflow-mcp

An MCP server that automates developer workflows across GitHub, Jira, and Slack, enabling PR/code review automation, CI checks, and team notifications.

Category
Visit Server

README

devflow-mcp

An MCP server for automating developer workflows across GitHub, Jira, and Slack — built for PR/code review automation (inspect PRs, check CI status, post reviews, sync the linked ticket, notify the team).

Local stdio server: runs on your machine, launched by your MCP client. Not distributed — built for personal/team use.

Tools

Tool Service Type Description
github_list_open_prs GitHub read List open PRs for a repo
github_get_pr GitHub read Full PR detail: description, diff stats, per-file patches
github_get_pr_checks GitHub read CI/Actions check-run status for a PR's latest commit
github_post_pr_review GitHub write Approve / request changes / comment on a PR
github_post_pr_comment GitHub write Add a plain timeline comment to a PR
jira_get_issue Jira read Fetch one issue by key
jira_search_issues Jira read Search issues via JQL
jira_create_issue Jira write Create a new issue in a project
jira_update_issue_status Jira write Transition an issue to a new status
jira_add_comment Jira write Add a comment to an issue
slack_post_message Slack write Post a message to a channel

Automated workflow: PR review

The individual tools above chain into a full PR review workflow — inspect the PR and its CI checks, decide a verdict, post the review, sync the linked Jira ticket, and notify Slack. It's available two ways, at two different layers:

  • MCP prompt (pr_review) — defined in src/prompts.ts, part of the MCP protocol itself. It's user-triggered: surfaced as a slash command / menu item by any MCP host that supports prompts (e.g. /mcp__devflow-mcp__pr_review in Claude Code). Works in any MCP client this server connects to, not just Claude Code.
  • Claude Code skill (pr-review).claude/skills/pr-review/SKILL.md, checked into this repo. It's matched automatically from natural language ("review PR #3 and update Jira") without needing the exact slash command name. Claude Code only.

Both drive the same underlying tools and follow the same 5 steps; the skill is just a Claude-Code-native shortcut for triggering the same workflow implicitly.

Setup

npm install
npm run build

Copy .env.example to .env and fill in credentials, or set these env vars directly in your MCP client config:

  • GITHUB_TOKENfine-grained personal access token (Settings → Developer settings → Fine-grained personal access tokens), scoped to only the repo(s) this server touches, with permissions: Pull requests (Read and write), Checks (Read-only). Avoid classic repo-scope tokens — they grant full access to every private repo you can see and don't force an expiration.
  • JIRA_BASE_URL — e.g. https://your-domain.atlassian.net
  • JIRA_EMAIL — the account email tied to the API token
  • JIRA_API_TOKEN — id.atlassian.com → Security → API tokens
  • SLACK_BOT_TOKEN — api.slack.com/apps → your app → OAuth & Permissions → Bot User OAuth Token (needs the chat:write scope; add chat:write.public too if it should post to public channels it hasn't been invited to)

A tool only fails at call time if its required env vars are missing — you don't need all three services configured to use the others.

Connect to Claude Code

claude mcp add devflow-mcp \
  --env GITHUB_TOKEN=ghp_xxx \
  --env JIRA_BASE_URL=https://your-domain.atlassian.net \
  --env JIRA_EMAIL=you@example.com \
  --env JIRA_API_TOKEN=xxx \
  --env SLACK_BOT_TOKEN=xoxb-xxx \
  -- node /home/channen2/mcp-server/devflow-mcp/dist/server.js

Connect to Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "devflow-mcp": {
      "command": "node",
      "args": ["/home/channen2/mcp-server/devflow-mcp/dist/server.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxx",
        "JIRA_BASE_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "xxx",
        "SLACK_BOT_TOKEN": "xoxb-xxx"
      }
    }
  }
}

Develop

npm run dev         # run directly with tsx, no build step
npm run inspector    # open MCP Inspector against the dev server

Capabilities UI

A minimal static dashboard listing every tool, prompt, and skill this server exposes — introspected live from the server (not hand-maintained) plus .claude/skills/*/SKILL.md.

npm run ui   # builds ui/catalog.json, then serves ui/ at http://localhost:4173

Run npm run ui:build alone to just regenerate ui/catalog.json (e.g. after adding a tool).

Next steps

  • GitLab wasn't wired up in v1 — same shape (src/<service>.ts + tools in src/tools.ts) if you need it later.
  • Distributing beyond your own machine: this stdio server expects Node + env vars on the user's machine. If you ever need to hand this to teammates without a Node setup, repackage it as an MCPB bundle (bundles the Node runtime, installs with a double-click) — ask to use the build-mcpb skill when you're ready.
  • Wider/public distribution: if this ever needs to serve multiple users without local installs, move to a remote HTTP deployment (e.g. Cloudflare Workers) — ask to use the build-mcp-server skill again for that path.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured