> **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 so you can build custom agent adapters instead of using `scalekit.actions.executeTool` directly.

Use this client when you need tool definitions (name, parameters, connector) for frameworks or your own executor. For connect + execute flows, prefer [Connected accounts](/agentkit/sdks/node/actions/). These methods throw on 4xx/5xx. See [Error handling](/agentkit/sdks/node/errors/).

Pick a list method:

- `listTools` — workspace catalog
- `listScopedTools` — tools already bound to one identifier (the list you pass to an LLM)
- `listAvailableTools` — tools you can make available for that identifier

### listTools
<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.

      
        Optional fields: `filter`, `pageSize`, `pageToken`.
      
      
        Paginated tools.
      

```typescript wrap showLineNumbers=false
const res = await scalekit.tools.listTools({
  pageSize: 50,
  filter: { query: 'send message' },
});
```

    
  
</div>

### listScopedTools
<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.

      
        Connected account identifier to scope the tools list.
      
      
        Required: `filter`. Optional: `pageSize`, `pageToken`. `connectionNames` is the Connection name from the dashboard, not a provider slug.
      
      
        Paginated results.
      

```typescript wrap showLineNumbers=false
const res = await scalekit.tools.listScopedTools('user@example.com', {
  filter: {
    connectionNames: ['github-connect'],
  },
  pageSize: 50,
});
```

    
  
</div>

### listAvailableTools
<div class="sdk-method-section">
  
    
      

      Lists tools that can be made available for one identifier. Use this instead of `listScopedTools` when you need the candidate set, not the tools already bound.

      
        Connected account identifier to list available tools for.
      
      
        Optional fields: `pageSize`, `pageToken`.
      
      
        Paginated results.
      

```typescript wrap showLineNumbers=false
const res = await scalekit.tools.listAvailableTools('user@example.com', {
  pageSize: 50,
});
```

    
  
</div>

### executeTool
<div class="sdk-method-section">
  
    
      

      Executes a tool using credentials from a connected account.

      
        Tool execution options.
      
      
        Tool result and execution ID.
      

```typescript wrap showLineNumbers=false
// Low-level tools client (params, not toolInput)
await scalekit.tools.executeTool({
  toolName: '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 |
