> For the complete documentation index, see [llms.txt](https://docs.balkan.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.balkan.id/balkanid-mcp/installation-and-setup/cline.md).

# Cline

Connect [Cline](https://docs.cline.bot/mcp/mcp-overview) to BalkanID MCP.

**OAuth is preferred.** API keys remain available for Read-only or static-token setups.

### One-click (OAuth — recommended)

1. Open <https://mcp.balkanid.app>, sign in, and confirm the correct **tenant**.
2. Under **OAuth Connectors**, select **Cline** in the client picker.
3. Click **Copy MCP JSON**. The snippet defines `balkanid` with `"type": "streamableHttp"` and the BalkanID MCP URL.
4. In your editor, open the Cline panel → **MCP Servers** → **Configure MCP Servers**.
5. Merge the copied `mcpServers` block with any servers you already use and save. Cline reloads MCP definitions.
6. If Cline shows **Authentication required** next to `balkanid`, click **Authenticate**. Your browser opens — sign in to BalkanID, pick your **tenant**, and approve consent.

{% hint style="info" %}
OAuth currently requires **both Read and Write** scopes. See Authentication and Permissions.
{% endhint %}

### Manual configuration (OAuth fallback)

Open [Cline MCP settings](https://docs.cline.bot/mcp/configuring-mcp-servers) via **MCP Servers** → **Configure MCP Servers** and add:

```json
{
  "mcpServers": {
    "balkanid": {
      "type": "streamableHttp",
      "url": "https://mcp.balkanid.app/server/mcp"
    }
  }
}
```

Save, then click **Authenticate** in Cline when prompted.

### One-click (API key)

1. In the [MCP UI](https://mcp.balkanid.app), create a key under **Bearer Auth Keys**.
2. Open **Connect** for that key, choose **Cline**, and **Copy MCP JSON** — the snippet includes the Bearer header.
3. Paste into **Configure MCP Servers**, merge with existing `mcpServers`, and save.

### Manual configuration (API key fallback)

```json
{
  "mcpServers": {
    "balkanid": {
      "type": "streamableHttp",
      "url": "https://mcp.balkanid.app/server/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN_HERE"
      }
    }
  }
}
```

Replace `YOUR_TOKEN_HERE` with the token from the MCP UI. Use a Read-only key when you only need discovery tools.

### Verify

Ask Cline: “Call whoami on BalkanID MCP.” You should see your email and tenant ID.

### Disable or remove

Open **MCP Servers → Configure MCP Servers** and set `"disabled": true` on the `balkanid` entry to turn it off without losing its configuration, or delete the entry entirely to remove it.

### Official documentation

Cline documentation for MCP servers:

* [MCP overview](https://docs.cline.bot/mcp/mcp-overview) — Cline Docs
* [Configuring MCP servers](https://docs.cline.bot/mcp/configuring-mcp-servers) — Cline Docs


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.balkan.id/balkanid-mcp/installation-and-setup/cline.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
