rows.page

Push CSV, JSON, JSONL or Parquet from your agent and get a link a human can explore.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
85%
이름 품질
93%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,440토큰 (도구 정의)
~1.8 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.13%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "rows": {
      "url": "https://rows.page/mcp"
    }
  }
}

원격 엔드포인트

https://rows.page/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (6)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟡push(csv, tsv, jsonl, json, rows, ...)

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`).

입력 스키마

{
  "type": "object",
  "properties": {
    "csv": {
      "type": "string",
      "description": "CSV text with a header row"
    },
    "tsv": {
      "type": "string",
      "description": "TSV text with a header row"
    },
    "jsonl": {
      "type": "string",
      "description": "One JSON object per line"
    },
    "json": {
      "description": "A JSON array of objects (or an object holding one), as text or as a value"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Rows as an array of objects"
    },
    "url": {
      "type": "string",
      "description": "http(s) URL of a CSV, TSV, JSON, JSONL or Parquet file to fetch and publish"
    },
    "format": {
      "type": "string",
      "enum": [
        "csv",
        "tsv",
        "json",
        "jsonl",
        "parquet"
      ],
      "description": "Format of url when it cannot be told"
    },
    "name": {
      "type": "string",
      "description": "File name, e.g. orders.csv"
    },
    "title": {
      "type": "string",
      "description": "Dataset title shown on the page"
    },
    "summary": {
      "type": "string",
      "description": "A few sentences for the human: what this is and what to look at"
    },
    "dataset": {
      "type": "string",
      "description": "Existing dataset id to push a new version to"
    },
    "token": {
      "type": "string",
      "description": "Dataset token (rpt_...) proving ownership of dataset"
    },
    "key": {
      "type": "string",
      "description": "Stable name for upserts with an API key, e.g. nightly-orders"
    },
    "id_column": {
      "type": "string",
      "description": "Column that identifies a row across versions, for changed-row diffs"
    },
    "visibility": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "description": "private needs Pro or Max"
    },
    "findings": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Short headline of the finding"
          },
          "note": {
            "type": "string",
            "description": "Why it matters, in a sentence or two"
          },
          "q": {
            "type": "string",
            "description": "Filter in the rows.page query language"
          },
          "sort": {
            "type": "string",
            "description": "Sort, e.g. -price,name"
          },
          "cols": {
            "type": "string",
            "description": "Visible columns, e.g. id,price,country"
          },
          "sql": {
            "type": "string",
            "description": "Optional SQL against the table `data`"
          }
        },
        "required": [
          "title"
        ]
      }
    },
    "source": {
      "type": "string",
      "description": "Where the data came from (URL or description)"
    },
    "run": {
      "type": "string",
      "description": "Run id of the job that produced it"
    },
    "commit": {
      "type": "string",
      "description": "Commit sha of the code that produced it"
    }
  }
}
🟢pin_finding(dataset, token, title, note, q, ...)

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`).

입력 스키마

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "description": "Dataset id"
    },
    "token": {
      "type": "string",
      "description": "Dataset token (rpt_...) when not using an API key"
    },
    "title": {
      "type": "string",
      "description": "Short headline of the finding"
    },
    "note": {
      "type": "string",
      "description": "Why it matters, in a sentence or two"
    },
    "q": {
      "type": "string",
      "description": "Filter in the rows.page query language"
    },
    "sort": {
      "type": "string",
      "description": "Sort, e.g. -price,name"
    },
    "cols": {
      "type": "string",
      "description": "Visible columns, e.g. id,price,country"
    },
    "sql": {
      "type": "string",
      "description": "Optional SQL against the table `data`"
    },
    "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"
    }
  },
  "required": [
    "dataset",
    "title"
  ]
}
🟢get_dataset(dataset, version, token)

Read a dataset: meta, recent versions, findings, columns and the first 20 preview rows.

입력 스키마

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "description": "Dataset id"
    },
    "version": {
      "type": "integer",
      "description": "Version number; latest when omitted"
    },
    "token": {
      "type": "string",
      "description": "Dataset token, needed for private datasets without an API key"
    }
  },
  "required": [
    "dataset"
  ]
}
🟢list_datasets(cursor)

List the datasets kept on your account, newest first. Needs an API key.

입력 스키마

{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string",
      "description": "next_cursor from the previous page"
    }
  }
}
🔴delete_dataset(dataset, token)

Delete a dataset you own. Its URL stops working immediately.

입력 스키마

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "description": "Dataset id"
    },
    "token": {
      "type": "string",
      "description": "Dataset token when not using an API key"
    }
  },
  "required": [
    "dataset"
  ]
}
🟢get_limits

Show your plan, its caps (file size, datasets, version history) and usage.

입력 스키마

{
  "type": "object",
  "properties": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개