# AI tools & MCP server (/dev-tools/ai-tools)



Point your AI tool at the Setu docs and it searches and reads them itself, instead of answering
from memory or waiting for you to paste pages in.

## MCP server [#mcp-server]

Add this one URL to your AI tool. There is no key and no sign-in, and the server is read-only.

```
https://docs.setu.co/api/mcp
```

### Connect your tool [#connect-your-tool]

Pick your tool and follow its steps. Menu names in the app tabs are as of September 2026.

<Tabs items="[&#x22;Claude Code&#x22;, &#x22;Codex&#x22;, &#x22;Cursor&#x22;, &#x22;VS Code&#x22;, &#x22;Claude app&#x22;, &#x22;ChatGPT&#x22;, &#x22;Other clients&#x22;]">
  <Tab value="Claude Code">
    Run once; `--scope user` makes it available in every project, including the desktop app's Code tab:

    ```bash
    claude mcp add --transport http --scope user setu-docs https://docs.setu.co/api/mcp
    ```

    Start a new session, then ask your question as usual; the agent calls `search` and `get_page` on
    these docs and answers from the pages it read. `/mcp` inside a session lists the server and its tools.
  </Tab>

  <Tab value="Codex">
    Codex CLI, the Codex IDE extension and the ChatGPT desktop app share `~/.codex/config.toml`, so
    set the server up once:

    ```bash
    codex mcp add setu-docs --url https://docs.setu.co/api/mcp
    ```

    or add it to the file by hand:

    ```toml
    [mcp_servers.setu-docs]
    url = "https://docs.setu.co/api/mcp"
    ```

    In the desktop app or the IDE extension you can instead open **Settings → MCP servers → Add
    server**, choose **Streamable HTTP**, paste the URL, save and restart. `/mcp` in the composer lists
    the servers that are live. See OpenAI's
    [MCP guide for Codex](https://developers.openai.com/codex/mcp) for the full option list.
  </Tab>

  <Tab value="Cursor">
    Add the server to `.cursor/mcp.json` in your project, or to `~/.cursor/mcp.json` for every project:

    ```json
    {
      "mcpServers": {
        "setu-docs": { "url": "https://docs.setu.co/api/mcp" }
      }
    }
    ```
  </Tab>

  <Tab value="VS Code">
    Add the server to `.vscode/mcp.json`:

    ```json
    {
      "servers": {
        "setu-docs": { "type": "http", "url": "https://docs.setu.co/api/mcp" }
      }
    }
    ```
  </Tab>

  <Tab value="Claude app">
    Works on claude.ai, Claude Desktop and Cowork on every plan; Free plans get one custom connector.

    1. Open **Customize → Connectors**, click +, then **Add custom connector**.
    2. Name it **Setu Docs**, enter `https://docs.setu.co/api/mcp` as the remote MCP server URL and
       click **Add**. Skip the OAuth fields under Advanced settings; the server needs none.
    3. In a chat, open the + menu, choose **Connectors** and switch **Setu Docs** on.

    On Team and Enterprise plans only an Owner can add a connector, under **Organization settings →
    Connectors**; members then find it under **Customize → Connectors** and click **Connect**.

    Anthropic's
    [custom connectors guide](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)
    has the details.
  </Tab>

  <Tab value="ChatGPT">
    Needs a paid plan and ChatGPT on the web (not the mobile apps). A custom MCP server is added as
    an **app**, which requires **Developer mode**.

    1. **Turn on Developer mode.** Plus and Pro: **Settings → Security and login**. Business,
       Enterprise and Edu: an admin or owner turns it on under **Settings → Apps → Advanced settings**
       and can grant it to members.
    2. **Create the app** from the MCP server: Plus and Pro from the + button on
       [chatgpt.com/plugins](https://chatgpt.com/plugins); workspaces from **Workspace settings → Apps →
       Create**. Enter `https://docs.setu.co/api/mcp` as the server URL, choose **No authentication**,
       let ChatGPT scan the tools and confirm.
    3. In a chat, select **Setu Docs** from the composer's tools menu (or @mention it) when you want
       ChatGPT to use it.

    OpenAI's [Developer mode guide](https://developers.openai.com/api/docs/guides/developer-mode) and
    [help-centre article](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt)
    carry the current menu paths for individual and workspace plans respectively.
  </Tab>

  <Tab value="Other clients">
    Any client that supports MCP over Streamable HTTP connects with the URL alone:
    `https://docs.setu.co/api/mcp`. There is no token to configure.

    A client that only launches local (stdio) servers can bridge to it with `mcp-remote`:

    ```json
    {
      "command": "npx",
      "args": ["mcp-remote", "https://docs.setu.co/api/mcp"]
    }
    ```
  </Tab>
</Tabs>

### Try it [#try-it]

Start a new chat or session and ask a real question, for example:

* "Using the Setu docs, how do I verify a customer's bank account with reverse penny drop?"
* "Which UPI apps can a UPI DeepLinks payment link open?"
* "Show me how to start an Account Aggregator consent flow in TypeScript."

Your tool searches the docs and reads the matching page before it answers. If it answers without
searching, ask it to use the Setu docs.

### What your tool can do [#what-your-tool-can-do]

| Tool         | What it does                                                                                                                                                      |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `search`     | Searches every page. Returns up to ten matching pages, each with the passages that matched and its path. Short keyword queries work better than full sentences.   |
| `get_page`   | Returns one page as Markdown, by its path, for example `/payments/bbps/overview`.                                                                                 |
| `list_pages` | Lists the documentation pages with their titles and descriptions. Redirects and empty landing pages are left out, so every path it returns works with `get_page`. |

<Callout type="info">
  This server answers questions about the documentation. It is not the BillPay MCP server,
  which lets an assistant fetch and pay bills on a customer's behalf and needs OAuth. For that,
  see the [BillPay MCP integration guide](/payments/billpay/mcp/integration-guide).
</Callout>

Requests are rate limited per IP address (60 per minute), which is plenty for interactive use.

## Markdown for any page [#markdown-for-any-page]

Add `.mdx` to the end of any documentation page URL to get it as plain Markdown. For example,
[`/payments/bbps/overview.mdx`](/payments/bbps/overview.mdx) is the BBPS overview. Every documentation
page also has a **Copy Markdown** button next to its title.

## llms.txt [#llmstxt]

* [`/llms.txt`](/llms.txt) lists every page with its title, description and link, in the
  [llmstxt.org](https://llmstxt.org) format.
* [`/llms-full.txt`](/llms-full.txt) is the full text of every page in one file (about 2 MB).
