Skip to main content

Connect tools

Connect Codex CLI.

Let Codex ask Kin about a chosen project. This setup keeps its answers tied to that project, even when you start Codex elsewhere.

How this works in Kin

Two things differ here. The entry is TOML under mcp_servers.kin rather than JSON under mcpServers, and it is pinned to one repository with --repo, so it answers about that repository wherever the client is running.

Start with a disposable copy of your code. Examples below were checked on a specific build; language and workflow support are limited.

Check the example version and setup

Supported build

Every command below was run on Kin v0.7.6, macOS on Apple silicon, on 2026-09-09, against a four-file JavaScript repository created from scratch. The output shown is what that run printed. Current release: v0.7.19.

Before you start

  • Read /docs/agents first. Everything except the file, its format and the repository pin is the same for every client.
  • Codex CLI installed, so ~/.codex/config.toml exists.
  • A repository admitted with kin init. This client gets pinned to it, so run setup from the repository you mean.

The steps

  1. 01

    Let setup write the entry

    Codex CLI keeps its configuration in TOML rather than JSON, so this is the one client whose entry does not look like the others.

    kin setup --intent agent
    Compare with the saved example output
      ✓ Codex CLI configured (~/.codex/config.toml)
          bound to repository /private/tmp/docsverify-workflows/kin-orders

    A row naming the TOML file and a second line naming the repository it was bound to. Kin also appends a discovery block to ~/.codex/AGENTS.md, the global instruction file every Codex CLI session on the host reads.

  2. 02

    Read the entry it wrote

    The difference that matters: this entry carries --repo, so the server always answers about that one repository whatever directory the client is in.

    cat ~/.codex/config.toml
    Compare with the saved example output
    [mcp_servers.kin]
    command = "/Users/troyfortinjr/.kin/bin/kin"
    args = ["mcp", "start", "--repo", "/private/tmp/docsverify-workflows/kin-orders"]
    env = { KIN_MCP_TOOL_PROFILE = "agent-default" }

    A pinned repository path. Working on a second repository means running setup again from it, which rewrites this entry, or editing the --repo value by hand.

  3. 03

    Restart the client and check the server answers

    Setup confirmed the configuration and received a response during initial setup. If tools are missing after a restart, ensure the client reloaded its configuration, or run kin setup status to check the entry.

    kin setup status
    Compare with the saved example output
      ✓ MCP: Codex CLI             ok             mcp_servers.kin present with agent-default profile (~/.codex/config.toml)

    The row above. Note the key is mcp_servers with an underscore here, not mcpServers: that is the TOML shape Codex CLI reads, and a hand-written camel-case key is silently ignored.

When the answer looks wrong

An empty or partial answer can reflect coverage, repository state, or an error. Each row below says what the state means and what to do next.

  • The agent answers about the wrong repository.

    This entry is pinned. It answers about whatever --repo names, not about your current directory.

    Run kin setup --intent agent from the repository you want, or edit the --repo path in ~/.codex/config.toml.

  • You added the entry by hand and nothing happened.

    The TOML table is mcp_servers.kin. A camel-case key is not the one this client reads.

    Let kin setup write it, then read the file back.

  • Codex CLI lists no Kin tools.

    It read its configuration at launch, before Kin wrote to it.

    Start a new Codex CLI session, then run kin setup status to confirm the entry is still there.

Next action

Ask it a question you can check.

Pick a function you know in the pinned repository, ask the agent for its callers, then run the same question on the command line and compare.

Find recorded callers