describe_sdk
Shows your SDK's methods as declarations, for writing a code mode script. In code mode the agent writes a short script against your SDK instead of calling tools one by one. This is how it learns the SDK: typed declarations, with each method's doc comment, method and path.
When it's listed
In code mode: when you've turned code mode on and the tool mode is code. It replaces the operation tools in the list. See search and code mode.
Arguments
languagestringWhich SDK to show: typescript or python, among the languages you've turned on.
querystringWhat the methods do, in a few words. Shows the best matches.
namesarray of stringsUp to 15 call paths under client, such as subscriptions.list. Shows those methods.
groupstringOnly methods in this group. Offered only when the operations fall into two or more groups.
Returns
With no query or names, the SDK's namespaces. Otherwise how many methods match, then a declaration for each, with its arguments and return type.
Hints
The annotations a client reads to decide what may run without asking the user.
| Hint | Value | When true, it means |
|---|---|---|
readOnlyHint | true | It doesn't change anything |
openWorldHint | false | It reaches outside the server, over the network |
Examples
Find methods
{
"name": "describe_sdk",
"arguments": {
"query": "subscriptions"
}
}PRACTICE MODE: fake response built from the API's documentation. Nothing was sent to the API.
TypeScript SDK. In run_code, `client` is ready; every method is async: `await client.<path>({ ...args })`.
8 of 8 matching methods, best first.
/** List subscriptions GET /subscriptions */
client.subscriptions.list(args?: { limit?: number; startingAfter?: string; status?: "trialing" | "active" | "past_due" | "cancelled" | "paused" }): Promise<{ object: "list"; has_more: boolean; data: Array<{ id: string; object: "subscription"; customer_id: string; product_id: string; status: "trialing" | "active" | "past_due" | "cancelled" | "paused"; quantity?: number; current_period_end?: string; cancel_at_period_end?: boolean; created_at: string }> }>
/** Start a subscription POST /subscriptions */
client.subscriptions.create(args: { body: { customerId: string; productId: string; quantity?: number; trialDays?: number } }): Promise<{ id: string; object: "subscription"; customer_id: string; product_id: string; status: "trialing" | "active" | "past_due" | "cancelled" | "paused"; quantity?: number; current_period_end?: string; cancel_at_period_end?: boolean; created_at: string }>
/** Change a subscription PATCH /subscriptions/{subscriptionId} */
client.subscriptions.update(args: { subscriptionId: string; body: { productId?: string; quantity?: number; prorate?: boolean } }): Promise<{ id: string; object: "subscription"; customer_id: string; product_id: string; status: "trialing" | "active" | "past_due" | "cancelled" | "paused"; quantity?: number; current_period_end?: string; cancel_at_period_end?: boolean; created_at: string }>
…Related
- Code mode tools:
run_code. - Search and code mode: when to offer code mode, and in which languages.
- Practice mode: try scripts against sample data.