> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended**:
> ```bash
> npx @scalekit-inc/cli setup
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for 40+ agents.
> Features: full-stack-auth, agent-auth, mcp-auth, modular-sso, modular-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# MCP configurations

Expose AgentKit tools over MCP.
<div class="sdk-client-page">

Expose AgentKit tools over MCP so hosts like Claude Desktop or Cursor can call connected-account tools through a standard protocol.

Configure an MCP server, attach connected accounts, and issue tokens for clients. See [Error handling](/agentkit/sdks/python/errors/) for API exceptions.

### scalekit_client.actions.mcp.create_config
<div class="sdk-method-section">
  
    
      

      Runs `scalekit_client.actions.mcp.create_config` and returns the result.

      
        Config name **Required.**
      
      
        Human-readable summary of what this MCP config exposes
      
      
        List of McpConfigConnectionToolMapping objects
      
      
        Create mcp config.
      

```python wrap showLineNumbers=false
response = scalekit_client.actions.mcp.create_config(
    name="My agent tools",
    description="Connectors exposed to the agent",
)
# response.config
```

    
  
</div>

### scalekit_client.actions.mcp.list_configs
<div class="sdk-method-section">
  
    
      

      Runs `scalekit_client.actions.mcp.list_configs` and returns the result.

      
        Maximum configs per page (server default if omitted)
      
      
        Opaque cursor from a previous list response
      
      
        Filter by config ID
      
      
        Filter by exact name
      
      
        Filter by provider slug
      
      
        Filter by MCP server URL
      
      
        Free-text search on name
      
      
        ListMcpConfigsResponse.
      

```python wrap showLineNumbers=false
page1 = scalekit_client.actions.mcp.list_configs(page_size=10)
for cfg in page1.configs:
    print(cfg.name, cfg.mcp_server_url)
```

    
  
</div>

### scalekit_client.actions.mcp.update_config
<div class="sdk-method-section">
  
    
      

      Runs `scalekit_client.actions.mcp.update_config` and returns the result.

      
        MCP config ID from create_config or list_configs.
      
      
        New human-readable description for this config
      
      
        Replaces existing mappings
      
      
        UpdateMcpConfigResponse.
      

```python wrap showLineNumbers=false
response = scalekit_client.actions.mcp.update_config(
    config_id="cfg_01abc123",
    description="Updated description",
)
```

    
  
</div>

### scalekit_client.actions.mcp.delete_config
<div class="sdk-method-section">
  
    
      

      Runs `scalekit_client.actions.mcp.delete_config` and returns the result.

      
        MCP config ID to delete **Required.**
      
      
        DeleteMcpConfigResponse.
      

```python wrap showLineNumbers=false
scalekit_client.actions.mcp.delete_config(config_id="cfg_01abc123")
```

    
  
</div>

### scalekit_client.actions.mcp.list_mcp_connected_accounts
<div class="sdk-method-section">
  
    
      

      Runs `scalekit_client.actions.mcp.list_mcp_connected_accounts` and returns the result.

      
        Virtual MCP config ID.
      
      
        User identifier **Required.**
      
      
        Include auth/re-auth URLs.
      
      
        List mcp connected accounts.
      

```python wrap showLineNumbers=false
state = scalekit_client.actions.mcp.list_mcp_connected_accounts(
    config_id="cfg_01abc123",
    identifier="alice@example.com",
    include_auth_link=True,
)
for account in state.connected_accounts:
    if account.connected_account_status != "active":
        print(account.connection_name, account.authentication_link)
```

    
  
</div>

### scalekit_client.actions.mcp.create_session_token
<div class="sdk-method-section">
  
    
      

      Mints a short-lived session token scoped to a user and a Virtual MCP Server config.

      
        Virtual MCP Server config ID **Required.**
      
      
        User identifier **Required.**
      
      
        Token lifetime (server default if omitted, typically 1 hour).
      
      
        Tokens and claims.
      

```python wrap showLineNumbers=false
from datetime import timedelta

resp = scalekit_client.actions.mcp.create_session_token(
    mcp_config_id="cfg_01abc123",
    identifier="alice@example.com",
    expiry=timedelta(hours=1),
)
headers = {"Authorization": f"Bearer {resp.token}"}
```

    
  
</div>
</div>


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
