Jira Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Jira Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="https://cdn.jsdelivr.net/npm/mcp-jira-cloud@latest/assets/logo.svg" alt="Jira MCP Logo" width="120" height="120"> </p>
<h1 align="center">Jira MCP Server</h1>
<p align="center"> <strong>Supercharge your AI assistant with seamless Jira integration</strong> </p>
<p align="center"> <a href="https://www.npmjs.com/package/mcp-jira-cloud"> <img src="https://img.shields.io/npm/v/mcp-jira-cloud?style=flat-square&color=cb3837&logo=npm" alt="npm version"> </a> <a href="https://www.npmjs.com/package/mcp-jira-cloud"> <img src="https://img.shields.io/npm/dm/mcp-jira-cloud?style=flat-square&color=blue" alt="npm downloads"> </a> <a href="https://github.com/tezaswiraj7222/jira-mcp/blob/master/LICENSE"> <img src="https://img.shields.io/npm/l/mcp-jira-cloud?style=flat-square&color=green" alt="license"> </a> <a href="https://github.com/tezaswiraj7222/jira-mcp"> <img src="https://img.shields.io/github/stars/tezaswiraj7222/jira-mcp?style=flat-square&logo=github" alt="GitHub stars"> </a> </p>
<p align="center"> <a href="https://modelcontextprotocol.io/"> <img src="https://img.shields.io/badge/MCP-Compatible-8A2BE2?style=flat-square" alt="MCP Compatible"> </a> <a href="https://bun.sh/"> <img src="https://img.shields.io/badge/Bun-1.0%2B-fbf0df?style=flat-square&logo=bun&logoColor=black" alt="Bun 1.0+"> </a> <a href="https://nodejs.org/"> <img src="https://img.shields.io/badge/Node.js-18%2B-339933?style=flat-square&logo=node.js&logoColor=white" alt="Node.js 18+"> </a> <a href="https://www.typescriptlang.org/"> <img src="https://img.shields.io/badge/TypeScript-5.0%2B-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript 5.0+"> </a> </p>
<p align="center"> <a href="#-quick-start">Quick Start</a> • <a href="#-features">Features</a> • <a href="#%EF%B8%8F-configuration">Configuration</a> • <a href="#-available-tools">Tools</a> • <a href="#-usage-examples">Examples</a> • <a href="#-troubleshooting">Troubleshooting</a> </p>
A Model Context Protocol (MCP) server that enables AI assistants like GitHub Copilot and Claude to interact with your Jira Cloud instance. Search issues, manage tickets, log work, and more — all through natural language conversation.
| Without MCP | With Jira MCP |
|---|---|
| Switch between IDE and browser | Stay in your coding environment |
| Manual copy-paste of issue details | AI fetches context automatically |
| Learn JQL syntax | Natural language queries |
| Click through Jira UI | Voice/text commands |
| Context switching kills productivity | Seamless workflow integration |
| Assistant | Status |
|---|---|
| GitHub Copilot (VS Code) | ✅ Fully Supported |
| Claude Desktop | ✅ Fully Supported |
| Cursor | ✅ Fully Supported |
| Windsurf | ✅ Fully Supported |
| Any MCP-compatible client | ✅ Fully Supported |
<table> <tr> <td>
</td> <td>
</td> </tr> <tr> <td>
</td> <td>
</td> </tr> <tr> <td>
</td> <td>
</td> </tr> <tr> <td>
</td> <td>
</td> </tr> </table>
<p align="center"> <strong>91 Tools</strong> for comprehensive Jira management </p>
<table> <tr> <th width="50%">🥟 Bun (Easier for beginners)</th> <th width="50%">📦 Node.js (Traditional)</th> </tr> <tr> <td>
Simpler installation, faster execution
Install Bun (one command):
Windows (PowerShell as Admin):
irm bun.sh/install.ps1 | iexmacOS / Linux:
curl -fsSL https://bun.sh/install | bash</td> <td>
More widely used, larger ecosystem
Requirements:
</td> </tr> </table>
| Requirement | Notes |
|---|---|
| Jira Cloud | Jira Server/Data Center not supported |
| Atlassian Account | With access to your Jira instance |
| API Token | Generate here |
<table> <tr> <th width="50%">🥟 Using Bun (Recommended)</th> <th width="50%">📦 Using npm</th> </tr> <tr> <td>
# Run directly (no install needed)
bunx mcp-jira-cloud@latest
# Or install globally
bun install -g mcp-jira-cloud</td> <td>
# Run directly (no install needed)
npx -y mcp-jira-cloud@latest
# Or install globally
npm install -g mcp-jira-cloud</td> </tr> </table>
To see all available options and configuration details:
npx -y mcp-jira-cloud@latest --helpTo launch the interactive setup helper (generates MCP config JSON):
npx -y mcp-jira-cloud@latest --configTo verify your Jira connectivity and credentials:
npx -y mcp-jira-cloud@latest --verifyTo enable diagnostic logging (logs API traffic to stderr):
npx -y mcp-jira-cloud@latest --verbose#### 📘 VS Code (GitHub Copilot)
Create or edit .vscode/mcp.json in your workspace:
<details> <summary><strong>🥟 Using Bun (recommended for beginners)</strong></summary>
{
"servers": {
"jira": {
"type": "stdio",
"command": "bunx",
"args": ["mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>📦 Using npx</strong></summary>
{
"servers": {
"jira": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>⚡ After global install</strong></summary>
{
"servers": {
"jira": {
"type": "stdio",
"command": "jira-mcp",
"args": [],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
#### 🤖 Claude Desktop
Add to your Claude configuration (claude_desktop_config.json):
<details> <summary><strong>🥟 Using Bun (recommended for beginners)</strong></summary>
{
"mcpServers": {
"jira": {
"command": "bunx",
"args": ["mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>📦 Using npx</strong></summary>
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
#### ⚡ Cursor
Create .cursor/mcp.json in your project or home directory:
<details> <summary><strong>🥟 Using Bun (recommended for beginners)</strong></summary>
{
"mcpServers": {
"jira": {
"command": "bunx",
"args": ["mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>📦 Using npx</strong></summary>
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>⚡ After global install</strong></summary>
{
"mcpServers": {
"jira": {
"command": "jira-mcp",
"args": [],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
#### 🔧 Windsurf
Add to your Windsurf MCP configuration:
<details> <summary><strong>🥟 Using Bun (recommended for beginners)</strong></summary>
{
"mcpServers": {
"jira": {
"command": "bunx",
"args": ["mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>📦 Using npx</strong></summary>
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "mcp-jira-cloud@latest"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
<details> <summary><strong>⚡ After global install</strong></summary>
{
"mcpServers": {
"jira": {
"command": "jira-mcp",
"args": [],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}</details>
#### Basic Authentication (Recommended)
| Variable | Description | Required |
|---|---|---|
JIRA_BASE_URL | Your Jira instance URL (e.g., https://company.atlassian.net) | ✅ |
JIRA_EMAIL | Your Atlassian account email | ✅ |
JIRA_API_TOKEN | API token from Atlassian | ✅ |
#### OAuth 2.0 Authentication
<details> <summary>Click to expand OAuth configuration</summary>
For OAuth authentication:
read:jira-workread:jira-userwrite:jira-workoffline_access| Variable | Description | Required |
|---|---|---|
JIRA_OAUTH_CLIENT_ID | OAuth Client ID | ✅ |
JIRA_OAUTH_CLIENT_SECRET | OAuth Client Secret | ✅ |
JIRA_OAUTH_ACCESS_TOKEN | Access token | ✅ |
JIRA_OAUTH_REFRESH_TOKEN | Refresh token | ⬜ |
JIRA_CLOUD_ID | Your Jira Cloud ID | ✅ |
</details>
#### Optional Settings
| Variable | Description | Default |
|---|---|---|
JIRA_ACCEPTANCE_CRITERIA_FIELD | Custom field ID for acceptance criteria | — |
91 tools organised into 11 categories
| Tool | Description |
|---|---|
jira_auth_status | Check current authentication status |
jira_whoami | Get current user's Jira profile |
jira_clear_auth | Clear stored credentials |
jira_oauth_get_auth_url | Generate OAuth authorisation URL |
jira_oauth_exchange_code | Exchange OAuth code for tokens |
jira_oauth_refresh | Manually refresh OAuth token |
jira_oauth_list_sites | List accessible Jira sites |
| Tool | Description |
|---|---|
jira_create_issue | Create a new issue with full field support |
jira_update_issue | Update issue fields (partial update supported) |
jira_assign_issue | Assign or unassign a user |
jira_get_transitions | Get available workflow transitions |
jira_transition_issue | Move issue through workflow states |
| Tool | Description |
|---|---|
jira_get_issue | Get full details of a Jira issue (labels, status, priority, assignee, components, …); pass fields to return a specific subset |
jira_get_issue_summary | Get summary, description, and acceptance criteria |
jira_search_issues | Search issues with JQL, returning full field details (pass fields for a specific subset) |
jira_search_issues_summary | Search with minimal fields (key, summary, status) |
jira_get_my_open_issues | Get your open/in-progress issues |
jira_resolve | Smart routing tool for common intents |
| Tool | Description |
|---|---|
jira_get_issue_comments | Get comments on an issue |
jira_add_comment | Add a comment to an issue |
jira_add_worklog | Log time spent on an issue |
jira_get_issue_worklogs | Get work logs for an issue |
jira_get_user_worklogs | Get worklogs by user and date range |
| Tool | Description |
|---|---|
jira_list_projects | List accessible Jira projects |
jira_get_project | Get project details and metadata |
jira_get_issue_types | Get available issue types |
jira_get_priorities | Get priority levels |
jira_get_statuses | Get available statuses |
jira_get_components | Get project components |
jira_get_versions | Get project versions |
jira_search_users | Search for Jira users |
jira_get_changelog | Get issue change history |
<details> <summary><strong>🏃 Agile/Sprint Tools (15 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_boards | List Scrum and Kanban boards |
jira_get_board | Get board details |
jira_get_board_configuration | Get board configuration (columns, estimation) |
jira_get_sprints | Get sprints for a board |
jira_get_sprint | Get sprint details |
jira_create_sprint | Create a new sprint |
jira_update_sprint | Update sprint details |
jira_start_sprint | Start a future sprint |
jira_complete_sprint | Complete an active sprint |
jira_get_sprint_issues | Get issues in a sprint |
jira_move_issues_to_sprint | Move issues to a sprint |
jira_get_backlog_issues | Get backlog issues for a board |
jira_move_issues_to_backlog | Move issues to backlog |
jira_rank_issues | Change issue ranking |
</details>
<details> <summary><strong>🔗 Issue Relationships (9 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_issue_links | Get linked issues |
jira_create_issue_link | Link two issues together |
jira_get_link_types | Get available link types |
jira_get_watchers | Get issue watchers |
jira_add_watcher | Add a watcher to an issue |
jira_remove_watcher | Remove a watcher |
jira_get_votes | Get issue vote count |
jira_add_vote | Vote for an issue |
jira_remove_vote | Remove your vote |
</details>
<details> <summary><strong> Epic Management (4 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_epics | Get epics for a board |
jira_get_epic_issues | Get issues belonging to an epic |
jira_move_issues_to_epic | Move issues to an epic |
jira_remove_issues_from_epic | Remove issues from an epic |
</details>
<details> <summary><strong>🗂️ Field Metadata (3 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_fields | Get all available fields (including custom) |
jira_get_create_metadata | Get metadata for creating issues |
jira_get_edit_metadata | Get metadata for editing issues |
</details>
<details> <summary><strong>🗄️ Filters (6 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_filters | Search saved filters |
jira_get_filter | Get filter details |
jira_create_filter | Create a new saved filter |
jira_update_filter | Update an existing filter |
jira_get_my_filters | Get filters owned by you |
jira_get_favourite_filters | Get favourite filters |
</details>
<details> <summary><strong>⚡ Bulk Operations (4 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_bulk_edit_issues | Edit multiple issues at once (labels, assignee, priority, etc.) |
jira_bulk_watch_issues | Add watchers to multiple issues |
jira_bulk_unwatch_issues | Remove watchers from multiple issues |
jira_get_bulk_operation_progress | Track async bulk operation progress |
</details>
<details> <summary><strong>📊 Dashboard Management (5 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_dashboards | Get dashboards (filter by favourite/owned) |
jira_search_dashboards | Search dashboards by name, owner, etc. |
jira_get_dashboard | Get dashboard details by ID |
jira_get_dashboard_gadgets | Get all gadgets on a dashboard |
jira_add_dashboard_gadget | Add a gadget to a dashboard |
</details>
<details> <summary><strong>📎 Enhanced Attachments (4 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_attachments | Get issue attachments |
jira_upload_attachment | Upload a file to an issue |
jira_get_attachment_metadata | Get attachment metadata by ID |
jira_get_attachment_content | Get attachment download URL |
</details>
<details> <summary><strong>🏷️ Labels Management (2 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_all_labels | Get all labels in the Jira instance |
jira_add_labels | Add, set, or remove labels on an issue |
</details>
<details> <summary><strong>🔎 JQL Tools (3 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_autocomplete_jql | Get autocomplete suggestions for JQL fields |
jira_validate_jql | Validate JQL queries for syntax errors |
jira_parse_jql | Parse JQL into abstract syntax tree |
</details>
<details> <summary><strong>⏱️ Time Tracking Reports (4 tools)</strong></summary>
| Tool | Description |
|---|---|
jira_get_updated_worklog_ids | Get worklog IDs created/updated since a date |
jira_get_worklogs_by_ids | Get full worklog details by IDs (batch up to 1000) |
jira_get_user_worklogs | Get all worklogs for a user in a date range with summary |
jira_get_deleted_worklog_ids | Get IDs of deleted worklogs for audit purposes |
</details>
This release underwent a comprehensive audit to ensure best practices and security:
| Category | Status | Details |
|---|---|---|
| API Version | ✅ | All 91 tools use Jira REST API v3 (latest) |
| Agile API | ✅ | Sprint/Board tools use Jira Agile API v1.0 |
| Deprecated APIs | ✅ | All deprecated endpoints migrated to modern alternatives |
| Security Vulnerabilities | ✅ | 0 vulnerabilities (axios & qs patched) |
| OAuth 2.0 Support | ✅ | Full OAuth 2.0 (3LO) with auto-refresh |
| Credential Storage | ✅ | OS-level encryption via Keytar |
| Input Validation | ✅ | Zod v4 schema validation on all parameters |
| URL Encoding | ✅ | All dynamic path parameters properly encoded |
| Error Handling | ✅ | Consistent error handling across all endpoints |
Once configured, interact with Jira through natural conversation:
👤 "What's the status of PROJ-123?"
🤖 Fetches and displays issue details, status, and assignee
👤 "Create a bug in PROJ for 'Login button not working'"
🤖 Creates a new bug issue and returns the issue key
👤 "Assign PROJ-456 to [email protected]"
🤖 Assigns the issue to the specified user
👤 "Move PROJ-789 to 'In Progress'"
🤖 Transitions the issue to the new status👤 "Show me the active sprint for board 123"
🤖 Displays current sprint details with dates and goal
👤 "Move PROJ-123 and PROJ-124 to sprint 456"
🤖 Moves the issues to the specified sprint
👤 "What's in the backlog for the PROJ board?"
🤖 Lists all backlog issues with priorities👤 "Log 2 hours on PROJ-456 for code review"
🤖 Creates work log entry with description
👤 "How much time has been logged on PROJ-789?"
🤖 Retrieves and summarises work logs👤 "Link PROJ-123 as blocking PROJ-456"
🤖 Creates a "blocks" relationship between issues
👤 "Add me as a watcher on PROJ-789"
🤖 Adds you to the issue's watch list
👤 "Show all issues in epic PROJ-100"
🤖 Lists all child issues of the epic<details> <summary><strong>🥟 Bun Installation Issues</strong></summary>
Windows (PowerShell as Administrator):
# If irm fails, try:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm bun.sh/install.ps1 | iexmacOS/Linux:
# If curl fails, check your internet connection or try:
brew install oven-sh/bun/bun # macOS with HomebrewVerify Installation:
bun --version # Should show 1.x.x</details>
<details> <summary><strong>❌ "MISSING_AUTH" Error</strong></summary>
Ensure your environment variables are correctly set. Verify with jira_auth_status.
Checklist:
JIRA_BASE_URL includes https:// and is your full Jira domainJIRA_EMAIL matches your Atlassian account emailJIRA_API_TOKEN is a valid, non-expired token</details>
<details> <summary><strong>❌ "401 Unauthorised" Error</strong></summary>
Your credentials are invalid or expired.
For Basic Auth:
For OAuth:
jira_oauth_refresh</details>
<details> <summary><strong>❌ "403 Forbidden" Error</strong></summary>
You don't have permission to access the requested resource.
Solutions:
</details>
<details> <summary><strong>❌ "404 Not Found" Error</strong></summary>
The issue or project doesn't exist, or you don't have access to view it.
Solutions:
PROJ-123)</details>
<details> <summary><strong>❌ npx/bunx Using Old Version</strong></summary>
Clear the cache to ensure you get the latest version:
npm:
npx -y --package=mcp-jira-cloud@latest mcp-jira-cloud
# or clear cache:
npm cache clean --forceBun:
bunx --bun mcp-jira-cloud@latest
# or clear cache:
bun pm cache rm</details>
| Attribute | Value |
|---|---|
| Package name | mcp-jira-cloud |
| Latest Version | |
| License | MIT |
| Runtime | Bun ≥1.0.0 or Node.js ≥18.0.0 |
| TypeScript | ≥5.0.0 |
| Module | ES Modules |
| Tools | 91 |
| Package | Purpose |
|---|---|
@modelcontextprotocol/sdk | MCP protocol implementation |
axios | HTTP client for Jira API |
keytar | Secure credential storage |
zod | Schema validation |
| Fix | Description |
|---|---|
| 🏷️ Full field passthrough | jira_get_issue & jira_search_issues now return every requested field — labels, status, priority, assignee, components, fixVersions, custom fields, etc. — instead of only key/summary/description (#2) |
| 📋 Useful defaults | When fields is omitted, the full-detail tools now return a broad default set; lean summary tools keep their trimmed output |
| 🧹 Compact, no fabrication | Nested objects are normalized to friendly values (status→name, assignee→display name, …) and unrequested fields are never invented |
| Feature | Description |
|---|---|
| 🧩 Modular Architecture | Tools refactored into modular, organized files (src/tools/) |
| 🚀 Expanded Toolset | Now 91 tools, including new Agile, Worklog, and Metadata functions |
| 🛡️ Improved Tooling | Standardized authentication (withClient) & annotation presets |
| ✅ Test Suite | Integrated Vitest for robust unit testing across the codebase |
| Feature | Description |
|---|---|
| 🥟 Bun Support | Run with bunx mcp-jira-cloud@latest - easier for beginners |
| 📖 Better Docs | Simplified prerequisites and configuration examples |
| Feature | Description |
|---|---|
| 🎯 Improved Tool Descriptions | Better trigger phrases, negative guidance, and cross-references for AI agents |
| 📋 Prerequisites Section | Clear requirements documented in README |
| Change | Description |
|---|---|
| ⚠️ Breaking | jira_get_worklogs renamed to jira_get_issue_worklogs for clarity |
| 🐛 Fix | Removed duplicate tool registration that caused startup errors |
Total tools: 74
| Feature | Description |
|---|---|
| 🔍 User Worklogs Query | New jira_get_user_worklogs tool to query worklogs by user and date range |
| 📊 Time Summary | Returns total time logged with formatted hours/minutes |
<table> <tr><td>
Removed for Safety:
jira_delete_issuejira_delete_sprintjira_delete_attachmentjira_delete_filterjira_delete_issue_link</td><td>
Improvements:
</td></tr> </table>
<details> <summary><strong>📅 v2.x Changelog</strong></summary>
</details>
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)See CHANGELOG.md for a list of changes in each version.
This project is licensed under the MIT License — see the LICENSE file for details.
| Resource | Link |
|---|---|
| GitHub | github.com/tezaswiraj7222/jira-mcp |
| npm | npmjs.com/package/mcp-jira-cloud |
| Issues | Report a bug |
| MCP Protocol | modelcontextprotocol.io |
| Jira API | Jira REST API v3 |
<p align="center"> Made with ❤️ by <a href="https://github.com/tezaswiraj7222">Tezaswi Raj (github: tezaswiraj7222)</a> </p>
<p align="center"> <a href="https://github.com/sponsors/tezaswiraj7222"> <img src="https://img.shields.io/badge/Sponsor-❤️-ea4aaa?style=for-the-badge" alt="Sponsor"> </a> </p>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.