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

# MCP

> Bring your partner program into your AI tools - connect Claude, ChatGPT, Cursor, and other MCP clients to an OAuth-protected server that lets assistants work with your partner data on your behalf.

export const Headless = ({prompts = []}) => {
  const PromptRow = ({prompt}) => {
    const [copied, setCopied] = useState(false);
    const copy = () => {
      try {
        navigator.clipboard?.writeText(prompt);
      } catch {}
      setCopied(true);
      setTimeout(() => setCopied(false), 1600);
    };
    return <div className="group flex items-center justify-between gap-3 px-4 py-3 transition-colors hover:bg-[#FD90FF]/[0.06]">
        <span className="text-sm leading-relaxed text-zinc-700 dark:text-zinc-200">{prompt}</span>
        <button type="button" onClick={copy} aria-label={copied ? "Copied to clipboard" : "Copy prompt"} className={`shrink-0 rounded-md p-1.5 transition-all hover:bg-[#FD90FF]/10 focus:opacity-100 focus:outline-none ${copied ? "text-[#FD90FF] opacity-100" : "text-zinc-400 opacity-0 group-hover:opacity-100 dark:text-zinc-500"}`}>
          {copied ? <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M20 6L9 17l-5-5" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg> : <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <rect x="9" y="9" width="11" height="11" rx="2" stroke="currentColor" strokeWidth="2" />
              <path d="M5 15V5a2 2 0 0 1 2-2h10" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg>}
        </button>
      </div>;
  };
  return <>
      <p>
        Introw is <strong>headless</strong> by design: run everything here in plain language from Claude, ChatGPT,
        Slack, Teams, or your own CRM through Introw's <a href="/features/developer/mcp">MCP server</a>, with every
        action written straight back to your CRM source of truth. The portal is one surface, never the only one.
      </p>

      {prompts.length > 0 ? <div className="not-prose my-6 overflow-hidden rounded-2xl border border-zinc-200/80 bg-white shadow-sm dark:border-white/10 dark:bg-white/[0.02]">
          <div className="flex items-center gap-2 border-b border-zinc-200/80 bg-gradient-to-r from-[#FD90FF]/10 via-[#FD90FF]/5 to-transparent px-4 py-2.5 dark:border-white/10">
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4 text-[#FD90FF]" aria-hidden="true">
              <path d="M12 2.5l2 5.5 5.5 2-5.5 2-2 5.5-2-5.5L4.5 10l5.5-2 2-5.5z" fill="currentColor" />
              <path d="M18.5 14l1 2.6 2.6 1-2.6 1-1 2.6-1-2.6-2.6-1 2.6-1 1-2.6z" fill="currentColor" opacity="0.55" />
            </svg>
            <span className="text-xs font-semibold uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
              Try it from your LLM
            </span>
          </div>

          <div className="flex flex-col divide-y divide-zinc-100 dark:divide-white/[0.06]">
            {prompts.map(prompt => <PromptRow key={prompt} prompt={prompt} />)}
          </div>

          <a href="/headless" className="flex items-center justify-between gap-2 border-t border-zinc-200/80 px-4 py-2.5 text-sm font-medium text-zinc-600 no-underline transition-colors hover:text-[#FD90FF] dark:border-white/10 dark:text-zinc-300">
            <span>See the full headless playbook</span>
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
          </a>
        </div> : <Card title="See the headless motion" icon="wand-magic-sparkles" href="/headless">
          The agentic playbook - lifecycle deep dives and a Claude Code skill library that run your partner program
          from Claude, ChatGPT, Slack, and your CRM.
        </Card>}
    </>;
};

> The fastest interface to your partner program is the AI assistant you already use. Introw's MCP server lets Claude, ChatGPT, Cursor, and other MCP clients securely read and act on your partner data, so you can ask questions and take action in plain language.

## What it does

MCP, the Model Context Protocol, is how AI clients connect to tools. Introw runs an OAuth-protected MCP
server that exposes your partner program to AI clients. Once connected, an assistant can search
partners, look up commissions and goals, review form submissions, prepare a business review, and take
actions like updating a partner or creating a task, all scoped to your access.

There is no separate dashboard to learn: you connect your AI client once through a secure sign-in, and
your partner program becomes something you can query and act on conversationally.

You can also extend MCP to your partners. With the partner MCP, each partner connects their own AI
client and works with their own data, like their deals, commissions, and submissions, scoped to what
they are allowed to see. That gives partners an AI assistant for the relationship, in the tools they
already use.

## The problem it solves

Answers and actions that should take seconds get buried in screens and exports:

* **Simple questions require digging through the app** → Ask an AI client and get the answer in seconds.
* **Routine updates interrupt real work** → Assistants can update partners and create tasks on your behalf.
* **Context lives in a tool you have to open** → MCP brings partner data into the assistant you already use.
* **Granting AI access feels risky** → Connection is OAuth-protected and scoped to your own access.

## From problem to solution

Connect your AI client to Introw once over a secure OAuth sign-in. From then on, your partner program is
available inside the assistant you already work in, for both questions and actions, without opening the
app.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  connect["Connect AI client over OAuth"] --> available["Program available in the assistant"]
  available --> act["Ask questions and take actions"]
```

## Governance & the capability matrix

MCP access is not all-or-nothing. Every action an assistant can take runs through a vendor-configured
**capability matrix**, and every action is scoped to the connected user's own permissions.

* **Permission-scoped reads** - an assistant inherits the exact access the signed-in user already has, so it can never return data that user couldn't see. A partner's assistant reaches only that partner's data.
* **Per-action control** - each MCP action is set to Read-only, Allowed, Approval Required, Write/Delete, or Blocked, so you decide which actions auto-execute and which require a human in the loop.
* **Auditable by design** - every read, write, and command is logged and, where it changes data, written back to the CRM system of record.

See [Governance & trust](/headless#governance-and-trust) for the full capability-matrix model, and
[Access & Security](/features/access) for the roles and permissions reads are scoped to.

## Use cases

<CardGroup cols={2}>
  <Card title="Query your program" icon="circle-check">
    Ask about partners, commissions, and goals.
  </Card>

  <Card title="Prepare reviews" icon="circle-check">
    Generate a partner business review on demand.
  </Card>

  <Card title="Take quick actions" icon="circle-check">
    Update a partner or create a task in chat.
  </Card>

  <Card title="Work in your AI tools" icon="circle-check">
    Use Claude, ChatGPT, Cursor, and more.
  </Card>

  <Card title="Equip partners with AI" icon="circle-check">
    Give partners their own scoped AI assistant.
  </Card>
</CardGroup>

## Impact

* **AI-native** - Your program is usable from the assistants your team already runs.
* **Work where you already are** - Questions and actions happen in the AI client, not the app.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Manager" icon="user">
    Queries and acts on partners conversationally.
  </Card>

  <Card title="Developer / Integrator" icon="user">
    Connects MCP-capable clients to Introw.
  </Card>
</CardGroup>

## Works with

{/* CONNECTS:START - generated content goes here */}

<CardGroup cols={2}>
  <Card title="Partner Support Agent" icon="robot" href="/features/ai/partner-support">
    Powers partner-facing AI assistants.
  </Card>

  <Card title="API Keys & REST API" icon="code" href="/features/developer/api">
    Built on the public API surface.
  </Card>

  <Card title="Knowledge Base" icon="robot" href="/features/ai/knowledge-base">
    Exposes your knowledge to AI clients.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Connect Claude to Introw and ask about partners, commissions, and goals.",
"Register a deal or approve a submission from your assistant.",
"Give each partner an MCP-connected assistant scoped to their data.",
]}
/>

## Going deeper

<CardGroup cols={2}>
  <Card title="How to" icon="screwdriver-wrench" href="./technical">
    Setup, configuration, and all how-to guides.
  </Card>

  <Card title="API reference" icon="code" href="/general/introduction">
    Integration surface and code.
  </Card>
</CardGroup>
