> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cekura.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Integration

> How to use Cekura from AI coding agents like Claude Code, Cursor, and VS Code Copilot

export const CopyPageButton = () => {
  if (typeof window !== 'undefined') {
    setTimeout(function () {
      if (document.getElementById('ck-tools')) return;
      var anchor = document.getElementById('content-area') || document.querySelector('.mdx-content');
      if (!anchor) return;
      if (!document.getElementById('ck-style')) {
        var s = document.createElement('style');
        s.id = 'ck-style';
        s.textContent = '#ck-tools{position:absolute;top:6px;right:0;z-index:100;font-family:inherit;}' + '.ck-row{display:inline-flex;align-items:stretch;border:1px solid rgba(0,0,0,0.15);border-radius:8px;overflow:hidden;background:#fff;}' + ':root.dark .ck-row{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);}' + '.ck-btn{padding:5px 12px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;color:#374151;}' + ':root.dark .ck-btn{color:#d1d5db;}' + '.ck-btn:hover{background:rgba(0,0,0,0.04);}' + ':root.dark .ck-btn:hover{background:rgba(255,255,255,0.06);}' + '.ck-chevron{padding:5px 8px;border:none;background:none;cursor:pointer;font-size:14px;font-family:inherit;color:#374151;}' + ':root.dark .ck-chevron{color:#d1d5db;}' + '.ck-chevron:hover{background:rgba(0,0,0,0.04);}' + ':root.dark .ck-chevron:hover{background:rgba(255,255,255,0.06);}' + '.ck-divider{width:1px;background:rgba(0,0,0,0.12);flex-shrink:0;}' + ':root.dark .ck-divider{background:rgba(255,255,255,0.12);}' + '.ck-dd{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:#fff;border:1px solid rgba(0,0,0,0.12);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);padding:4px;display:none;z-index:200;}' + ':root.dark .ck-dd{background:#1f2937;border-color:rgba(255,255,255,0.1);box-shadow:0 4px 16px rgba(0,0,0,0.35);}' + '.ck-item{display:block;width:100%;padding:7px 12px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;text-align:left;color:#374151;}' + ':root.dark .ck-item{color:#d1d5db;}' + '.ck-item:hover{background:rgba(0,0,0,0.05);}' + ':root.dark .ck-item:hover{background:rgba(255,255,255,0.07);}';
        document.head.appendChild(s);
      }
      var wrap = document.createElement('div');
      wrap.id = 'ck-tools';
      var row = document.createElement('div');
      row.className = 'ck-row';
      var mainBtn = document.createElement('button');
      mainBtn.className = 'ck-btn';
      mainBtn.textContent = 'Copy page';
      var divider = document.createElement('span');
      divider.className = 'ck-divider';
      var chevron = document.createElement('button');
      chevron.className = 'ck-chevron';
      chevron.textContent = '▾';
      var dd = document.createElement('div');
      dd.className = 'ck-dd';
      function closeDD() {
        dd.style.display = 'none';
      }
      function openDD() {
        dd.style.display = 'block';
      }
      chevron.onclick = function (e) {
        e.stopPropagation();
        if (dd.style.display === 'block') {
          closeDD();
        } else {
          openDD();
        }
      };
      document.addEventListener('click', function (e) {
        if (!e.target.closest('#ck-tools')) {
          closeDD();
        }
      });
      document.addEventListener('keydown', function (e) {
        if (e.key === 'Escape') {
          closeDD();
        }
      });
      function makeItem(label, fn) {
        var b = document.createElement('button');
        b.className = 'ck-item';
        b.textContent = label;
        b.onclick = function () {
          fn();
          closeDD();
        };
        return b;
      }
      function getMarkdown() {
        var walk = function (node) {
          if (!node) return '';
          if (node.nodeType === 3) return node.textContent || '';
          if (node.nodeType !== 1) return '';
          var tag = node.tagName.toLowerCase();
          var skip = ['script', 'style', 'svg', 'noscript', 'button', 'iframe'];
          if (skip.indexOf(tag) !== -1) return '';
          if (node.id === 'ck-tools') return '';
          var ch = Array.from(node.childNodes).map(walk).join('');
          if (tag === 'h1') return '\n# ' + ch.trim() + '\n\n';
          if (tag === 'h2') return '\n## ' + ch.trim() + '\n\n';
          if (tag === 'h3') return '\n### ' + ch.trim() + '\n\n';
          if (tag === 'p') return '\n' + ch.trim() + '\n\n';
          if (tag === 'pre') return '\n```\n' + node.textContent.trim() + '\n```\n\n';
          if (tag === 'li') return '- ' + ch.trim() + '\n';
          if (tag === 'code') return '`' + ch.trim() + '`';
          return ch;
        };
        var content = document.querySelector('.mdx-content') || document.getElementById('content-area') || document.body;
        return walk(content).replace(/\n\n\n+/g, '\n\n').trim();
      }
      function copyMd() {
        var md = getMarkdown();
        navigator.clipboard.writeText(md).then(function () {
          mainBtn.textContent = 'Copied!';
          setTimeout(function () {
            mainBtn.textContent = 'Copy page';
          }, 2000);
        });
      }
      function viewMd() {
        var md = getMarkdown();
        var safe = md.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;');
        var html = '<!DOCTYPE html><html><head><meta charset="utf-8"><style>body{font-family:monospace;max-width:860px;margin:40px auto;padding:0 24px;line-height:1.7;white-space:pre-wrap;word-wrap:break-word}</style></head><body>' + safe + '</body></html>';
        window.open(URL.createObjectURL(new Blob([html], {
          type: 'text/html'
        })), '_blank');
      }
      function openClaude() {
        var prompt = 'Can you read this Cekura docs page ' + window.location.href + ' so I can ask you questions?';
        window.open('https://claude.ai/new?q=' + encodeURIComponent(prompt), '_blank');
      }
      mainBtn.onclick = copyMd;
      dd.appendChild(makeItem('Copy page', copyMd));
      dd.appendChild(makeItem('View as Markdown', viewMd));
      dd.appendChild(makeItem('Open in Claude', openClaude));
      row.appendChild(mainBtn);
      row.appendChild(divider);
      row.appendChild(chevron);
      wrap.appendChild(row);
      wrap.appendChild(dd);
      anchor.style.position = 'relative';
      anchor.insertBefore(wrap, anchor.firstChild);
    }, 50);
  }
  return null;
};

<CopyPageButton />

Cekura is designed to work seamlessly with AI coding agents. Whether you're using Claude Code, Cursor, or VS Code, you can manage your voice agent testing and observability directly from your development environment.

## Integration Options

<CardGroup cols={2}>
  <Card title="MCP Server" icon="plug" href="/mcp/overview">
    Connect your AI assistant to Cekura's API via the Model Context Protocol for real-time tool access.
  </Card>

  <Card title="AGENTS.md" icon="file-code" href="/documentation/guides/agents-md-template">
    Add an AGENTS.md file to your repo to teach AI assistants how to use Cekura for your project.
  </Card>
</CardGroup>

## Quick Setup

### 1. Connect via MCP

The fastest way to integrate is through the MCP server. This gives your AI assistant direct access to Cekura's API tools.

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add --transport http cekura --scope user https://api.cekura.ai/mcp --header "X-CEKURA-API-KEY:YOUR_API_KEY"
    ```
  </Tab>

  <Tab title="Cursor / VS Code">
    Add to your MCP config (see [full setup guide](/mcp/overview)):

    ```json theme={null}
    {
      "mcpServers": {
        "cekura": {
          "command": "npx",
          "args": ["mcp-remote", "https://api.cekura.ai/mcp", "--header", "X-CEKURA-API-KEY:${CEKURA_API_KEY}"],
          "env": { "CEKURA_API_KEY": "YOUR_API_KEY" }
        }
      }
    }
    ```
  </Tab>
</Tabs>

### 2. Add AGENTS.md to Your Repo

Drop an [AGENTS.md template](/documentation/guides/agents-md-template) into your project root. This teaches any AI assistant the Cekura-specific workflows and terminology for your project.

### 3. Discover Documentation

Cekura's documentation is available in agent-friendly formats:

| Resource          | URL                                    | Purpose                                       |
| ----------------- | -------------------------------------- | --------------------------------------------- |
| **llms.txt**      | `https://docs.cekura.ai/llms.txt`      | Page index with descriptions for AI discovery |
| **llms-full.txt** | `https://docs.cekura.ai/llms-full.txt` | Full documentation content in markdown        |
| **OpenAPI Spec**  | `https://api.cekura.ai/api/schema/`    | Complete API specification                    |

## Common Agent Workflows

### Test Your Agent After a Deploy

```plaintext theme={null}
User: "Run our regression tests against the staging agent"

AI: [Uses list-agents, then scenarios-run-scenarios-create]
"I've kicked off 12 scenarios against your staging agent.
Results will be ready in ~3 minutes. I'll check the results."
```

### Create Metrics from Agent Description

```plaintext theme={null}
User: "Generate quality metrics for our customer support agent"

AI: [Uses metrics-generate-metrics-create]
"I've generated 5 metrics based on the agent's system prompt:
1. Greeting Quality (boolean)
2. Issue Resolution (boolean)
3. Empathy Score (numeric 1-5)
4. Policy Compliance (boolean)
5. Call Wrap-up Quality (boolean)"
```

### Review Call Quality

```plaintext theme={null}
User: "Show me the worst performing calls from last week"

AI: [Uses call-logs-list with filters]
"Here are the 5 lowest-scoring calls from the past 7 days..."
```

### Generate Evaluators from Real Calls

```plaintext theme={null}
User: "Create test scenarios from our recent support calls"

AI: [Uses call-logs-create-scenarios-create]
"I've created 8 test scenarios from your recent call logs.
Each scenario captures the conversation flow and expected outcomes."
```

## Best Practices

<AccordionGroup>
  <Accordion title="Start with read-only operations">
    Begin with listing agents, viewing results, and reading call logs before using write operations like creating metrics or running scenarios.
  </Accordion>

  <Accordion title="Use project scoping">
    If you have multiple projects, always specify the `project_id` parameter to scope your queries. This prevents cross-project data leakage.
  </Accordion>

  <Accordion title="Monitor context window usage">
    Large responses (detailed transcripts, full result sets) can consume significant context. Use pagination parameters (`page`, `limit`) to control response size.
  </Accordion>

  <Accordion title="Combine with CI/CD">
    Use Cekura's [GitHub Actions integration](/documentation/guides/github-actions-ci-cd) alongside MCP to run evals on every PR and review results from your agent.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="MCP Setup Guide" icon="gear" href="/mcp/overview">
    Detailed MCP server configuration for all supported clients
  </Card>

  <Card title="AGENTS.md Template" icon="file" href="/documentation/guides/agents-md-template">
    Copy-paste template for your project
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference">
    Complete API documentation
  </Card>

  <Card title="Testing Guide" icon="flask" href="/documentation/guides/testing-agents/overview">
    Learn how to create and run evaluators
  </Card>
</CardGroup>
