Research runs powered by MCP tasks — kick off long-running research and track progress in real time.
Three tools with mixed quality. start_research has excellent description (250+ chars, task-augmented, clear prerequisites) and detailed schema with proper types and descriptions. list_research_runs and delete_research_run lack visible input schemas in source code, only parameter names are documented. Descriptions are present but generic. No tool annotations (readOnlyHint, destructiveHint) despite clear risk profiles. Error handling guidance is minimal across all tools.
Delete a research run entity from the Upjack entity store.
List research run entities from the Upjack entity store.
Run a research task on the given query. Supports MCP task augmentation — clients that advertise `tasks.requests.tools.call` may wrap the request with a `task` field to receive a CreateTaskResult and poll via tasks/get; clients that do not will block until the research completes and receive the full report inline. Either way, the server creates a `research_run` entity and updates its progress in real time so the Synapse UI can render live status. The worker typically takes ~60 seconds to 3 minutes and returns a markdown report. Pass `title` (3-8 word label) when you already know the topic — saves a background LLM call the server would otherwise make to derive one. Two ways to anchor research on existing material (use exactly one): `seed_uri` is a `files://` URI the server reads itself via the host's `ai.nimblebrain/host-resources` extension — preferred when the host advertises the extension, since the agent doesn't have to load file bytes through its own context. `seed_data` is raw text passed inline by the agent — the universal fallback that works on every host. If the host doesn't support host-resources and `seed_uri` is provided, the tool returns a clear error telling the agent to retry with `seed_data` instead.
list_research_runs and delete_research_run lack visible input schemas in source code. Only parameter names documented; no type definitions, constraints, or descriptions visible.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles. delete_research_run is DESTRUCTIVE but unmarked; list_research_runs is READ_ONLY but unmarked.
Descriptions for list_research_runs and delete_research_run are under 50 characters and lack context. No guidance on when to call them, what they return, or error recovery.
start_research description mentions task augmentation and host-resources extension but lacks explicit error guidance. No recovery hints for missing extension or seed_uri resolution failures.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
No pagination or result limits documented for list_research_runs. Unbounded 'limit' parameter could return thousands of entities, bloating context.