Verified capability

Provide secure vulnerability context to AI development tools

Enable Smart Kubaba's read-only HTTP MCP surface to discover accessible organizations and projects, inspect open vulnerabilities, and provide verified remediation context to your AI client.

How should this content be used?Verified product behaviorDocumentation versionLatest

The behaviors on this page were matched to implementation or acceptance evidence in the stated source snapshot.

Scope and license availability

MCP is an opt-in, development-only JSON-RPC surface exposed by the Smart Kubaba backend at POST /mcp using Streamable HTTP. The MCP endpoint and organization/project search tools are included across every Free, Mid, High, and Enterprise edition and product scope. Vulnerability-listing and AI remediation-plan tools require Intelligence data. Built-in Free already includes Repository + Intelligence; MCP discovery works with paid Repository-only licenses, but Intelligence data and vulnerability-remediation tools are not enabled.

Enable it for local development

The capability is disabled by default. Add the variable below to the backend environment and restart the application. The default allow-remote=false setting accepts loopback peers only, so a local AI client connects to http://127.0.0.1:8080/mcp on the backend's actual port. If the port is configured differently, use the same /mcp path on that backend address.

Safe local defaultstext
SMART_KUBABA_DEVELOPMENT_MCP_ENABLED=true
SMART_KUBABA_DEVELOPMENT_MCP_ALLOW_REMOTE=false

Token and client connection

In Smart Kubaba, open Administration → Authentication → API Tokens → New Token. For full MCP access, create an expiring skb_-prefixed token with VIEW_ORGANIZATION, VIEW_PROJECT, and VIEW_SCAN. You may omit VIEW_SCAN for discovery-only access. Each scope is intersected with the token owner's current permission of the same name, and vulnerability tools also retain the relevant project access-policy check. Never place the token in source control, a shared project file, or shell history; use the client's secret or environment-variable support. MCP client configuration fields vary, so the example below illustrates the URL and header contract.

  • search_organizations → VIEW_ORGANIZATION
  • search_projects → VIEW_PROJECT
  • list_development_vulnerabilities and get_development_vulnerability_fix → VIEW_SCAN
Generic MCP client exampletext
{
  "mcpServers": {
    "smart-kubaba": {
      "url": "http://127.0.0.1:8080/mcp",
      "headers": {
        "Authorization": "Bearer ${SMART_KUBABA_MCP_TOKEN}"
      }
    }
  }
}

Add to VS Code

Create .vscode/mcp.json at the project root and add the configuration below. The token is not written to the file: VS Code prompts for it as a masked input when the server first starts and stores it as a secure input. Then open the Command Palette with Ctrl+Shift+P, run MCP: List Servers, select smart-kubaba, and start it. To make the server available across workspaces, use MCP: Open User Configuration and place the same configuration in the user-level mcp.json file.

  • Restart the backend with SMART_KUBABA_DEVELOPMENT_MCP_ENABLED=true.
  • On New Token, select VIEW_ORGANIZATION, VIEW_PROJECT, and VIEW_SCAN for full access.
  • When VS Code prompts on first connection, enter the one-time skb_ token value.
.vscode/mcp.jsontext
{
  "inputs": [
    {
      "type": "promptString",
      "id": "smart-kubaba-token",
      "description": "Smart Kubaba MCP API token",
      "password": true
    }
  ],
  "servers": {
    "smart-kubaba": {
      "type": "http",
      "url": "http://127.0.0.1:8080/mcp",
      "headers": {
        "Authorization": "Bearer ${input:smart-kubaba-token}"
      }
    }
  }
}

Published read-only tools

A connected AI client can first discover the ownership scope visible to it, then use the immutable projectKey to query findings from the newest completed scan. The tools do not edit source files, execute dependency commands, trigger scans, change policy, or accept risk.

  • search_organizations: uses VIEW_ORGANIZATION to search organization records by name, key, or description.
  • search_projects: uses VIEW_PROJECT to search by project name or key and organization context, returning projectKey for vulnerability lookup.
  • list_development_vulnerabilities: returns a page of OPEN findings by default from the newest completed scan, including severity and CVSS.
  • get_development_vulnerability_fix: returns the verified fixed version, safe advisory links, manifest guidance, and verification steps; it never guesses a safe version.

Remote access and security boundary

Enable remote development access only with an explicit network design. When allow-remote=true, every request must carry a valid Bearer token, and any supplied Origin must exactly match the allowlist. Forwarded headers do not widen the network boundary. Origin validation never resolves arbitrary hostnames to loopback; request bodies and page sizes are bounded, and calls share the scanner rate limiter. MCP should remain disabled in production deployments.

Explicitly allowed remote-development exampletext
SMART_KUBABA_DEVELOPMENT_MCP_ENABLED=true
SMART_KUBABA_DEVELOPMENT_MCP_ALLOW_REMOTE=true
SMART_KUBABA_DEVELOPMENT_MCP_ALLOWED_ORIGINS=https://approved-ai-client.example

AI remediation and verification responsibility

Advisory text in MCP responses is marked UNTRUSTED_EXTERNAL_DATA, while raw SBOMs, raw OSV payloads, credentials, contacts, storage identifiers, and pipeline URLs are excluded. The AI client must treat the response only as starting context: inspect the repository dependency graph and callers, apply the smallest compatible change, review lockfile and generated-metadata differences, run existing tests, and generate a fresh CycloneDX SBOM to confirm in a new Smart Kubaba scan that the finding is no longer OPEN.