Claude
Skills
Sign in
Back

ai-tools

Included with Lifetime
$97 forever

Reference for all AI tools available in DBX Studio's AI chat system. Use when adding, modifying, or debugging AI tool definitions, tool execution, or provider integrations.

General

What this skill does


# DBX Studio AI Tools Reference

## Tool Definitions Location
[apps/api/src/orpc/routers/ai/tools.ts](apps/api/src/orpc/routers/ai/tools.ts)

## Tool Executor Location
[apps/api/src/orpc/routers/ai/toolExecutor.ts](apps/api/src/orpc/routers/ai/toolExecutor.ts)

## Available Tools (AI_TOOLS array)

| Tool Name | Purpose | Required Params |
|-----------|---------|-----------------|
| `read_schema` | Get all tables and structure from schema store | `schema_name` |
| `get_table_data` | Preview rows from a table (generates SELECT) | `table_name` |
| `execute_query` | Run a SELECT/WITH query | `sql` |
| `generate_chart` | Create chart config (bar/line/pie/scatter/area/histogram) | `chart_type`, `title`, `data_query` |
| `describe_table` | Get table metadata from `schemaTables` DB table | `table_name` |
| `get_table_stats` | Get statistics summary for a table | `table_name` |

## AI Providers

| Service ID | Provider | File |
|------------|----------|------|
| 1 | AWS Bedrock | `ai-stream.ts` (streaming) + `providersWithTools.ts` |
| 2 | OpenAI | `providersWithTools.ts` → `callOpenAIWithTools` |
| 3 | Anthropic | `providersWithTools.ts` → `callAnthropicWithTools` |
| 4 | Qwen | `index.ts` |
| 5 | Ollama | `index.ts` |
| 6 | Gemini | `index.ts` |
| 7 | Groq | `index.ts` |
| 8 | DBX Agent | External → `MAIN_SERVER_URL` |

## Tool Format Conversions

```typescript
// Anthropic format
getAnthropicTools() → { name, description, input_schema }

// OpenAI format
getOpenAITools() → { type: 'function', function: { name, description, parameters } }

// Bedrock format (in ai-stream.ts)
{ toolSpec: { name, description, inputSchema: { json: input_schema } } }
```

## Adding a New Tool

1. Add to `AI_TOOLS` array in `tools.ts`
2. Add execution logic in `toolExecutor.ts` → `executeTool` switch
3. Implement the handler function `executeMyNewTool(input, context)`
4. Both `getAnthropicTools()` and `getOpenAITools()` will pick it up automatically
5. For Bedrock, the conversion in `ai-stream.ts` is also automatic

## System Prompt Location
Main streaming system prompt: [apps/api/src/routes/ai-stream.ts](apps/api/src/routes/ai-stream.ts) around line 132–172

oRPC chat system prompt: [apps/api/src/orpc/routers/ai/providersWithTools.ts](apps/api/src/orpc/routers/ai/providersWithTools.ts) — `SYSTEM_PROMPT_WITH_TOOLS` constant

Related in General