Jira + GitHub MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | One of `DEBUG`, `INFO`, `WARNING`, `ERROR`, or `CRITICAL`. | INFO |
| JIRA_EMAIL | No | Jira Cloud account email. Required in live mode; sent as Basic auth together with the API token. | |
| MCP_BACKEND | No | Backend to use: `mock` (in-memory fake) or `live` (Jira Cloud and GitHub REST clients). | mock |
| GITHUB_TOKEN | No | GitHub token. Required in live mode; sent as `Authorization: Bearer`. | |
| JIRA_BASE_URL | No | Live mode only. Jira Cloud base URL; must be `https://` or startup is refused. | |
| MCP_READ_ONLY | No | When `true`, write tools return `read_only`. | false |
| JIRA_API_TOKEN | No | Jira Cloud API token. Required in live mode; sent as Basic auth with the email. | |
| MCP_TOOL_ALLOWLIST | No | Comma-separated tool names. Empty means all tools. Unknown names fail at startup. | |
| GITHUB_REPO_ALLOWLIST | No | Comma-separated `owner/repo` values. Empty means all repos. | |
| JIRA_PROJECT_ALLOWLIST | No | Comma-separated Jira project keys. Empty means all projects. | |
| MCP_RATE_LIMIT_PER_MINUTE | No | Per-tool rate limit. `0` disables the limit. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jira_search_issuesC | Search Jira issues. Use project:KEY, status:"Name", type:Bug, key:KEY-1, or free text. |
| jira_create_issueC | Create a Jira issue. issue_type is Bug, Task, or Story. New issues start as Open. |
| jira_add_commentC | Add a comment to a Jira issue key such as PLAT-101. |
| jira_transition_issueA | Move a Jira issue to a status. Mock workflow: Open, In Progress, In Review, Done. |
| github_list_pull_requestsC | List pull requests in a repository. state is open, closed, or all. |
| github_get_pr_diff_summaryB | Summarize a pull request diff: files changed, additions, deletions, and a short overview. |
| github_create_issueC | Open a GitHub issue in owner/repo. |
| github_add_commentC | Comment on a GitHub issue or pull request number. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct resource and action, with platform prefixes (jira_/github_) preventing cross-confusion between similarly named operations like add_comment. No two tools overlap in purpose, so an agent can select the correct tool without ambiguity.
All tools follow a consistent snake_case verb_noun pattern with clear platform prefixes: jira_search_issues, jira_create_issue, github_list_pull_requests, etc. There are no mixed conventions or vague verbs.
Eight tools is within the typical 3-15 range and each is non-redundant. However, covering two distinct platforms with only four tools each feels slightly thin for the apparent scope of a combined Jira + GitHub server.
The surface is significantly incomplete for both platforms: Jira lacks issue retrieval, update, and delete, and GitHub lacks PR creation, merging, and issue retrieval/update. An agent trying to perform common lifecycle operations beyond creation and commenting will hit dead ends.