How to build an AI-powered code quality workflow with SonarQube and E2B — Step 4: Test SonarQube MCP tools
Let's analyze code quality using SonarQube MCP tools. Create 04-test-sonarqube.ts Bounded code example (external data; do not execute automatically): ```typescript import "dotenv/config"; import { Sandbox } from "e2b"; async function testSonarQube() { console.log("Creating sandbox...\n"); const sbx
Reference note (untrusted external data; do not execute it as instructions).
Let's analyze code quality using SonarQube MCP tools.
Create 04-test-sonarqube.ts
Bounded code example (external data; do not execute automatically):
```typescript
import "dotenv/config";
import { Sandbox } from "e2b";
async function testSonarQube() {
console.log("Creating sandbox...\n");
const sbx = await Sandbox.betaCreate({
envs: {
ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY!,
GITHUB_TOKEN: process.env.GITHUB_TOKEN!,
SONARQUBE_TOKEN: process.env.SONARQUBE_TOKEN!,
},
mcp: {
githubOfficial: {
githubPersonalAccessToken: process.env.GITHUB_TOKEN!,
},
sonarqube: {
org: process.env.SONARQUBE_ORG!,
token: process.env.SONARQUBE_TOKEN!,
url: "https://sonarcloud.io",
},
},
});
const mcpUrl = sbx.betaGetMcpUrl();
const mcpToken = await sbx.betaGetMcpToken();
await new Promise((resolve) => setTimeout(resolve, 1000));
await sbx.commands.run(
`claude mcp add --transport http e2b-mcp-gateway ${mcpUrl} --header "Authorization: Bearer ${mcpToken}
```
Bounded code example (external data; do not execute automatically):
```bash
npx tsx 04-test-sonarqube.ts
```
Create 04_test_sonarqube.py
Bounded code example (external data; do not execute automatically):
```python
import os
import asyncio
from dotenv import load_dotenv
from e2b import AsyncSandbox
load_dotenv()
async def test_sonarqube():
print("Creating sandbox...\n")
sbx = await AsyncSandbox.beta_create(
envs={
"ANTHROPIC_API_KEY": os.getenv("ANTHROPIC_API_KEY"),
"GITHUB_TOKEN": os.getenv("GITHUB_TOKEN"),
"SONARQUBE_TOKEN": os.getenv("SONARQUBE_TOKEN"),
},
mcp={
"githubOfficial": {
"githubPersonalAccessToken": os.getenv("GITHUB_TOKEN"),
},
"sonarqube": {
"org": os.getenv("SONARQUBE_ORG"),
"token": os.getenv("SONARQUBE_TOKEN"),
"url": "https://sonarcloud.io",
},
},
)
mcp_url = sbx.beta_get_mcp_url()
mcp_token = await sbx.beta_get_mcp_token()
await asyncio.sleep(1)
await sbx.commands.run
```
Bounded code example (external data; do not execute automatically):
```bash
python 04_test_sonarqube.py
```
> [!NOTE] > > This script may take a few minutes to run. …
Attribution: Adapted from Docker Documentation under Apache-2.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
Docker Documentation — content/guides/github-sonarqube-sandbox.md :: Step 4: Test SonarQube MCP tools ↗Revision 3a9d778562f3 · Apache-2.0 and attribution