Skip to content

Agent Integration

chant integrates with AI coding agents through three surfaces: skills (operational knowledge), MCP tools (programmatic actions), and Ops (durable deployment workflows). You write TypeScript; the agent uses these surfaces to understand and execute the build → validate → deploy → troubleshoot workflow.

AI agent connected to three surfaces: Skills for operational guidance, MCP Tools for programmatic actions, Ops for durable workflow execution
Agent integration surfaces

Skills are operational playbooks — structured markdown documents contributed by lexicons. They teach agents how to work with a specific infrastructure platform: which commands to run, what to validate, how to deploy, and how to troubleshoot failures.

Skills are installed by chant init and refreshed by chant update. They live in the project root at skills/:

my-project/
skills/
chant-aws/
SKILL.md
chant-aws-eks/
SKILL.md
src/
index.ts

Agents that support file-based skill discovery load these automatically.

You don’t need to read or manage skill files yourself — they’re installed once and the agent reads them as needed.

The MCP (Model Context Protocol) server gives agents programmatic access to chant operations. When an agent connects via MCP, it can build projects, run lint checks, scaffold files, and more — without the user typing commands.

chant init configures MCP automatically by writing to your IDE’s global MCP config file.

To configure manually, add the chant MCP server to your IDE’s MCP config:

{
"mcpServers": {
"chant": {
"command": "npx",
"args": ["chant", "serve", "mcp"]
}
}
}
MCP toolDescription
buildSynthesize and write infrastructure output
lintRun lint checks on TypeScript intent definitions
importImport infrastructure templates and generate TypeScript files
explainSummarize project resources by lexicon and kind
scaffoldGenerate starter files from lexicon templates
searchSearch available resource types across lexicons
MCP resourceDescription
chant://contextLexicon-specific instructions and patterns for chant development
chant://examples/listList of available chant examples

Lexicon plugins can contribute additional tools and resources.

Some lexicons add read-only context tools that build from your source and return what chant already computes — without touching any live system. They give an agent a before-it-runs view of your infrastructure: what a change does, what it pulls in, and whether it is safe, before it runs or merges. This is the window live tooling can’t see.

The GitLab lexicon ships these:

MCP toolAnswers
gitlab:checksIs there anything risky in this pipeline? (returns the security findings)
gitlab:pipelineWhat does this pipeline do? (stages, jobs, run order)
gitlab:referencesWhat does it pull in from outside, and is it pinned?
gitlab:affectedIf I change this job, what re-runs?
gitlab:pipeline-yamlThe generated .gitlab-ci.yml
gitlab:sourceWhere did this job come from in my TypeScript? (file + composite)
gitlab:ownsIs this job declared by chant in this project?
gitlab:compareIf I migrate this GitHub workflow to GitLab, which safety properties survive?

The GitHub lexicon ships the parallel set for Actions workflows:

MCP toolAnswers
github:checksIs there anything risky in this workflow? (returns the security findings)
github:workflowWhat does this workflow do? (triggers, jobs, run order)
github:referencesWhat actions/images does it pull in, and are they pinned to a commit SHA?
github:affectedIf I change this job, what re-runs?
github:workflow-yamlThe generated workflow YAML

The Forgejo lexicon (Codeberg / self-hosted Forgejo / Gitea) ships the same set, plus the migration safety view:

MCP toolAnswers
forgejo:checksIs there anything that won’t work on Forgejo? (WFJ findings: unresolved action refs, GitHub-hosted runner labels)
forgejo:workflowWhat does this workflow do? (triggers, jobs, run order)
forgejo:referencesWhat actions/images does it pull in, and are they pinned to a commit SHA?
forgejo:affectedIf I change this job, what re-runs?
forgejo:workflow-yamlThe generated Forgejo workflow YAML
forgejo:sourceWhere did this job come from in my TypeScript? (file + composite)
forgejo:ownsIs this job declared by chant in this project?
forgejo:compareIf I migrate this GitHub workflow to Forgejo, which safety properties survive?

Every one of these reads the build only — no live instance, no run history, no writes. That boundary is deliberate: chant is a context producer, complementary to (not a copy of) the live tooling an agent already uses.

Ops are named, phased Temporal workflows defined in *.op.ts files. They run durable deployments — phases, gate steps that pause for human signals, compensation on failure — and surface progress in the Temporal UI.

Terminal window
# Start an Op workflow
chant run alb-deploy
# Send a signal to unblock a gate step
chant run signal alb-deploy gate-dns-delegation

The MCP server exposes Op tools (op-list, op-run, op-status, op-signal) so agents can start and monitor deployments programmatically.

See the Ops guide for details.

SurfaceWhenExample
SkillsAlways-on guidance — installed once, agent reads as neededAgent checks the AWS skill before deploying a CloudFormation stack
MCP toolsProgrammatic actions during executionAgent calls build to synthesize templates, lint to validate, op-run to start a deployment
OpsDurable multi-step workflows with observability and gate stepsDeploying infra + app layers, waiting for DNS delegation, rollback on failure

Skills and MCP tools are complementary: skills tell the agent what to do, MCP tools let it do it. Ops tie both together into repeatable, observable workflows.