AI Agent Integration Guides

Use Assay's 40+ modules in Claude Code, Cursor, Windsurf, Cline, and OpenCode.

Two Integration Approaches

There are two ways to bring Assay's Kubernetes-native modules into your AI coding agent:

Approach How It Works Status
Today: assay context Run assay context "<query>" to get prompt-ready module docs. Paste output into your agent's context window or reference SKILL.md in your project. Available now
Coming in v0.6.0: assay mcp-serve Assay becomes a native MCP server. Your agent queries modules, generates scripts, and executes checks — all through the MCP protocol. One config line per agent. Coming Soon

Claude Code

Config path: .mcp.json in project root

Today: assay context Integration

Download SKILL.md into your project and reference it from AGENTS.md. Claude Code reads AGENTS.md automatically, giving it full knowledge of Assay's modules and patterns.

# Get module docs for Claude Code
assay context "grafana"          # paste into Claude Code prompt
assay context "kubernetes auth"  # get k8s module docs
assay context "jwt signing"      # get crypto module docs
assay context "vault secrets"    # get vault module docs

Coming Soon (v0.6.0): MCP Server

// .mcp.json (project root)
{
  "mcpServers": {
    "assay": {
      "command": "assay",
      "args": ["mcp-serve"]
    }
  }
}

Once assay mcp-serve ships, Claude Code will query Assay's modules natively — no copy-pasting context, no SKILL.md needed.

Cursor

Config path: .cursor/mcp.json in project root

Today: assay context Integration

Use assay context from your terminal and paste the output into Cursor's chat. Cursor reads the same MCP config format as Claude Code.

# Get module docs for Cursor
assay context "prometheus"       # monitoring module docs
assay context "argocd sync"      # GitOps module docs
assay context "s3 storage"       # S3 module docs

Coming Soon (v0.6.0): MCP Server

// .cursor/mcp.json (project root)
{
  "mcpServers": {
    "assay": {
      "command": "assay",
      "args": ["mcp-serve"]
    }
  }
}

Cursor and Claude Code share identical MCP config format. The same assay mcp-serve command works for both — just different file paths.

Windsurf

Config path: ~/.codeium/windsurf/mcp_config.json (global only)

Today: assay context Integration

Run assay context from Windsurf's integrated terminal and paste output into the AI chat panel. Windsurf supports terminal access for running CLI commands.

# Get module docs for Windsurf
assay context "traefik"          # ingress/routing module docs
assay context "certmanager"      # TLS certificate docs
assay context "harbor registry"  # container registry docs

Coming Soon (v0.6.0): MCP Server

// ~/.codeium/windsurf/mcp_config.json (global config)
{
  "mcpServers": {
    "assay": {
      "serverUrl": "http://localhost:9999",
      "command": "assay",
      "args": ["mcp-serve", "--port", "9999"]
    }
  }
}

Windsurf uses serverUrl (HTTP transport) instead of url — different from other agents. It also uses a global config only (no per-project config).

Cline

Config path: VS Code settings (extension-managed)

Today: assay context Integration

Use assay context from VS Code's integrated terminal. Cline can read terminal output when you paste it into the chat, or you can pipe it to a file and reference it.

# Get module docs for Cline
assay context "loki logging"     # log aggregation docs
assay context "temporal workflow" # workflow orchestration docs
assay context "unleash flags"    # feature flag docs

Coming Soon (v0.6.0): MCP Server

// VS Code settings.json (Cline extension)
{
  "cline.mcpServers": {
    "assay": {
      "command": "assay",
      "args": ["mcp-serve"],
      "autoApprove": ["assay_context", "assay_modules"]
    }
  }
}

Cline has an autoApprove field for trusted tool calls. Add Assay's tools to skip manual approval for assay context and assay modules queries.

OpenCode

Config path: opencode.json in project root

Today: assay context Integration

Install the Assay skill directly into your OpenCode project. The skill gives your agent full knowledge of all 40+ modules, client patterns, and built-in functions.

# Install Assay skill for OpenCode
npx skills add developerinlondon/agent-skills

# Then use assay context from agent prompts
assay context "crossplane"       # infrastructure-as-code docs
assay context "velero backup"    # disaster recovery docs
assay context "zitadel identity" # OIDC identity management docs

Coming Soon (v0.6.0): MCP Server

// opencode.json (project root)
{
  "mcp": {
    "assay": {
      "command": "assay",
      "args": ["mcp-serve"]
    }
  }
}

OpenCode uses the mcp key (not mcpServers) — a unique format. This is the agent running your session right now!

Quick Reference

Agent Config File Format MCP Status
Claude Code .mcp.json JSON mcpServers Coming in v0.6.0
Cursor .cursor/mcp.json JSON mcpServers Coming in v0.6.0
Windsurf ~/.codeium/windsurf/mcp_config.json JSON serverUrl Coming in v0.6.0
Cline VS Code extension settings JSON autoApprove Coming in v0.6.0
OpenCode opencode.json JSON mcp key Coming in v0.6.0

Common Workflow (All Agents)

Regardless of which agent you use, the workflow today is the same:

# 1. Find the right module
assay context "what you need"

# 2. Read the output — it shows method signatures and return types
# 3. Write your Lua script using the client pattern:

local mod = require("assay.<module>")
local c = mod.client("http://service:port", { token = "..." })
local result = c:some_method()
assert.not_nil(result)

# 4. Run it
assay script.lua

All 23 stdlib modules follow the same pattern: require, client(), c:method(). Learn one, know them all. Run assay modules to see the full list of 40+ available modules.