Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Vestel Jira Server

FreeNot checked

Connects AI assistants to Jira, enabling retrieval, search, creation, and update of issues with schema validation.

GitHubEmbed

About

Connects AI assistants to Jira, enabling retrieval, search, creation, and update of issues with schema validation.

README

An integration server built on the Model Context Protocol (MCP) that connects AI assistants to Jira. It provides tools to retrieve, search, create, and update issues, supporting input/output schema validation.

Features

  • Get Assigned Issues: Inclusive retrieval of active issues (Pending, Submitted, In Progress, Open, Reopened).
  • Fetch Issue Details: Retrieve key fields, descriptions, and comments.
  • Query Issues via JQL: Perform flexible Jira Query Language searches.
  • Manage Issues: Create new issues, update fields, and add comments.
  • Get Issue Commits: Fetch commits linked to a single issue via the Jira Development Status API (supports Bitbucket, FishEye/Crucible, GitHub, GitLab integrations).
  • Get Version Commits: Aggregate all commits across every issue belonging to a specific project release version (fixVersion).
  • Strict Schema Compliance: All tools declare input and output schemas conforming to the MCP specifications.

Installation

  1. Clone or copy the repository files.
  2. Install dependencies:
    npm install
    

Configuration

The server is configured via environment variables or a configuration file.

Variable Description Example
JIRA_URL Base URL of your Jira instance https://rdpm.vestel.com.tr/
JIRA_USERNAME Username (required for basic authentication) your_username
JIRA_PASSWORD Personal Access Token (PAT) or password your_pat_or_password
JIRA_AUTH_TYPE Authentication mechanism: bearer or basic (default) bearer
JIRA_REJECT_UNAUTHORIZED Toggle SSL certificate verification true
ALLOWED_PROJECTS Comma-separated list of allowed project keys. If empty, not set, or containing *, all projects are allowed. PROJ,TEST
ALLOWED_TOOLS Comma-separated list of allowed MCP tools. If empty, not set, or containing *, all tools are allowed. jira_get_issue,jira_search_issues

Security Configuration File (.jira-config.json)

You can also restrict access by creating a .jira-config.json file in your server's working directory.

  • Use * inside the array to allow all projects or all tools (which is the default configuration).
{
  "allowedProjects": ["*"],
  "allowedTools": ["*"]
}

If the file is present, it will take precedence over the environment variables.


MCP Integration Guide

Configure your MCP host (such as Claude Desktop or Gemini Code Assist) to launch the server.

Example configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "vestel-jira": {
      "command": "npx",
      "args": ["-y", "github:thehavays/vestel-mcp-server"],
      "env": {
        "JIRA_URL": "https://rdpm.vestel.com.tr/",
        "JIRA_USERNAME": "your_username",
        "JIRA_PASSWORD": "your_secure_password_or_token",
        "JIRA_AUTH_TYPE": "bearer",
        "JIRA_REJECT_UNAUTHORIZED": "true",
        "ALLOWED_PROJECTS": "*",
        "ALLOWED_TOOLS": "*"
      }
    }
  }
}

Tools Documentation

jira_get_issue

Retrieve details of a specific Jira issue (summary, status, assignee, reporter, description, comments, issueType, priority, and linkedIssues).

  • Input Schema:
    • issueKey (string, required): Key (e.g., PROJ-123).
  • Output Schema: Conforms to an object containing issue properties, comments, issueType, priority, and linkedIssues.

jira_get_issues_by_assignee

Retrieve open/active issues (ignores resolved/closed statuses).

  • Input Schema:
    • username (string, required): Jira username.
    • maxResults (number, optional): Defaults to 50.
  • Output Schema: { issues: Array<{ key, summary, status, updated, issueType, priority, linkedIssues: Array<{ direction, linkType, key, summary, status, issueType, priority }> }> }

jira_get_review_issues_by_assignee

Retrieve issues currently in a review status.

  • Input Schema:
    • username (string, required): Jira username.
    • maxResults (number, optional): Defaults to 50.
  • Output Schema: { issues: Array<{ key, summary, status, updated, issueType, priority, linkedIssues: Array<{ direction, linkType, key, summary, status, issueType, priority }> }> }

jira_create_issue

Create a new issue.

  • Input Schema:
    • projectKey (string, required)
    • summary (string, required)
    • description (string, required)
    • issueType (string, required)
  • Output Schema: { key, url }

jira_update_issue

Update fields of an existing issue.

  • Input Schema:
    • issueKey (string, required)
    • fields (object, required)
  • Output Schema: { issueKey, success }

jira_add_comment

Add a comment to an issue.

  • Input Schema:
    • issueKey (string, required)
    • comment (string, required)
  • Output Schema: { issueKey, commentId, success }

jira_search_issues

Search using JQL.

  • Input Schema:
    • jql (string, required)
    • maxResults (number, optional)
  • Output Schema: { issues: Array<{ key, summary, status, assignee, updated, issueType, priority, linkedIssues: Array<{ direction, linkType, key, summary, status, issueType, priority }> }> }

jira_get_watched_issues

Retrieve a list of open/active issues watched by a specific user or the authenticated user.

  • Input Schema:
    • username (string, optional): The Jira username of the watcher.
    • maxResults (number, optional): Defaults to 50.
  • Output Schema: { issues: Array<{ key, summary, status, updated, issueType, priority, linkedIssues: Array<{ direction, linkType, key, summary, status, issueType, priority }> }> }

jira_get_user_activities

Fetch a timeline feed of recent activities (comments, transitions, updates) performed by a user using the Jira Activity Stream.

  • Input Schema:
    • username (string, optional): The Jira username to fetch activities for.
    • startDate (string, optional): Start date in YYYY-MM-DD format.
    • endDate (string, optional): End date in YYYY-MM-DD format.
    • maxResults (number, optional): Defaults to 50.
  • Output Schema: { activities: Array<{ title, published, content, url }> }

jira_get_issue_commits

Fetch commits linked to a specific Jira issue via the Jira Development Status API (/rest/dev-status/latest/issue/*). Supports any SCM integration configured in your Jira instance, including Bitbucket, FishEye/Crucible, GitHub, and GitLab.

[!NOTE] Requires Jira Software with an active source control integration (e.g., Bitbucket Server, FishEye/Crucible, GitHub for Jira). The tool automatically discovers all linked SCM instance types and fetches commits from each.

  • Input Schema:
    • issueKey (string, required): The issue key (e.g., PROJ-123).
  • Output Schema: { issueKey, commits: Array<{ id, message, author, authorEmail, date, url, repository, repositoryUrl }> }
  • Example Output:
    {
      "issueKey": "PROJ-123",
      "commits": [
        {
          "id": "abc1234",
          "message": "BUGFIX PROJ-123: Fix login bug",
          "author": "Jane Doe",
          "authorEmail": "[email protected]",
          "date": "2026-05-22T17:38:17.589+0300",
          "url": "https://your-scm.example.com/commits/abc1234",
          "repository": "my-repo",
          "repositoryUrl": "https://your-scm.example.com/browse/my-repo"
        }
      ]
    }
    

jira_get_version_commits

Aggregate all commits linked to a specific Jira project release version (fixVersion). Uses JQL to find every issue belonging to the version, then calls the Jira Development Status API per issue and deduplicates commits that appear on multiple issues. Each commit in the result carries its originating issueKey.

[!NOTE] Requires Jira Software with an active source control integration (e.g., Bitbucket Server, FishEye/Crucible, GitHub for Jira). Large versions with many issues will trigger one dev-status API call per issue; use maxIssues to cap the scan if needed.

  • Input Schema:
    • projectKey (string, required): The project key (e.g., COMA).
    • version (string, required): The fixVersion name exactly as it appears in Jira (e.g., v1.18.9).
    • maxIssues (number, optional): Maximum number of issues to scan. Defaults to 100.
  • Output Schema: { projectKey, version, issueCount, commits: Array<{ id, message, author, authorEmail, date, url, repository, repositoryUrl, issueKey }> }
  • Example Output:
    {
      "projectKey": "COMA",
      "version": "v1.18.9",
      "issueCount": 42,
      "commits": [
        {
          "id": "8470",
          "message": "BUGFIX COMA-4991: Fix eFuse version reporting",
          "author": "Eray Havaylar",
          "authorEmail": "",
          "date": "2026-05-22T17:38:17.589+0300",
          "url": "https://rdreview.vestel.com.tr/changelog/AndroidTV?cs=8470",
          "repository": "AndroidTV",
          "repositoryUrl": "https://rdreview.vestel.com.tr/browse/AndroidTV",
          "issueKey": "COMA-4991"
        }
      ]
    }
    

Sharing and Distribution

[!WARNING] Important Security Practice: Never share or commit the .agents/mcp_config.json or .env files that contain sensitive environment values (such as passwords, usernames, or access tokens).

To prepare this server for package registry/repository hosting:

  1. Initialize git and configure .gitignore to prevent committing secrets:
    git init
    echo "node_modules/" >> .gitignore
    echo ".agents/" >> .gitignore
    echo ".env" >> .gitignore
    
  2. Specify included files inside your package.json:
    "files": [
      "index.js",
      "package.json",
      "README.md"
    ]
    
  3. Generate a release bundle for local sharing:
    npm pack
    

from github.com/thehavays/vestel-mcp-server

Installing Vestel Jira Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/thehavays/vestel-mcp-server

FAQ

Is Vestel Jira Server MCP free?

Yes, Vestel Jira Server MCP is free — one-click install via Unyly at no cost.

Does Vestel Jira Server need an API key?

No, Vestel Jira Server runs without API keys or environment variables.

Is Vestel Jira Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Vestel Jira Server in Claude Desktop, Claude Code or Cursor?

Open Vestel Jira Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Vestel Jira Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All productivity MCPs