jira-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JIRA_URL | Yes | Base URL of Jira instance, e.g. https://jira.example.com | |
| JIRA_TIMEOUT | No | Request timeout in seconds | 75 |
| JIRA_SSL_VERIFY | No | Whether to verify TLS certificate | true |
| JIRA_PERSONAL_TOKEN | Yes | Personal Access Token (Bearer) for authentication |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_issueA | Get a single Jira issue by key (e.g. Args:
issue_key: The issue key, e.g. |
| search_issuesA | Search issues with a JQL query. Args:
jql: A JQL query, e.g. |
| add_commentB | Add a comment to a Jira issue. Args:
issue_key: The issue key, e.g. |
| get_issue_typesA | List the issue types available for Call this first when unsure what Args: project_key: Optional project key to restrict to the types actually enabled in that project's scheme. Without it, every type on the instance is returned. |
| create_issueA | Create a Jira issue — epic, task, story or sub-task. CALL THIS TOOL STRICTLY ON THE USER'S EXPLICIT REQUEST. It writes a real issue into the project under the token owner's name and this server cannot delete it afterwards. Never create issues on your own initiative (not to "track" work you are doing, not as an inferred step of another request). When several issues are described at once, confirm the list with the user before creating them. Args:
project_key: Target project key, e.g. Returns the created issue: |
| get_all_projectsA | List all Jira projects visible to the authenticated user. Args:
include_archived: Include archived projects in the result.
expand: Optional comma-separated list of fields to expand
(e.g. |
| get_projectA | Get a single Jira project by its key or id. Args:
project_key: The project key or id, e.g. |
| get_all_usersA | List all Jira users (union of the groups that grant Jira access). Jira Server/DC has no single "all users" endpoint — users are enumerated
through group membership. By default this reads every group that grants
Jira Software access on this instance and de-duplicates the members.
Pass Args:
groups: Group names to read. Defaults to the instance's Jira Software
license groups.
status: Which users to return by account state — |
| find_groupsA | Find Jira groups by name — use it to discover the license group name. Handy when you don't know which group holds all users. Search e.g.
Args:
query: Substring to match against group names (default |
| search_usersA | Search Jira users by name, username or email fragment. Args: query: Substring to match against username, display name or email. limit: Maximum number of users to return (default 50). include_inactive: Include deactivated users in the result. |
| get_user_worklogA | Total hours a user logged in a date range, optionally broken down. Uses the Tempo Timesheets API: one search returns all of the user's
worklogs in Args:
username: Tempo worker (Jira username / key).
date_from: Start date, inclusive, |
| get_users_worklogA | Total hours a group of users logged in a date range, per user. Uses the Tempo Timesheets API: one search covers every user in
Args:
usernames: Tempo workers (Jira usernames / keys).
date_from: Start date, inclusive, |
| get_team_worklogA | Hours every member of a Tempo team logged in a date range, per worker. Reproduces Tempo's "Logged Time" report grouped by worker (the
Args:
team_id: Tempo team id (the |
| add_worklogA | Log time on a Jira issue, as the user who owns the API token. CALL THIS TOOL STRICTLY ON THE USER'S EXPLICIT REQUEST. It is the only tool here that writes: it creates a real worklog under the user's name and cannot be undone from this server. Never call it on your own initiative — not after finishing a task, not to "correct" hours seen in a report, not as a step inferred from some other request. If the user has not asked to log time, ask them first. Args:
issue_key: The issue to log against, e.g. Returns the created worklog: |
| get_all_teamsA | List every Tempo team (id, name, lead, …). Use this to discover a team's numeric Args:
expand: Optional comma-separated Tempo expand fields
(e.g. |
| find_teamA | Find Tempo teams whose name contains Tempo has no server-side team search, so this lists every team and
filters locally. Handy to turn a team name into the Args:
query: Substring to match against the team name.
expand: Optional comma-separated Tempo expand fields
(e.g. |
| get_team_membersA | List all members of a Tempo team. Reads Args:
team_id: Tempo team id (e.g. 79).
raw: Return Tempo's untouched membership objects instead of the
flattened |
| get_user_planA | What a user is planned for in Tempo Planner over a date range. Answers "which projects is this person allocated to, for how many hours
per day": fetches the user's plan allocations and expands them into
planned hours within Args:
username: Jira username / login (Tempo assignee key).
date_from: Start date, inclusive, Returns |
| get_users_planA | What a group of users is planned for in Tempo Planner, per user. One allocation request covers every user in Args:
usernames: Jira usernames / logins (Tempo assignee keys).
date_from: Start date, inclusive, Returns |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/nsleader/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server