HH JIRA MCP Server
The HH JIRA MCP Server enables you to interact with JIRA for task management and portfolio operations:
Search Team Active Portfolios: Find active portfolios by team name
Create Task: Generate new JIRA tasks with specified titles
Set Defence Checked: Mark a portfolio's defence status as checked using its ID
Integrates with Jira to search for active portfolios in teams, create tasks, and manage portfolio status. Provides functionality to work with Jira tickets and filter issues by status.
Click on "Deploy 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., "@HH JIRA MCP Servershow me my in-progress 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.
hh-jira-mcp-server MCP server
A MCP server project
Quickstart
Register at https://claude.ai and buy Pro subscription
Install
Install Claude Desktop https://claude.ai/download
Install uv:
brew install uvInstall keyring: https://pypi.org/project/keyring/
Store password for jira account
keyring set hh-jira-mcp-server v.pupkinClaude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Published Servers Configuration
{
"mcpServers": {
"hh-jira-mcp-server": {
"command": "uvx",
"args": [
"hh-jira-mcp-server"
],
"env": {
"HH_JIRA_MCP_USER": "v.pupkin",
"HH_JIRA_MCP_TEAM": "some-team",
"HH_JIRA_MCP_SEARCH_FILTER": "status in (\"Development: In progress\")"
}
}
}
}Development/Unpublished Servers Configuration
{
"mcpServers": {
"hh-jira-mcp-server": {
"command": "uv",
"args": [
"--directory",
"<path_to_project>/hh-jira-mcp-server",
"run",
"hh-jira-mcp-server"
],
"env": {
"HH_JIRA_MCP_USER": "v.pupkin",
"HH_JIRA_MCP_TEAM": "some-team",
"HH_JIRA_MCP_SEARCH_FILTER": "status in (\"Development: In progress\")"
}
}
}
}Related MCP server: Jira MCP Server
Development
Building and Publishing
To prepare the package for distribution:
Sync dependencies and update lockfile:
uv syncBuild package distributions:
uv buildThis will create source and wheel distributions in the dist/ directory.
Publish to PyPI:
uv publishNote: You'll need to set PyPI credentials via environment variables or command flags:
Token:
--tokenorUV_PUBLISH_TOKENOr username/password:
--username/UV_PUBLISH_USERNAMEand--password/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector uv --directory <path_to_project>/hh-jira-mcp-server run hh-jira-mcp-serverUpon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
Available Tools
3 toolscreate_taskD
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_team_active_portfoliosD
| Name | Required | Description | Default |
|---|---|---|---|
| team | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_defence_checkedD
| Name | Required | Description | Default |
|---|---|---|---|
| portfolio | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
create_task - First observed
search_team_active_portfolios - First observed
set_defence_checked
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes: create_task handles task creation, search_team_active_portfolios handles portfolio searching, and set_defence_checked handles defence status updates. There is no overlap in functionality, making tool selection straightforward for an agent.
The naming is mixed in conventions: create_task and set_defence_checked follow a verb_noun pattern, while search_team_active_portfolios uses a verb_adjective_noun structure. This inconsistency reduces predictability, though the names remain readable and descriptive.
With only 3 tools, the server feels thin for a JIRA domain, which typically involves comprehensive issue and project management. This limited set is likely insufficient for common JIRA workflows, such as updating tasks, listing issues, or managing projects, suggesting an incomplete tool surface.
For a JIRA server, there are significant gaps in coverage: missing core operations like get_task, update_task, delete_task, list_issues, and manage_projects. The tools provided (create, search, set status) do not support a full CRUD lifecycle or common JIRA functionalities, leading to potential agent failures.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that enables interaction with JIRA APIs through Claude Desktop, allowing users to search, create, update, and manage JIRA issues using natural language commands.1-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with Jira, allowing for project management tasks such as listing projects, searching issues, creating tickets, and managing sprints through natural language queries.730 npm2TypeScriptMIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables interaction with Jira's REST API using natural language commands, allowing users to manage Jira projects, issues, comments, and workflows through Claude Desktop and other MCP clients.107MIT
- AlicenseCqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with Jira Cloud instances, providing capabilities for issue management, project listing, and JQL search.130 npm2MIT