SonarQube MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SONARQUBE_URL | No | Base URL of your SonarQube instance | http://localhost:9000 |
| SONARQUBE_TOKEN | Yes | User token for authentication | |
| SONARQUBE_REQUEST_TIMEOUT_SEC | No | HTTP request timeout in seconds | 30 |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_statusA | Verify SonarQube connectivity and return server version/status. |
| list_projectsA | List or search SonarQube projects with pagination. Args: query: Optional search string to filter project names/keys. page: Page number (1-indexed). page_size: Results per page (1–500). |
| search_issuesA | Search SonarQube issues with filters. Args: project_key: Project key to scope issues. severities: Comma-separated: INFO,MINOR,MAJOR,CRITICAL,BLOCKER. types: Comma-separated: CODE_SMELL,BUG,VULNERABILITY,SECURITY_HOTSPOT. statuses: Comma-separated: OPEN,CONFIRMED,REOPENED,RESOLVED,CLOSED. tags: Comma-separated tag names. assigned: Filter by assignment (true=assigned, false=unassigned). page: Page number (1-indexed). page_size: Results per page (1–500). |
| get_issueB | Get detailed information for a single SonarQube issue by key. Args: issue_key: The issue key (e.g., AXy1k...). |
| get_project_metricsB | Get quality metrics for a SonarQube project. Args: project_key: The project key. metric_keys: Comma-separated metric keys. Defaults to a standard quality dashboard set (bugs, coverage, smells, ratings, etc.). |
| get_ruleB | Get the description and metadata for a SonarQube rule. Args: rule_key: Rule key (e.g., python:S1192, java:S106). |
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 6 tools
Each tool has a clearly distinct purpose with no overlap: connectivity check, single issue retrieval, project metrics, rule details, project listing, and issue searching. The descriptions specify different resources (server, issue, project, rule) and actions (check, get, list, search), making misselection unlikely.
All tools follow a consistent verb_noun pattern (e.g., check_status, get_issue, list_projects, search_issues). The verbs are appropriate and predictable, with no deviations in style or convention across the set.
Six tools is well-scoped for a SonarQube server, covering core functionalities like status verification, issue and project management, metrics, and rule lookup. Each tool earns its place without feeling excessive or insufficient for the domain.
The toolset provides strong coverage for querying and monitoring in SonarQube, including status, projects, issues, metrics, and rules. A minor gap exists in write operations (e.g., creating or resolving issues), but agents can still perform most read-oriented tasks effectively.