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

# AI assistants (MCP)

> Ask Claude, ChatGPT or your IDE about your scans, alerts, batches and products.

Satyakod has an [MCP](https://modelcontextprotocol.io) server, so an AI assistant can read your
workspace and answer questions like *"Where did counterfeit scans come from this week?"* or
*"Summarise the open alerts for the brake pads."*

The assistant only **reads**. It can't create batches, change alerts or revoke codes, and it sees
exactly what you see in the dashboard: your role and your workspaces apply.

**Server URL:** `https://api.satyakod.com/mcp`

## Connect

> [tab] Claude
>
> In Claude, open **Settings → Connectors → Add custom connector**, name it *Satyakod* and
> paste the server URL. Claude opens Satyakod's sign-in: sign in if asked, check the access it
> asks for and choose **Allow**.

> [tab] ChatGPT and others
>
> Any assistant that supports remote MCP servers with OAuth works the same way: add the server
> URL as a connector, then sign in to Satyakod and allow access when it opens.

> [tab] Claude Code
>
> ```bash theme={null}
> claude mcp add --transport http satyakod https://api.satyakod.com/mcp
> ```
>
> Then run `/mcp` in Claude Code and choose **Authenticate** to sign in.
>
> For a script or a shared machine, use a secret [API key](https://docs.satyakod.com/api-reference/introduction.md)
> instead of signing in. The key's scopes decide what can be read (for example
> `batches:read`, `scans:read`, `alerts:read`):
>
> ```bash theme={null}
> claude mcp add --transport http satyakod https://api.satyakod.com/mcp \
>   --header "Authorization: Bearer vrq_live_…"
> ```

## What it can read

| Tool | What it returns |
| - | - |
| `list_workspaces` | The workspaces you belong to and your role in each |
| `get_overview` | Scans by verdict for 7, 30 or 90 days, the change from before, open alerts, hotspots |
| `get_scan_summary` | Scan counts by verdict, scans per minute, the places with the most flagged scans |
| `list_scans`, `get_scan` | Scans, filtered by period, verdict, channel, batch, product or alert, and one scan in full |
| `list_alerts`, `get_alert` | Alerts by status and severity, and one alert with its scans, timeline and actions |
| `list_batches`, `get_batch` | Batches by number, product, lot or serial, and one batch in full |
| `list_products` | Your products, with their batches |

In assistants that support [MCP Apps](https://modelcontextprotocol.io/extensions/apps/overview),
such as Claude, `get_overview` also opens an interactive card: verdict totals, flagged scans per
day, hotspots and top alerts, with buttons for 7, 30 or 90 days. Other assistants get the same
numbers as text.

If you belong to several workspaces, the assistant uses your default one unless you name another;
ask it to *"use the Bolt Motors workspace"*, for example.

## Disconnect

Remove the connector in the assistant. If you are removed from a workspace, the assistant can
no longer read it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.