Skip to main content
Glama
getsimba-ai

Simba MCP Server

Official
by getsimba-ai

List Uploads

list_uploads
Read-onlyIdempotent

List datasets in your workspace, newest first, to locate uploads by filename or ID. Returns metadata including source type, row and column counts for filtering and paging.

Instructions

List the datasets in your workspace (newest first) — every source, not just API uploads: dashboard/manual uploads and pipeline-ingested datasets appear too (see source_type per file).

Returns {files, count, limit, offset} where each file has: id (the uploaded_file_id create_model needs), filename, original_filename, source_type, row_count, column_count, created_at. Here count IS the true total matching the filter (unlike list_runs, where it is the page length). Column names/dtypes are not in the listing — fetch one upload with get_upload for those.

Args: limit: Page size (API clamps to 1-500; default 50). offset: Rows to skip (paging). name: Optional case-insensitive substring filter on the original filename.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
limitNo
offsetNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.5.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "list_uploadsDictOutput",
      +  "type": "object"
      +}
  2. First observedv0.3.2

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description goes well beyond these by revealing behavioral specifics: the ordering, the inclusion of non-API sources, the true count semantics, pagination behavior (limit/offset), and the omission of column details. No contradiction exists; the description adds significant value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it opens with the core purpose, then covers the return shape and key behavioral differences, and finally lists parameters. Every sentence adds value—there is no fluff. The contrast with list_runs and the pointer to get_upload are concise and purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema is present (has_output_schema: true) and the description already details the return structure, pagination, filtering, and caveats, the definition is complete for an agent to call this tool correctly. It even points to get_upload for missing details, covering all likely follow-up needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden of explaining parameters. It does so explicitly: 'limit: Page size (API clamps to 1-500; default 50)', 'offset: Rows to skip (paging)', and 'name: Optional case-insensitive substring filter on the original filename.' This fully compensates for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List'), a specific resource ('datasets in your workspace'), and an ordering ('newest first'). It also clarifies the scope ('every source, not just API uploads') and explicitly contrasts with list_runs regarding count semantics, which distinguishes it from a sibling tool without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (to list uploads) and provides a clear alternative for a specific need: 'fetch one upload with get_upload for those' when column names/dtypes are required. It also contrasts with list_runs on the meaning of 'count', which is helpful for routing. However, it does not explicitly state 'use this when you need to list uploads' or list exclusions for other scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.