list_jira_issuesLABSCO SUMMARY
Issue history answered at warehouse speed.
Because the data already sits in Snowflake, questions that are slow or awkward through the JIRA API — everything in one sprint, statistics across every project, all links from one issue — become single calls. The tables it reads are the non-PII ones, so what comes back is the issue rather than the people on it.
What it is
An MCP server over JIRA issue data stored in Snowflake. Its tools query the non-PII issue tables directly, so filtering, linking and summarising happen in the warehouse rather than against the JIRA API.
What you get
- Issues queried and filtered by project, issue key, type, status, priority, component, version and date
- Free-text search across issue summaries and descriptions
- Full details for several issues at once, by their keys
- Statistics and summaries across all projects
- The links between one issue and the others it relates to
- Every issue in a sprint, by sprint name
Requirements
A Snowflake database and schema holding the JIRA tables the server expects by name — issues, labels, comments, components, project versions, issue links and link types, custom field values, sprints and change history — plus credentials to reach it.
Setup effort
Follow the published steps — git clone https://github.com/redhat-community-ai-tools/jira-mcp-snowflake
USE CASES
Finding the issues that match a description
Filter on project, status and dates, or search the summary and description text when you only remember what it was about.
Reviewing what a sprint actually contained
Pull every issue in the sprint by name, then open the ones that matter in full rather than clicking through a board.
Understanding how projects compare
One summary call returns statistics across all projects — the view a board gives you for one project at a time.
Tracing what a bug blocks or depends on
Read the links off the issue, then open the linked issues to see whether the chain is still live.
Pulling a batch of tickets for a report
Find the keys with a filtered query, then fetch all of their details in one call rather than one request per ticket.
5 tools
Listed in project docs. Your client may show a different list.
get_jira_issue_detailsget_jira_project_summaryget_jira_issue_linksget_jira_issues_by_sprintBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- podman on PATH
- Python 3.10+
- SNOWFLAKE_TOKEN in your environment
INSTALLATION
Connect your client
Server setup
git clone https://github.com/redhat-community-ai-tools/jira-mcp-snowflake
cd jira-mcp-snowflake
podman build -t localhost/jira-mcp-snowflake:latest .MCP Clients
Any MCP client — API token
{
"mcpServers": {
"jira-mcp-snowflake": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"-e",
"SNOWFLAKE_CONNECTION_METHOD=api",
"-e",
"SNOWFLAKE_TOKEN=<YOUR_SNOWFLAKE_TOKEN>",
"-e",
"SNOWFLAKE_BASE_URL=https://<YOUR_ACCOUNT>.snowflakecomputing.com/api/v2",
"-e",
"SNOWFLAKE_DATABASE=<YOUR_SNOWFLAKE_DATABASE>",
"-e",
"SNOWFLAKE_SCHEMA=<YOUR_SNOWFLAKE_SCHEMA>",
"-e",
"MCP_TRANSPORT=stdio",
"-e",
"ENABLE_METRICS=true",
"-e",
"METRICS_PORT=8000",
"localhost/jira-mcp-snowflake:latest"
]
}
}
}Any MCP client — private key
{
"mcpServers": {
"jira-mcp-snowflake": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"-v",
"<YOUR_PATH_TO_RSA_KEY>:/app/rsa_key.p8:ro",
"-e",
"SNOWFLAKE_CONNECTION_METHOD=connector",
"-e",
"SNOWFLAKE_AUTHENTICATOR=snowflake_jwt",
"-e",
"SNOWFLAKE_ACCOUNT=<YOUR_ACCOUNT>.snowflakecomputing.com",
"-e",
"SNOWFLAKE_USER=<YOUR_SNOWFLAKE_USER>",
"-e",
"SNOWFLAKE_PRIVATE_KEY_FILE=/app/rsa_key.p8",
"-e",
"SNOWFLAKE_DATABASE=<YOUR_SNOWFLAKE_DATABASE>",
"-e",
"SNOWFLAKE_SCHEMA=<YOUR_SNOWFLAKE_SCHEMA>",
"-e",
"SNOWFLAKE_WAREHOUSE=<YOUR_SNOWFLAKE_WAREHOUSE>",
"-e",
"SNOWFLAKE_ROLE=<YOUR_SNOWFLAKE_ROLE>",
"-e",
"MCP_TRANSPORT=stdio",
"-e",
"ENABLE_METRICS=true",
"-e",
"METRICS_PORT=8000",
"localhost/jira-mcp-snowflake:latest"
]
}
}
}Continue
{
"experimental": {
"modelContextProtocolServers": [
{
"name": "jira-mcp-snowflake",
"transport": {
"type": "stdio",
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"-e",
"SNOWFLAKE_TOKEN=<YOUR_SNOWFLAKE_TOKEN>",
"-e",
"SNOWFLAKE_BASE_URL=https://<YOUR_ACCOUNT>.snowflakecomputing.com/api/v2",
"-e",
"SNOWFLAKE_DATABASE=<YOUR_SNOWFLAKE_DATABASE>",
"-e",
"SNOWFLAKE_SCHEMA=<YOUR_SNOWFLAKE_SCHEMA>",
"-e",
"MCP_TRANSPORT=stdio",
"-e",
"ENABLE_METRICS=true",
"-e",
"METRICS_PORT=8000",
"localhost/jira-mcp-snowflake:latest"
]
}
}
]
}
}