Sign inSign up

olegselajev241/exa-sbx-kit:2.0.0

Multi-platform
Manifest digest

sha256:cffd4e332a13e1bfb3618f0dface4215596e0c32da0959b4c5e7c5482886db86

Last pushed

19 days by olegselajev241

Type

Sandbox Kit

Manifest digest

sha256:cffd4e332a13e1bfb3618f0dface4215596e0c32da0959b4c5e7c5482886db86

yaml
schemaVersion: "3"
displayName: Exa Search
author: Oleg Šelajev <[email protected]>
description: Adds Exa web search, crawling, and research tools to sandboxed agents via the official exa-mcp-server, packaged into the kit image and wired into each agent's MCP config. The API key stays host-side; the sandbox proxy injects it on outbound calls.
sourceUrl: https://github.com/shelajev/exa-sbx-kit
version: 2.0.0
licenses:
    - MIT
kind: mixin
provides:
    - exa-search
capabilities:
    - type: com.docker.sandbox/network-policy@2
      config:
        runtime:
            allow:
                - api.exa.ai
    - type: com.docker.sandbox/credential@1
      optional: true
      config:
        apiKey:
            inject:
                - domain: api.exa.ai
                  format: '%s'
                  header: x-api-key
            name: EXA_API_KEY
            proxyManaged: true
        phase: runtime
        service: exa
      description: Exa API access for the packaged exa-mcp-server
    - type: com.docker.sandbox/lifecycle@1
      config:
        startup:
            - command:
                - exa-node
                - /usr/local/libexec/exa-configure-mcp.cjs
              description: Wire the packaged exa-mcp-server into project, VS Code, and Gemini agent MCP configs (idempotent)
              user: "1000"
            - command:
                - sh
                - -c
                - if command -v codex >/dev/null 2>&1; then if codex mcp get exa >/dev/null 2>&1; then codex mcp remove exa || exit; fi; codex mcp add exa -- exa-mcp-server; fi
              description: Wire the packaged exa-mcp-server into Codex (idempotent)
              user: "1000"
    - type: com.docker.sandbox/agent-context@1
      config:
        content: |
            Exa web search is available through the exa-mcp-server (stdio MCP, wired into this agent's config).
            - For questions needing current web information, search with Exa before saying you cannot.
            - Tools cover web search, page crawling/content extraction, and deeper research searches; pick the closest match.
            - Requests authenticate via the sandbox proxy: the EXA_API_KEY in this environment is a placeholder and the real key never enters the sandbox. If Exa calls return unauthorized, tell the user to run `sbx secret set -g exa` on the host and restart the sandbox.
            - The kit packages its own Node.js runtime; the workload must provide glibc 2.36 or newer (Debian 12 or newer).
args:
    mcpServerVersion:
        default: 3.4.1
        description: exa-mcp-server (npm) version to package
        pattern: ^[0-9]+\.[0-9]+\.[0-9]+$
        buildArg: EXA_MCP_SERVER_VERSION