cos_get_object
Download an object from an IBM Cloud Object Storage bucket by providing the bucket name and object key.
Instructions
Download/get an object from a bucket
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bucket_name | Yes | ||
| object_key | Yes | ||
| region | No |
Implementation Reference
- src/tools/cos/index.ts:54-58 (handler)Handler for cos_get_object tool: performs a GET request to download an object from a COS bucket. Accepts bucket_name, object_key, and optional region. Uses safeTool wrapper for error handling.
server.tool("cos_get_object", "Download/get an object from a bucket", { bucket_name: z.string(), object_key: z.string(), region: z.string().optional(), }, async (p) => safeTool(() => client.get(`${s3(p.region||r)}/${p.bucket_name}/${encodeURIComponent(p.object_key)}`) )); - src/tools/cos/index.ts:55-56 (schema)Input schema for cos_get_object: validates bucket_name (string), object_key (string), and optional region (string).
bucket_name: z.string(), object_key: z.string(), region: z.string().optional(), }, async (p) => safeTool(() => - src/tools/cos/index.ts:54-58 (registration)Registration of cos_get_object tool via MCP server.tool() with the name 'cos_get_object'.
server.tool("cos_get_object", "Download/get an object from a bucket", { bucket_name: z.string(), object_key: z.string(), region: z.string().optional(), }, async (p) => safeTool(() => client.get(`${s3(p.region||r)}/${p.bucket_name}/${encodeURIComponent(p.object_key)}`) )); - src/tools/cos/index.ts:7-7 (registration)The registerCOSTools function is called from src/server.ts to register all COS tools including cos_get_object.
export function registerCOSTools(server: McpServer, client: IBMCloudAPIClient, config: ServerConfig) { - src/lib/api-client.ts:128-130 (helper)The client.get() helper method called by the handler. Delegates to this.request() with HTTP GET method.
async get<T = unknown>(url: string, queryParams?: Record<string, string | number | boolean | undefined>): Promise<T> { return this.request<T>(url, { method: "GET", queryParams }); }