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.