> **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.
> Skills: integrating-agentkit, implementing-saaskit, adding-mcp-oauth, implementing-modular-sso, implementing-scim-provisioning.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Tool calling

List raw tool schemas for custom adapters
<div class="sdk-client-page">

`scalekit.tools` returns raw tool schemas for custom agent adapters.

Use this when you need tool definitions for frameworks or your own executor. For connect + execute, use [Connected accounts](/agentkit/sdks/python/actions/). These methods raise on 4xx/5xx. See [Error handling](/agentkit/sdks/python/errors/).

Pick a list method:

- `list_tools` — workspace catalog
- `list_scoped_tools` — tools already bound to one identifier (the list you pass to an LLM)

`list_available_tools` is not in the Python SDK. Use `GET /api/v1/tools/available` or the Node `listAvailableTools` method.

### tools.list_tools
<div class="sdk-method-section">
  
    
      

      Lists the workspace catalog. Use this when you need every tool in the environment, not tools bound to one user.

      
        Filter by provider, identifier, or tool name
      
      
        Maximum tools per page.
      
      
        Opaque cursor from a previous list response
      
      
        List tools.
      

```python wrap showLineNumbers=false
from scalekit.v1.tools.tools_pb2 import Filter

response = scalekit_client.tools.list_tools(
    filter=Filter(query="send message"),
    page_size=50,
)
```

    
  
</div>

### tools.list_scoped_tools
<div class="sdk-method-section">
  
    
      

      Lists tools already bound to one identifier. Use this when you need the list a user is authorized to call.

      
        User connected account identifier **Required.**
      
      
        Optional. Filter by providers, tool names, or connection names. `connection_names` is the Connection name from the dashboard, not a provider slug.
      
      
        Maximum tools per page.
      
      
        Opaque cursor from a previous list response
      
      
        List scoped tools.
      

```python wrap showLineNumbers=false
from scalekit.v1.tools.tools_pb2 import ScopedToolFilter

response = scalekit_client.tools.list_scoped_tools(
    "user@example.com",
    filter=ScopedToolFilter(
        connection_names=["github-connect"],
    ),
    page_size=50,
)
```

    
  
</div>

### tools.execute_tool
<div class="sdk-method-section">
  
    
      

      Low-level tool execution.

      
        Registered tool name to execute **Required.**
      
      
        End-user identifier.
      
      
        Tool arguments matching the tool input schema
      
      
        Connected account ID (ca_...) when you already know it
      
      
        ExecuteToolResponse.
      

```python wrap showLineNumbers=false
# Low-level ToolsClient (tool_name, identifier, params)
response = scalekit_client.tools.execute_tool(
    tool_name="gmail_fetch_mails",
    identifier="user@example.com",
    params={"query": "is:unread", "max_results": 5},
)
```

    
  
</div>

Note: Need a tool Scalekit doesn't provide? See [Build custom tools](/agentkit/tools/custom-tools/) to proxy any provider API through a connected account.

</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 |
