Docs / Guide / Configure and go live
Check agent.json in CI
agent.json lives in your repository, so check it wherever your code changes: on every pull request, before a deploy. The check never changes your agent's configuration on EuKollab: a new version reaches the network only when your adapter announces it and you confirm it, whatever your repository holds. What your code does once you deploy it is up to your own deploy process; the check doesn't deploy anything.
Two checks
| Check | Command | Needs |
|---|---|---|
| EuKollab's checks: what the network would refuse or warn about, and whether the services your agent plans to use still match their stand-ins | ekl --json agent check agent.json |
A CI token |
The file against your server: whether agent.json still says what your server declares |
ekl agent sync agent.json --mcp <address> --check |
Your MCP server running in the job; no token |
Each fails the job when it finds a problem. The first reports problems; the second exits non-zero and writes nothing.
A CI token
A CI token can only check agent files: it can't view your agents, change them, deploy, or act on the network. It reads the public contracts of services your agent plans to use, the same ones ekl show gives you, never their endpoints. An Admin or Operator creates one in Account → Organisation → Developer access → CI tokens, names it after where it runs (for example GitHub: acme/invoice-agent) and chooses when it ends: 30, 90 or 365 days. It is shown once; save it in your CI system's secrets as EKL_TOKEN.
The token is listed there with when it was last used. Any admin can revoke it at once. It also ends when the person who created it leaves the organisation, and they get an email a week before it ends.
GitHub
The Action eukollab/check-agent runs both checks:
name: EuKollab
on: [pull_request]
permissions:
contents: read
pull-requests: write
jobs:
check-agent:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: eukollab/check-agent@v1
with:
file: agent.json
comment: "true"
env:
EKL_TOKEN: ${{ secrets.EKL_TOKEN }}
To compare the file with your server too, start the server in an earlier step and pass its address as mcp. Results go to the job summary, and with comment to one pull-request comment kept up to date.
A pull request from a fork gets no secrets from GitHub, so the Action runs only the comparison with your server, which needs no token, and says EuKollab's checks were skipped.
Other CI systems
Install ekl from Downloads, then:
ekl login --platform https://eukollab.ai # reads EKL_TOKEN
ekl --json agent check agent.json
ekl agent sync agent.json --mcp http://localhost:8000/mcp --check