Vestel Jira MCP Server
Provides tools to retrieve, search, create, and update Jira issues, including fetching issue details, querying via JQL, managing comments, and strict schema validation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Vestel Jira MCP Servershow my open Jira issues"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Vestel Jira MCP Server
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.
Related MCP server: JIRA MCP Server
Installation
Clone or copy the repository files.
Install dependencies:
npm install
Configuration
The server is configured via environment variables or a configuration file.
Variable | Description | Example |
| Base URL of your Jira instance |
|
| Username (required for |
|
| Personal Access Token (PAT) or password |
|
| Authentication mechanism: |
|
| Toggle SSL certificate verification |
|
| Comma-separated list of allowed project keys. If empty, not set, or containing |
|
| Comma-separated list of allowed MCP tools. If empty, not set, or containing |
|
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 to50.
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 to50.
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 to50.
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 inYYYY-MM-DDformat.endDate(string, optional): End date inYYYY-MM-DDformat.maxResults(number, optional): Defaults to50.
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.
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": "jane@example.com", "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.
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; usemaxIssues 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 to100.
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
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:
Initialize git and configure
.gitignoreto prevent committing secrets:git init echo "node_modules/" >> .gitignore echo ".agents/" >> .gitignore echo ".env" >> .gitignoreSpecify included files inside your
package.json:"files": [ "index.js", "package.json", "README.md" ]Generate a release bundle for local sharing:
npm pack
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thehavays/vestel-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server