https://mostlyright.md/api/mcp ↗
Search, sample and query open reproducible datasets published as immutable Parquet with schemas.
Mostly Right is a remote MCP server published at mostlyright.md. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 1,130 ms, a delay an agent will notice. It exposes a broad tool surface of 34 tools. On the protocol side it still runs 2025-11-25 and has not moved to the newer spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Legacy | 400 | 1266 | 200 | 1268 | 2025-11-25 |
| 2026-09-12 23:31:36 | Legacy | 400 | 1970 | 200 | 1971 | 2025-11-25 |
| 2026-09-12 21:29:15 | Legacy | 400 | 1104 | 200 | 1121 | 2025-11-25 |
| 2026-09-12 19:27:29 | Legacy | 400 | 830 | 200 | 816 | 2025-11-25 |
| 2026-09-12 17:24:09 | Legacy | 400 | 1130 | 200 | 1141 | 2025-11-25 |
| 2026-09-12 15:21:42 | Legacy | 400 | 1084 | 200 | 1072 | 2025-11-25 |
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
search_datasetsFull-text search over every public dataset on Mostly Right. No account needed. Example: {"query": "hourly airport weather observations", "limit": 10}. Returns {datasets: [{id, slug, title, summary, topics, publisher, published_at, canonical_url}], next_cursor}. publisher is the ACCOUNT that published the dataset here, never the organisation that publishes the data it was built from — those are named on the dataset page as its sources. Pass next_cursor back as `cursor` for the next page; a null next_cursor means there are no more. Omit `query` to list the most recently published datasets. Follow up with get_dataset(slug) for tables and schemas.
querystringtopicstringlimitintegercursorstringget_datasetOne dataset's overview: title, summary, topics, publisher, publication and update dates, canonical page URL, star and table counts, and every table with its id, title, license, immutable version_id, column count, column names and the capabilities the publisher enabled. Here and everywhere in this tool, publisher means the ACCOUNT that published the dataset — not the organisation the data was gathered from, which is a source's own publisher. Example: {"slug": "kden-metar-hourly"}. Column types, descriptions, units and published profiles are NOT here — call get_table_schema for one table when you need them. Use the returned table `id` (a UUID) with get_table_schema, sample_rows and query_table. Cite the dataset by canonical_url and the table by version_id.
slugstringrequiredlist_tablesThe tables in one dataset, without the full column schemas — the cheap call when you only need table ids and titles. Example: {"dataset_slug": "kden-metar-hourly"}. Returns {dataset_slug, tables: [{id, slug, title, license, version_id, capabilities}]}. Use get_dataset instead when you also want columns.
dataset_slugstringrequiredget_table_schemaOne table's columns (name, type, and any published profile such as null counts, distinct counts or ranges), its immutable version_id, and its capabilities: whether anonymous sampling, keyed querying and Parquet download are enabled. Example: {"table_id": "0f2f6bfa-4a63-4f75-9a0b-1a7d9c5b2e10"}. Read this before writing a query_table call: the column names it lists are the only ones the query grammar accepts.
table_idstringrequiredsample_rowsThe publisher's materialized preview of a table — real rows, no account, no query cost. 20 rows by default, 100 at most, and they are always the same rows: this is a sample for understanding shape and values, NOT a query. Example: {"table_id": "0f2f6bfa-4a63-4f75-9a0b-1a7d9c5b2e10", "limit": 20}. Returns {table, columns, rows, row_count, total_row_count, sample_truncated} — total_row_count is how many rows the whole table holds, which is usually far more than the sample. To filter, sort, aggregate or read beyond the sample, use query_table, which needs a workspace key.
table_idstringrequiredlimitintegerget_download_instructionsThe exact URL, HTTP method and header for downloading one table's current immutable Parquet snapshot, plus whether the publisher enabled it. Example: {"table_id": "0f2f6bfa-4a63-4f75-9a0b-1a7d9c5b2e10"}. Bytes are never streamed through MCP: this returns the request to make yourself. Downloading needs an mr_use_ workspace key; the result includes how to get one. Prefer this over paging a whole table through query_table.
table_idstringrequiredget_access_instructionsWhat this server does anonymously, what needs an account, the two API key classes and what each unlocks, the OAuth option, the signup URL, and the numbered steps from 'no account' to 'querying rows'. Optionally pass {"dataset_slug": "kden-metar-hourly"} to get the link to that dataset's page, which is where a key is minted. Call this whenever a tool refuses for want of authentication, or before telling a user they need to sign up.
dataset_slugstringsearchSearch every public dataset on Mostly Right and return up to 20 matches as {results: [{id, title, url}]}, where `id` is the dataset slug and `url` its canonical page. No account needed. Example: {"query": "hourly airport weather observations"}. Pass a result's `id` straight to fetch for the full dataset document. This is the plain search-and-fetch pair; search_datasets is the richer, paged version with topics, publishers and summaries.
querystringrequiredfetchThe full public document for one dataset as Markdown: summary, facts, access instructions, and every table with its columns, types, descriptions and units. No account needed. Example: {"id": "kden-metar-hourly"} — the `id` is a slug from search, and a canonical dataset URL works too. Returns {id, title, text, url, metadata: {slug, publisher, published_at, table_count, topics}}. publisher is the account that published the dataset, not the source it was gathered from. Cite the dataset by `url`. For machine-readable table ids and schemas, call get_dataset and get_table_schema instead.
idstringrequiredquery_tableA bounded, structured query over one table's current version. NO SQL: send columns, filters, order_by, aggregates and limit as JSON. Example: {"table_id": "0f2f...", "columns": ["observed_at", "air_temp_f"], "filters": [{"column": "air_temp_f", "operator": "gte", "value": 80}], "order_by": [{"column": "observed_at", "direction": "desc"}], "limit": 50}. Ceilings: 20 columns, 8 filters, 2 sort keys, 4 aggregates, 10000 rows a page (25 when limit is omitted), 8 MiB of JSON. Every page answers with next_cursor; send it back as cursor (same columns, filters and order_by) for the next page until it is null, and you have read the whole table on one immutable version. Operators: eq, neq, in, gt, gte, lt, lte, is_null, is_not_null. Requires an mr_use_ workspace key (Authorization: Bearer) or an OAu
table_idstringrequiredcolumnsarrayrequiredfiltersarrayorder_byarrayaggregatesarraylimitintegeroffsetintegercursorstringcatalog_searchSearch a sealed snapshot of public data sources for feeds that might answer a question — the first move when you need a source and do not already know one. Example: {"question": "county unemployment rate monthly", "limit": 10, "format": "csv"}. READ THIS BEFORE YOU TRUST A RESULT. The snapshot indexes ONE provider, Data.gov, and only part of it: about 22,000 records were catalogued out of the ~550,000 Data.gov lists, and only about a thousand of those record which data formats they publish. So a miss is NOT evidence that no such source exists — go and look yourself — and a hit is a lead to open and read, never a source anyone has verified. Returns {status, question, requirement, generation, candidates, work}. `generation` says which sealed snapshot answered and when it was published; cite
questionstringrequiredlimitintegerformatstringlist_connected_datasetsThe public datasets the authenticated workspace has used so far. Takes no arguments. query_table is not limited to this list: a key reads any public dataset (connecting it on first use) and the workspace's own tables; an OAuth connection reads any public dataset it has datasets:use for, or connect_dataset first. Returns {workspace_id, datasets: [{slug, title, use_id, connected_at, canonical_url}]}. An empty list means nothing has been used yet.
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Derived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/md-mostlyright-datasets)<a href="https://mcpmetrics.io/servers/md-mostlyright-datasets"><img src="https://mcpmetrics.io/badge/md.mostlyright/datasets/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
Count characters in a search query. Query discarded.
Search books and authors across Open Library, the Internet Archive open catalog.
Public fellowship and grant search with sourced details and live filter vocabularies.
UK neighbourhood research from government open data: postcode reports, comparisons, 45 datasets.
Discover, resolve, and query official Brazilian economic data with semantic search and provenance.
Live academic data across 101 US colleges and universities — directly inside Claude. Search real course catalogs updated every 60 minutes, find faculty with active NIH grants, compare schools head-to-head on any topic, navigate from a career goal to the exact courses and professors that get you there. 19 tools covering course search, faculty research, degree requirements, career outcomes, and cross-school comparison. Set your student profile once and every subsequent call filters and ranks results automatically completed courses removed, results ranked by your career targets and interests. Used for: choosing between schools, planning a semester, finding a research advisor, verifying prerequisites, mapping a path from "I want to work in climate policy" to the specific courses and funded labs at Yale, Columbia, and MIT that lead there.
Comments
Sign in to write a comment
No comments yet. Be the first.