list_objects
Lists objects in a MinIO storage bucket to view and manage stored files. Use optional filters like prefix and recursive search to organize content.
Instructions
列出存储桶中的对象
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bucketName | Yes | 存储桶名称 | |
| prefix | No | 对象名前缀(可选) | |
| recursive | No | 是否递归列出 |
Implementation Reference
- src/index.ts:395-413 (handler)MCP tool handler for list_objects: parses arguments with Zod, calls MinIO client to list objects, formats and returns the result as text content.case 'list_objects': { const { bucketName, prefix, recursive } = z.object({ bucketName: z.string(), prefix: z.string().optional(), recursive: z.boolean().default(false) }).parse(args); const objects = await this.minioClient.listObjects(bucketName, prefix, recursive); return { content: [ { type: 'text', text: `存储桶 ${bucketName} 中找到 ${objects.length} 个对象:\n${objects.map(obj => `- ${obj.name} (大小: ${obj.size} 字节, 修改时间: ${obj.lastModified.toISOString()})` ).join('\n')}` } ] }; }
- src/minio-client.ts:81-101 (helper)Core implementation of object listing using MinIO client's listObjects stream, collects ObjectInfo into array.async listObjects(bucketName: string, prefix?: string, recursive: boolean = false): Promise<ObjectInfo[]> { this.ensureConnected(); return new Promise((resolve, reject) => { const objects: ObjectInfo[] = []; const stream = this.client!.listObjects(bucketName, prefix, recursive); stream.on('data', (obj: any) => { objects.push({ name: obj.name, size: obj.size, lastModified: obj.lastModified, etag: obj.etag, isDir: obj.name.endsWith('/') }); }); stream.on('error', reject); stream.on('end', () => resolve(objects)); }); }
- src/index.ts:122-134 (registration)Tool registration in ListTools handler: defines name, description, and input schema for list_objects.{ name: 'list_objects', description: '列出存储桶中的对象', inputSchema: { type: 'object', properties: { bucketName: { type: 'string', description: '存储桶名称' }, prefix: { type: 'string', description: '对象名前缀(可选)' }, recursive: { type: 'boolean', description: '是否递归列出', default: false } }, required: ['bucketName'] } },
- src/index.ts:396-400 (schema)Zod schema validation for list_objects input arguments in the handler, matching the registered inputSchema.const { bucketName, prefix, recursive } = z.object({ bucketName: z.string(), prefix: z.string().optional(), recursive: z.boolean().default(false) }).parse(args);