ucl-tools
v1.0.0
Published
UCL Tools SDK for getting and executing tools
Readme
ucl-tools (TypeScript)
UCL Tools SDK for TypeScript/Node.js - Get and execute tools via REST API.
Installation
npm install ucl-toolsUsage
import { UCLClient } from 'ucl-tools';
const client = new UCLClient({
spaceId: 'your-space-id',
tenantId: 'your-tenant-id', // optional, defaults to ""
gatewayId: 'your-gateway-id', // optional, defaults to spaceId
apiKey: 'your-api-key', // either apiKey or authToken required
// authToken: 'your-auth-token',
});
// Get available tools
const tools = await client.getTools({ limit: 10 });
console.log(tools);
// Get tools filtered by prompt (search by keywords)
const emailTools = await client.getTools({
limit: 10,
prompt: 'send email'
});
console.log(emailTools);
// Execute a tool
const result = await client.executeTool({
toolName: 'tool_name',
parameters: {
param1: 'value1',
},
});
console.log(result);API Reference
UCLClient
Constructor Options
| Option | Type | Required | Default | Description |
|--------|------|----------|---------|-------------|
| spaceId | string | Yes | - | Your space ID |
| tenantId | string | No | "" | Your tenant ID |
| gatewayId | string | No | spaceId | Your gateway ID |
| apiKey | string | No* | - | Your API key |
| authToken | string | No* | - | Your auth token |
*Either apiKey or authToken is required.
Methods
getTools(options?: GetToolsOptions): Promise<Tool[]>
Retrieves available tools.
interface GetToolsOptions {
limit?: number; // default: 10
prompt?: string; // optional keywords to filter tools
}
interface Tool {
name: string;
description: string;
inputSchema: Record<string, unknown>;
}executeTool(options: ExecuteToolOptions): Promise<ExecuteToolResponse>
Executes a tool.
interface ExecuteToolOptions {
toolName: string;
parameters: Record<string, unknown>;
}
interface ExecuteToolResponse {
body: Record<string, unknown>;
rawBody: string;
statusCode: number;
}Development
# Install dependencies
npm install
# Build
npm run build
# Run type checking
npm run lint
# Run tests
npm testLicense
MIT
