Skip to content
VS Code

AKKO MCP server for Trino for VS Code

io.github.ab2dridi/akko-mcp-trino

Read-only MCP server for Trino: queries run as the verified user, and Trino's own policies decide.

client:VS Code transport:stdio runtime:pypi

Install AKKO MCP server for Trino in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "trino-host",
      "description": "TRINO_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "trino-http-scheme",
      "description": "TRINO_HTTP_SCHEME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-jwks-url",
      "description": "MCP_JWKS_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-oidc-issuer",
      "description": "MCP_OIDC_ISSUER",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-oidc-audience",
      "description": "MCP_OIDC_AUDIENCE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "trino-token-exchange-url",
      "description": "TRINO_TOKEN_EXCHANGE_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "trino-token-exchange-client-id",
      "description": "TRINO_TOKEN_EXCHANGE_CLIENT_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "trino-token-exchange-client-secret",
      "description": "TRINO_TOKEN_EXCHANGE_CLIENT_SECRET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "trino-token-exchange-audience",
      "description": "TRINO_TOKEN_EXCHANGE_AUDIENCE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "trino-identity-mode",
      "description": "TRINO_IDENTITY_MODE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-user-token",
      "description": "MCP_USER_TOKEN",
      "password": true
    }
  ],
  "servers": {
    "akko-mcp-trino": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "akko-mcp-trino"
      ],
      "env": {
        "TRINO_HOST": "${input:trino-host}",
        "TRINO_HTTP_SCHEME": "${input:trino-http-scheme}",
        "MCP_JWKS_URL": "${input:mcp-jwks-url}",
        "MCP_OIDC_ISSUER": "${input:mcp-oidc-issuer}",
        "MCP_OIDC_AUDIENCE": "${input:mcp-oidc-audience}",
        "TRINO_TOKEN_EXCHANGE_URL": "${input:trino-token-exchange-url}",
        "TRINO_TOKEN_EXCHANGE_CLIENT_ID": "${input:trino-token-exchange-client-id}",
        "TRINO_TOKEN_EXCHANGE_CLIENT_SECRET": "${input:trino-token-exchange-client-secret}",
        "TRINO_TOKEN_EXCHANGE_AUDIENCE": "${input:trino-token-exchange-audience}",
        "TRINO_IDENTITY_MODE": "${input:trino-identity-mode}",
        "MCP_USER_TOKEN": "${input:mcp-user-token}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

AKKO MCP server for Trino in other clients