https://mcp.research.prbe.ai/mcp. It ships inside the tracking plugin, so a plugin install needs no extra step.
Six tools
Thin harness, fat skills. Coverage grows through
entity’s view and filters parameters, never through more tools. browse is the one addition that cleared that bar, because search ranks by relevance to a query and therefore needs you to already know what to search for.find_papers
Modes: search, read, similar.
Use the host agent’s own web tools for general web search and opening URLs.
Budgets and pagination
Every tool acceptstoken_budget and cursor.
The frozen
o200k_base encoding ships in the package and works offline. These are tool-text reference counts, not model-specific billing.
A fitting result keeps its view shape. A larger one returns bounded pages plus an opaque next_cursor: resume by passing it back as cursor with the same tool, references, view, filters and other arguments. token_budget may change between pages.
Fragments
An oversized document or record usesdata.format="text_fragment" or "json_fragment". Within one fragment sequence, concatenate data.text in offset order; total_chars, sha256 and complete describe that sequence. Decode JSON only after its sequence is complete. The outer next_cursor can still lead to another source page or batch item.
Document reads use a saved version when one exists, or pin the original text prefix — so later appends are allowed while edits or deletions of that prefix are rejected. Full JSON reads reject substantive changes rather than splicing different records together.
entity
kind: prefix on the slug or UUID that browse and search return; team-note addresses the shared team document.
card is the default and returns available_views for that entity — so one call tells you what else you can ask for. The matrix above is documentation, not something to memorise. An unrecognised ref kind is rejected outright rather than guessed at.
Selecting a field
Notes and summaries
notes reads operational notes. On a project or experiment:
An excerpt reports
truncated: false when complete, or truncated: true with a detail door.
Artifacts and groups carry no notes; read what a file is from its run’s or experiment’s notes.
Reading a file
content returns a file’s own text in 40-line sections, with its SHA-256: page with start_line, or search within it with grep and context_lines. It works for any file, whatever it is filed under. A binary file, a file over 2 MiB and a reference refuse, and name probe artifact download <id> instead.
Datasets, checkpoints and sources
The data catalog’s kinds are entities too:dataset:<name> (or dataset:<name>@<N>), checkpoint:<run>@best, @latest or @step<N>, and source:<key>[@<revision>]. versions is a dataset’s version list, or a checkpoint’s run’s other saves. lineage is the provenance walk, which reaches sources: what it came from, or with view_options={"direction": "downstream"} what used it (depth 1–8; steps asks for the methods view).
Artifacts resolve by name
Because the reuse check has a name and not an id. The lookup runs against the shared, lab-wide level, which is where an official artifact is promoted to.">=2.0" is rejected rather than silently matching nothing. A name that exists with no satisfying version returns state="no_match" with the versions that do exist, so you can see the real ceiling. A name carried by more than one shared artifact is an error naming both ids.
metrics
One question about grain, asked with an argument rather than three tools.
A
series row is never split: one too big for token_budget is refused with the budget it needs (min_token_budget).
browse
Each mode refuses arguments it does not read. At the lab root,
tree also lists your runs that are not filed in a project yet (unfiled).
Defaults to limit=10 per source list and uses backend-issued positions, so nested children and independent project lists are preserved under one output cap. Its backend must support continuation handles; legacy browse cursors require a fresh read.
Removed tools
get_metrics_grouped, get_run_coordinates, export_metric_points, research_context, research_search, research_get, research_compare and research_resolve have been removed. They answered as delegations or aliases for one release; that window has closed and calls to them now fail as unknown tools. search_knowledge was renamed search with no alias: a session started before the rename gets an unknown-tool error until it restarts.
There is no trace-file tool — no backend trace index has ever existed, so it answered matches: [] to every query, which agents read as “this file has no lineage”. To trace a path, URI or hash, use search (its exact channel matches artifacts) and follow entity(view="lineage").