Back to all guides
MCP

Use IndyKite from your AI coding agent

Install the IndyKite skills bundle so Claude Code, Gemini CLI, and other coding agents can author ContX IQ policies, call the MCP server, and deploy Agent Gateway against your project - from a single prompt.

The indykite/skills repo packages IndyKite’s core developer workflows as skills - bundles of instructions a coding agent loads on demand. After install, your agent can author CIQ policies, initialise MCP sessions, and deploy IAG against your project from a single prompt.

Verified end-to-end with Claude Code and Gemini CLI. The skills CLI also drops files into the right place for Cursor, Aider, Continue, and any other agent it supports - automatic activation in those agents depends on the agent.

What your agent can do after install

Each row is a real prompt the matching skill is designed to handle. After install, paste the prompt into your agent - the skill activates automatically based on the prompt’s wording.

You ask your agent…Skill that handles it
”Expose Person-OWNS-Car as a parameterised read query.”indykite-ciq-read
”Create a new Track node in the IKG with title and loudness.”indykite-ciq-create-node
”Add a PLAYED_AT relationship between an existing Track and Venue.”indykite-ciq-create-relationship
”Create a new Contract and atomically link it to an existing Vehicle and Person.”indykite-ciq-create-node-with-link
”Let a Person update their own music_mood property.”indykite-ciq-add-property
”Annotate a PLAYED_AT relationship with a verified flag.”indykite-ciq-add-relationship-property
”Clear the music_mood property from a Person - GDPR erase.”indykite-ciq-delete
”Initialise an MCP session against eu.mcp.indykite.com and call authzen_evaluate.”indykite-mcp-server
”Deploy IAG in front of my three A2A agents and wire up the workflow in the IKG.”indykite-agent-gateway

Prerequisites

  • An IndyKite project. Create one with POST /configs/v1/projects or via the IndyKite Terraform provider.
  • A coding agent - Claude Code, Gemini CLI, or any other agent the skills CLI supports.
  • Node.js on your PATH so npx can run the CLI.

Install

One line, into every agent the CLI detects on your machine:

npx skills add indykite/skills

Restart the agent so it picks up the new skill directory, then verify:

npx skills list

Cherry-pick a single skill

If you only need one capability - say CIQ reads - install just that one:

npx skills add indykite/skills --skill indykite-ciq-read --agent claude-code

Bundle install (Claude Code or Gemini CLI)

For agents with a plugin marketplace, the bundle registers every skill at once and prompts for credentials at install time.

Claude Code:

/plugin marketplace add indykite/skills
/plugin install indykite-skills

Gemini CLI:

gemini extensions install https://github.com/indykite/skills

Try it: your first prompt

After install + restart, paste this into your agent:

Initialise an MCP session against eu.mcp.indykite.com for my project and list the available tools.

The indykite-mcp-server skill should activate and walk the agent through mcp/initialize, header construction, and the tools/list call. If it doesn’t activate, see Troubleshooting below.

Credentials

Skills read connection details from environment variables - or, if you used Bundle install, from the prompts you answered at install time. You’ll need a subset depending on which skills you use:

VariableWhat it isWhere to get it
API_URLIndyKite REST base URL for your regionhttps://eu.api.indykite.com or https://us.api.indykite.com
API_KEYAppAgent token (sent as X-IK-ClientKey)POST /configs/v1/application-agent-credentials, or indykite_application_agent_credential in the Terraform provider
BEARER_TOKENUser OAuth access tokenStandard IndyKite OAuth flow. Required for Person-subject CIQ flows and MCP session init
SERVICE_ACCOUNT_TOKENService-account token with Config API write accessFrom Hub UI, through the Config REST API or the Terraform provider.
MCP_URLIndyKite MCP base URLhttps://eu.mcp.indykite.com or https://us.mcp.indykite.com. Used by indykite-mcp-server only
PROJECT_GIDIndyKite project identifierReturned in the response of POST /configs/v1/projects, or fetch later via GET /configs/v1/projects

API_KEY, BEARER_TOKEN, and SERVICE_ACCOUNT_TOKEN are secrets. Don’t commit them, don’t paste them into chat transcripts, and scope them down where possible.

Troubleshooting

A skill doesn’t activate

  1. It’s installed. Run npx skills list. If the skill name isn’t there, reinstall with --agent <your-agent>.
  2. The prompt fits the description. Each SKILL.md has a description and ## When to use. If your prompt is vague, rephrase it toward the wording there.
  3. No conflicting skill. If two skills could plausibly handle the same prompt, the agent picks one. Disambiguate by invoking the skill explicitly - /<skill-name> in Claude Code, or your agent’s equivalent.

A CIQ or MCP call returns 401 / 403

  • API_KEY is the AppAgent token, not a user token.
  • BEARER_TOKEN (when required) is fresh - IndyKite OAuth tokens are short-lived.
  • PROJECT_GID matches the project the credentials belong to.

The indykite-mcp-server skill has a dedicated debugging path for MCP 401s; ask the agent about it directly.

Updating to a new release

npx skills add installs symlinks by default, so a git pull in your local copy (or rerunning the install command) picks up new content. Restart the agent after.

Reference