Research Scout
Tools for reading Research Scout Discovery programs, their records, history, and usage, and for submitting provisional cited research.
Research Scout Discovery programs are research investigations your organization runs in DealTraq, such as mapping a market around a company. Programs are private to your organization. These tools read what a program has found and let your assistant contribute research when you ask.
None of these tools start or rerun Research Scout research.
list_discovery_programs
Read · Cost 4
Lists your organization's Discovery programs, optionally only those linked to one company.
| Input | Type | Required | Description |
|---|---|---|---|
companyId | UUID | No | Only programs linked to this company. |
pageSize | integer, 1 to 50 | No | Programs per page. Defaults to 20. |
page | integer, 1 or more | No | Page number. Set by nextRequest. |
Notes
- Follow
nextRequestuntilcoverage.completeistrue. get_company_research_contextalready includes the first 10 programs for a company.
Example: Do we have any Research Scout programs on Acme?
get_discovery_view
Read · Cost 8
Returns the compact Research or Market view of a program: its findings,
evidence, freshness, and a link to the full investigation in DealTraq. The
result also includes the program's current basisHash, which is needed to
submit research.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program to read. |
view | research or market | Yes | Which view to return. |
Example: Summarize the market view from Acme's Research Scout program.
read_discovery_collection
Read · Cost 8
Pages through one set of records in a program, such as its sources,
evidence, questions, candidates, findings, relationships, runs, map
(atlas_*) and overview (overview_*) records, or provisional
contributions.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program to read. |
collection | collection name | Yes | The record set, for example findings or sources. |
limit | integer, 1 to 20 | No | Records per page. Defaults to 10. |
offset | integer | No | Page position. Set by nextRequest. |
Notes
- Follow
nextRequestuntilcoverage.completeistrue. If the collection changes between pages, the result is markedSTALEand restarts.
Example: List every finding in Acme's Discovery program with its sources.
get_discovery_contribution
Read · Cost 4
Reads one provisional research contribution submitted to a program, including the exact citations it supplied.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program the contribution belongs to. |
contributionId | UUID | Yes | The contribution to read. |
Example: Show me the research I submitted to Acme's program yesterday.
read_discovery_history
Read · Cost 6
Pages through a program's retained history, such as source versions,
decisions, launches, identity records, guidance, campaigns, research runs,
and usage. Large fields come with a read_discovery_payload request.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program to read. |
collection | history collection name | Yes | The history set, for example research_runs or dispositions. |
limit | integer, 1 to 20 | No | Records per page. Defaults to 10. |
afterId | string | No | Page position. Set by nextRequest. |
Example: What decisions has the team made in Acme's Discovery program, and when?
read_discovery_payload
Read · Cost 8
Reads one large historical field, such as a source's text or a research run's output, in chunks. No storage link is exposed.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program the record belongs to. |
kind | payload kind | Yes | The field to read, for example source_text or research_output. |
recordId | UUID | Yes | The record that holds the field. |
maxChars | integer, 1 to 16,000 | No | Characters per chunk. Defaults to 8,000. |
offset | integer | No | Chunk position. Set by nextRequest. |
Notes
- Follow
nextRequestuntilcoverage.completeistrue. If the field changes, the result is markedSTALEand restarts.
Example: Read the full output of the last research run on Acme's program.
get_discovery_usage
Read · Cost 6
Shows a program's usage and estimated cost over time, broken down by branch and track.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program to read. |
range | hour, day, week, or all | No | Time range. Defaults to all. |
Example: How much has Acme's Research Scout program cost so far this week?
read_discovery_stage_records
Read · Cost 6
Pages through a program's discovery, verification, and evaluation stage records, including past failures.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program to read. |
limit | integer, 1 to 100 | No | Records per page. Defaults to 25. |
afterId | UUID | No | Page position. Set by nextRequest. |
Example: Which candidates failed verification in Acme's program, and why?
submit_discovery_research
Write — immediate · Cost 10
Saves research your assistant did outside Research Scout to a program as a provisional contribution, with source citations. It is stored right away for your team to review, but it does not change the program's current findings or any human decisions, and it does not start Scout research. Your assistant should use it only when you ask.
| Input | Type | Required | Description |
|---|---|---|---|
programId | UUID | Yes | The program to contribute to. |
contribution.schemaVersion | discovery-mcp-contribution/v1 | Yes | Contribution format. |
contribution.expectedBasisHash | string | Yes | The current basisHash from get_discovery_view. |
contribution.idempotencyKey | string, 8 to 200 characters | Yes | Stable key for this contribution. |
contribution.sources | array, 1 to 12 | Yes | Sources inspected, each with a key, title, HTTPS url, and observedAt. |
contribution.findings | array, 1 to 30 | Yes | Findings, each marked SUPPORTS, CHALLENGES, or OPEN_QUESTION, with 1 to 12 citations. |
contribution.candidates | array, up to 30 | Yes | People, companies, institutions, research groups, or technologies found (can be empty). |
contribution.relationships | array, up to 30 | Yes | Relationship hints (can be empty). |
contribution.searchedLocations | array, up to 20 | Yes | Where your assistant looked (can be empty). |
contribution.gaps | array, up to 20 | Yes | What could not be found (can be empty). |
contribution.scope | string, up to 6,000 characters | Yes | What the contribution covers. |
Notes
- The contribution is limited to 64 KB.
- Read it back with
get_discovery_contributionor thecontributionscollection.
Example: Add the three competitors you found to Acme's Research Scout program as provisional research, with sources.