Push CSV, JSON, JSONL or Parquet from your agent and get a link a human can explore.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Delete a dataset you own. Its URL stops working immediately.
Dataset id
Dataset token when not using an API key
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Delete a dataset you own. Its URL stops working immediately.
| Argument | Type | Description |
|---|---|---|
| token | string | Dataset token when not using an API key |
| dataset* | string | Dataset id |
{
"type": "object",
"required": [
"dataset"
],
"properties": {
"token": {
"type": "string",
"description": "Dataset token when not using an API key"
},
"dataset": {
"type": "string",
"description": "Dataset id"
}
}
}Read a dataset: meta, recent versions, findings, columns and the first 20 preview rows.
| Argument | Type | Description |
|---|---|---|
| token | string | Dataset token, needed for private datasets without an API key |
| dataset* | string | Dataset id |
| version | integer | Version number; latest when omitted |
{
"type": "object",
"required": [
"dataset"
],
"properties": {
"token": {
"type": "string",
"description": "Dataset token, needed for private datasets without an API key"
},
"dataset": {
"type": "string",
"description": "Dataset id"
},
"version": {
"type": "integer",
"description": "Version number; latest when omitted"
}
}
}Show your plan, its caps (file size, datasets, version history) and usage.
No arguments.
{
"type": "object",
"properties": {}
}List the datasets kept on your account, newest first. Needs an API key.
| Argument | Type | Description |
|---|---|---|
| cursor | string | next_cursor from the previous page |
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"description": "next_cursor from the previous page"
}
}
}Pin a finding (a saved, titled view) to a dataset you own. Finding views use the rows.page query language in q: `word` or `"two words"` searches text columns; `field:value`, `field:"a b"`, `-field:value`, `field:*` (not null), `-field:*` (null), `field:foo*` (prefix); `field:>20`, `>=`, `<`, `<=`, `field:10..20`, ISO dates (`at:>2026-09-01`); dot paths for nested JSON (`payload.customer.country:NL`); `tags:urgent` means the list contains it; combine with `OR` and parentheses. A q starting with SELECT, WITH or FROM runs as SQL against the table `data`. sort is comma-separated columns, `-` for descending (`-price,name`); cols picks and orders visible columns (`a,b,c`).
| Argument | Type | Description |
|---|---|---|
| q | string | Filter in the rows.page query language |
| sql | string | Optional SQL against the table `data` |
| cols | string | Visible columns, e.g. id,price,country |
| note | string | Why it matters, in a sentence or two |
| sort | string | Sort, e.g. -price,name |
| title* | string | Short headline of the finding |
| token | string | Dataset token (rpt_...) when not using an API key |
| dataset* | string |
Publish rows as a rows.page dataset (or a new version of one) and get a shareable URL. Pass exactly one of csv, tsv, jsonl, json, rows or url. Up to 16 MB inline; use url for bigger files. Identical content returns unchanged: true without a new version. Re-pushes report rows_delta, columns_added/removed and a diff_url. Anonymous datasets expire after 7 days unless kept. Finding views use the rows.page query language in q: `word` or `"two words"` searches text columns; `field:value`, `field:"a b"`, `-field:value`, `field:*` (not null), `-field:*` (null), `field:foo*` (prefix); `field:>20`, `>=`, `<`, `<=`, `field:10..20`, ISO dates (`at:>2026-09-01`); dot paths for nested JSON (`payload.customer.country:NL`); `tags:urgent` means the list contains it; combine with `OR` and parentheses. A q starting with SELECT, WITH or FROM runs as SQL against the table `data`. sort is comma-separated columns, `-` for descending (`-price,name`); cols picks and orders visible columns (`a,b,c`).
| Argument | Type | Description |
|---|---|---|
| csv | string | CSV text with a header row |
| key | string | Stable name for upserts with an API key, e.g. nightly-orders |
| run | string | Run id of the job that produced it |
| tsv | string | TSV text with a header row |
| url | string | http(s) URL of a CSV, TSV, JSON, JSONL or Parquet file to fetch and publish |
| json | any | A JSON array of objects (or an object holding one), as text or as a value |
| Dataset id |
| version | integer | Pin to this version instead of the latest |
| row_count | integer | Rows matching the view, if you know it |
{
"type": "object",
"required": [
"dataset",
"title"
],
"properties": {
"q": {
"type": "string",
"description": "Filter in the rows.page query language"
},
"sql": {
"type": "string",
"description": "Optional SQL against the table `data`"
},
"cols": {
"type": "string",
"description": "Visible columns, e.g. id,price,country"
},
"note": {
"type": "string",
"description": "Why it matters, in a sentence or two"
},
"sort": {
"type": "string",
"description": "Sort, e.g. -price,name"
},
"title": {
"type": "string",
"description": "Short headline of the finding"
},
"token": {
"type": "string",
"description": "Dataset token (rpt_...) when not using an API key"
},
"dataset": {
"type": "string",
"description": "Dataset id"
},
"version": {
"type": "integer",
"description": "Pin to this version instead of the latest"
},
"row_count": {
"type": "integer",
"description": "Rows matching the view, if you know it"
}
}
}| name |
| string |
| File name, e.g. orders.csv |
| rows | array | Rows as an array of objects |
| jsonl | string | One JSON object per line |
| title | string | Dataset title shown on the page |
| token | string | Dataset token (rpt_...) proving ownership of dataset |
| commit | string | Commit sha of the code that produced it |
| format | string | Format of url when it cannot be told |
| source | string | Where the data came from (URL or description) |
| dataset | string | Existing dataset id to push a new version to |
| summary | string | A few sentences for the human: what this is and what to look at |
| findings | array |
| id_column | string | Column that identifies a row across versions, for changed-row diffs |
| visibility | string | private needs Pro or Max |
{
"type": "object",
"properties": {
"csv": {
"type": "string",
"description": "CSV text with a header row"
},
"key": {
"type": "string",
"description": "Stable name for upserts with an API key, e.g. nightly-orders"
},
"run": {
"type": "string",
"description": "Run id of the job that produced it"
},
"tsv": {
"type": "string",
"description": "TSV text with a header row"
},
"url": {
"type": "string",
"description": "http(s) URL of a CSV, TSV, JSON, JSONL or Parquet file to fetch and publish"
},
"json": {
"description": "A JSON array of objects (or an object holding one), as text or as a value"
},
"name": {
"type": "string",
"description": "File name, e.g. orders.csv"
},
"rows": {
"type": "array",
"items": {
"type": "object"
},
"description": "Rows as an array of objects"
},
"jsonl": {
"type": "string",
"description": "One JSON object per line"
},
"title": {
"type": "string",
"description": "Dataset title shown on the page"
},
"token": {
"type": "string",
"description": "Dataset token (rpt_...) proving ownership of dataset"
},
"commit": {
"type": "string",
"description": "Commit sha of the code that produced it"
},
"format": {
"enum": [
"csv",
"tsv",
"json",
"jsonl",
"parquet"
],
"type": "string",
"description": "Format of url when it cannot be told"
},
"source": {
"type": "string",
"description": "Where the data came from (URL or description)"
},
"dataset": {
"type": "string",
"description": "Existing dataset id to push a new version to"
},
"summary": {
"type": "string",
"description": "A few sentences for the human: what this is and what to look at"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"q": {
"type": "string",
"description": "Filter in the rows.page query language"
},
"sql": {
"type": "string",
"description": "Optional SQL against the table `data`"
},
"cols": {
"type": "string",
"description": "Visible columns, e.g. id,price,country"
},
"note": {
"type": "string",
"description": "Why it matters, in a sentence or two"
},
"sort": {
"type": "string",
"description": "Sort, e.g. -price,name"
},
"title": {
"type": "string",
"description": "Short headline of the finding"
}
}
},
"maxItems": 20
},
"id_column": {
"type": "string",
"description": "Column that identifies a row across versions, for changed-row diffs"
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "private needs Pro or Max"
}
}
}