Skip to content

harsh543/jira-github-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MCP Server Integration for GitHub & Jira

Docker MCP License: MIT

Transform your development workflow with MCP (Model Context Protocol) servers that seamlessly connect GitHub Copilot to your GitHub and Jira instances. Reduce context switching by 70% and triple your productivity.

🎯 What This Solves

  • Context Overload: Automatically loads issue context without manual copying
  • Repetitive Tasks: Automates PR creation, ticket updates, and documentation
  • Mental Fatigue: Preserves cognitive bandwidth for actual problem-solving
  • Multi-Tool Friction: Unifies GitHub and Jira workflows through natural language

πŸš€ Quick Start

Prerequisites

  • Docker installed and running
  • GitHub Personal Access Token (Create one)
  • Jira API Token (for Jira integration)
  • VS Code 1.101+ with GitHub Copilot

One-Click Setup

  1. Clone the repository:
git clone https://github.com/yourusername/mcp-server-integration
cd mcp-server-integration
  1. Create environment file:
cat > ~/.mcp/.env << EOF
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here
JIRA_PERSONAL_TOKEN=your_jira_token
JIRA_URL=https://your-domain.atlassian.net
EOF
  1. Add to VS Code settings.json:
{
  "chat.mcp.enabled": true,
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run", "-i", "--rm",
          "--env-file", "${HOME}/.mcp/.env",
          "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ]
      },
      "jira": {
        "command": "docker",
        "args": [
          "run", "-i", "--rm",
          "--env-file", "${HOME}/.mcp/.env",
          "-e", "JIRA_URL",
          "-e", "JIRA_PERSONAL_TOKEN",
          "ghcr.io/sooperset/mcp-atlassian:latest"
        ]
      }
    }
  }
}
  1. Enable Agent Mode in GitHub Copilot Chat and start using!

πŸ“‹ Features

GitHub MCP Server

  • πŸ“ Repository Management: Browse code, search files, analyze commits
  • πŸ› Issue & PR Automation: Create, update, manage issues and PRs
  • πŸ”„ CI/CD Intelligence: Monitor Actions, analyze failures
  • πŸ”’ Security Scanning: Review security findings and Dependabot alerts

Jira MCP Server

  • πŸ“ Smart Issue Updates: Natural language ticket updates
  • πŸ” Context Loading: Auto-fetch issue details into AI context
  • 🏷️ Project Navigation: Search and filter issues across projects
  • πŸ”— Cross-Reference: Link PRs to tickets automatically

πŸ—οΈ Architecture

graph LR
    A[VS Code/Copilot] -->|MCP Protocol| B[MCP Servers]
    B --> C[GitHub MCP]
    B --> D[Jira MCP]
    C -->|API| E[GitHub]
    D -->|API| F[Jira]
    
    style A fill:#e1f5fe
    style B fill:#fff3e0
    style C fill:#f3e5f5
    style D fill:#f3e5f5
Loading

Core Components

Component Description Technology
Transport Layer Stdio/HTTP communication JSON-RPC
Authentication PAT/OAuth token management Environment variables
Tool Registry Modular tool organization Go interfaces
API Clients Service-specific wrappers REST/GraphQL
Container Runtime Isolated execution Docker Alpine

βš™οΈ Configuration

Environment Variables

# GitHub Configuration
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxx
GITHUB_HOST=https://github.com  # Or your enterprise URL
GITHUB_TOOLSETS=repos,issues,pull_requests,actions
GITHUB_READ_ONLY=false  # Set true for safe mode

# Jira Configuration
JIRA_URL=https://your-domain.atlassian.net
JIRA_PERSONAL_TOKEN=xxxx
JIRA_SSL_VERIFY=true

Toolset Management

Enable only what you need for better performance:

# Minimal setup
GITHUB_TOOLSETS="context,repos,issues"

# Full setup
GITHUB_TOOLSETS="all"

# Dynamic discovery (recommended)
GITHUB_DYNAMIC_TOOLSETS=1

Available Toolsets

Toolset Description Tools Included
context User profile & teams get_me, get_teams
repos Repository operations create_branch, get_commits, search_code
issues Issue management create_issue, update_issue, add_comment
pull_requests PR workflows create_pr, merge_pr, request_review
actions CI/CD operations run_workflow, get_logs, list_runs
code_security Security scanning get_alerts, list_vulnerabilities

πŸ’‘ Usage Examples

Load Jira Context

"Include context from JIRA-1234"

Copilot automatically fetches issue details and related information.

Create PR with Context

"Create a PR for the changes we discussed, linking to JIRA-1234"

Generates PR with description, links issue, and updates Jira.

Search and Fix Issues

"Find all critical bugs in the auth module and suggest fixes"

Searches issues, analyzes code, and proposes solutions.

Analyze CI Failures

"Why did the last deployment fail?"

Retrieves workflow logs, identifies errors, suggests fixes.

πŸ”’ Security Best Practices

  1. Token Management

    • Never commit tokens to version control
    • Use minimal required scopes
    • Rotate tokens regularly
    • Store in secure environment files
  2. Access Control

    • Use read-only mode for exploration
    • Limit toolsets to required functions
    • Review agent actions before confirmation
  3. Network Security

    • Use HTTPS for all connections
    • Verify SSL certificates
    • Restrict to allowed domains only

πŸ“Š Performance Impact

Metric Before MCP After MCP Improvement
Context Loading 45% of time 5% of time 90% reduction
Issue Resolution 2-3 hours 30-45 mins 75% faster
Daily Throughput 2-3 issues 8-10 issues 3-4x increase
Documentation 20% of time Automated 100% automated

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Development Setup

# Build from source
go build -o mcp-server cmd/server/main.go

# Run tests
go test ./...

# Build Docker image
docker build -t mcp-server:local .

Adding New Tools

  1. Define tool in tools/ directory
  2. Add to appropriate toolset
  3. Update parameter schemas
  4. Add tests
  5. Submit PR

πŸ“š Documentation

πŸ› Troubleshooting

Common Issues

Issue Solution
"Connection refused" Ensure Docker is running
"Authentication failed" Check token permissions and expiry
"Tool not found" Enable required toolset
"Rate limit exceeded" Implement caching or reduce frequency

Debug Mode

# Enable verbose logging
MCP_VERBOSE=true docker run ...

# Test connection
docker run --rm ghcr.io/github/github-mcp-server --test

πŸ“ˆ Roadmap

  • GitLab MCP server support
  • Slack integration
  • Linear.app support
  • Custom tool builder UI
  • Performance analytics dashboard
  • Multi-workspace management
  • Terraform/IaC integrations

πŸ™ Acknowledgments

  • Anthropic for the MCP protocol
  • GitHub for the official MCP server
  • Community contributors and testers

πŸ“„ License

MIT License - see LICENSE file

πŸ”— Links

⭐ Star History

Star History Chart


Built with ❀️ for the developer community

If this helped your workflow, please star ⭐ the repo and share your experience!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published