YouTrack

Access the YouTrack REST API to manage projects and track issues in real-time.

YouTrack MCP Server

An MCP (Model Context Protocol) server that provides YouTrack REST API access to AI agents like GitHub Copilot, enabling real-time project management and issue tracking.

Features

  • πŸ” Query and Search Issues: Use YouTrack's powerful query syntax to find issues
  • πŸ“Š Real-time Project Status: Get current project statistics and issue distributions
  • ✨ Create New Issues: Add issues with full metadata (type, priority, description)
  • πŸ“ Update Issues: Modify existing issues (state, assignee, priority, etc.)
  • οΏ½ Comment Management: Add and retrieve issue comments
  • πŸ‘₯ User Search: Find and search YouTrack users
  • πŸ“ˆ Project Analytics: Generate summaries and timeline reports
  • πŸ”„ Bulk Operations: Update multiple issues simultaneously
  • 🎣 Webhook Support: Real-time notifications (optional)
  • πŸ’Ύ Smart Caching: Improved performance with intelligent caching
  • πŸ“‹ Comprehensive Logging: Detailed logs for monitoring and debugging

Quick Start

  1. Clone and install:
git clone https://github.com/yourusername/youtrack-mcp.git
cd youtrack-mcp
npm install
  1. Configure environment:
cp .env.example .env
# Edit .env with your YouTrack URL and token
  1. Build and run:
npm run build
npm start

Configuration

Environment Variables

VariableRequiredDescriptionDefault
YOUTRACK_URLβœ…YouTrack instance URL-
YOUTRACK_TOKENβœ…Permanent token-
DEFAULT_PROJECT_ID❌Default project ID-
ENABLE_WEBHOOKS❌Enable webhook serverfalse
WEBHOOK_PORT❌Webhook server port3000
WEBHOOK_SECRET❌Webhook signature secret-
LOG_LEVEL❌Logging levelinfo
CACHE_ENABLED❌Enable cachingtrue
CACHE_TTL❌Cache TTL (ms)300000

MCP Client Configuration

Add to your MCP settings (e.g., in Cline, Claude Desktop, or other MCP clients):

{
  "mcpServers": {
    "youtrack": {
      "command": "node",
      "args": ["path/to/youtrack-mcp/dist/index.js"],
      "env": {
        "YOUTRACK_URL": "https://your-instance.youtrack.cloud",
        "YOUTRACK_TOKEN": "your-token"
      }
    }
  }
}

Available Tools

1. get_project_status

Get current project status including issue statistics.

2. create_issue

Create new issues with summary, description, type, and priority.

3. query_issues

Search issues using YouTrack query syntax.

4. update_issue

Update existing issues (state, assignee, priority, etc.).

5. get_project_issues_summary

Get aggregated statistics of issues by state, priority, and type.

Usage Examples

Query open bugs

query_issues({ query: "project: PROJ-1 type: Bug state: Open" })

Create a new feature request

create_issue({
  projectId: "PROJ-1",
  summary: "Add dark mode support",
  description: "Users want a dark theme option",
  type: "Feature",
  priority: "Normal"
})

Update issue state

update_issue({
  issueId: "PROJ-123",
  updates: {
    state: "In Progress",
    assignee: "john.doe"
  }
})

Development

# Run in development mode
npm run dev

# Build for production
npm run build

# Start production server
npm start

License

MIT

Related Servers