Documentation Index
Fetch the complete documentation index at: https://docs.ospribrain.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Brain has 15 specialized tools it can invoke automatically. You never need to tell it which tool to use — the Brain’s planner selects tools based on your question. On the advanced chat page (/chat), you can see which tools are being used in the plan visualization.
1. create_plan
Always called first. Creates a structured research plan before answering.
| Parameter | Type | Description |
|---|
mode | string | base_analysis, competitive_analysis, or writing |
steps | array | List of steps, each with id, label (max 65 chars), and tool |
Available tools for steps: web_search, knowledge_base_search, meeting_intel, reasoning, synthesis, writing, create_document, paper_search, list_todos, create_todo, search_assay_catalog, search_coverage_policies, search_labs, analyze_uploaded_file, add_to_knowledge_vault, run_analysis, create_chart, build_financial_model, computer_use
2. knowledge_base_search
Semantic search across your vault documents using Pinecone.
| Parameter | Type | Description |
|---|
query | string | Natural language search query |
How it works:
- Embeds query using
text-embedding-3-large (1024 dimensions)
- Searches up to 5 Pinecone namespaces (one per vault:
default, sales, science, marketing, etc.)
- Returns top 5 results per namespace, merged and sorted by score
- Final output: top 10 most relevant passages with file names and content
Example prompts that trigger this:
- “What does our SOP say about sample handling?”
- “Find the pricing we quoted to McKesson”
- “What were the key findings in our validation study?“
3. web_search
Searches the web using Tavily for current information.
| Parameter | Type | Description |
|---|
query | string | Search query |
search_depth | string | basic or advanced |
Only available when Search Depth is set to Deep. Returns web results with titles, URLs, and content excerpts.
Example prompts:
- “What is the latest FDA guidance on LDTs?”
- “Current reimbursement rates for CPT 87635”
- “What did competitor X announce last week?“
4. meeting_intel
Searches your meeting transcripts and analysis reports.
| Parameter | Type | Description |
|---|
query | string | Natural language query about meetings |
Only available when you have recorded meetings. Returns meeting titles, dates, relevant transcript excerpts, and speaker attributions.
Example prompts:
- “What did we decide about the multiplex panel?”
- “What action items came out of the board meeting?”
- “Has anyone discussed pricing changes in recent calls?“
5. paper_search
Searches academic literature via Semantic Scholar and PubMed.
| Parameter | Type | Description |
|---|
query | string | Research topic |
fields | string | all, clinical, or recent |
Returns papers with: title, authors, year, citation count, abstract, DOI/URL.
Example prompts:
- “Find recent papers on CRISPR diagnostics for respiratory viruses”
- “What is the latest research on Ct value interpretation?”
- “Studies comparing RT-PCR vs isothermal amplification”
6. create_todo
Creates tasks directly in your To-Dos.
| Parameter | Type | Description |
|---|
title | string | Task name (required) |
priority | string | low, medium, high, or urgent |
section | string | backlog, today, or this_week |
description | string | Task description (optional) |
due_date | string | ISO 8601 date (optional) |
Example prompts:
- “Create a to-do to follow up with Greg by Friday”
- “Add a high-priority task: Review the McKesson contract”
- “Make action items from the last meeting into to-dos”
7. list_todos
Retrieves your to-do list with filtering.
| Parameter | Type | Description |
|---|
status | string | open, in_progress, done, or all |
priority | string | low, medium, high, urgent, or all |
section | string | backlog, today, this_week, done, or all |
Example prompts:
- “What is on my to-do list?”
- “Show me overdue tasks”
- “What high-priority items do I have this week?“
8. search_assay_catalog
Searches your diagnostic assay panel catalog.
| Parameter | Type | Description |
|---|
mode | string | browse_panels or match_targets |
targets | string[] | Target names (only for match_targets mode) |
Example prompts:
- “Do we have an assay for RSV?”
- “What panels include the N gene target?”
- “Match these targets: RSV-A, RSV-B, SARS-CoV-2”
9. create_document
Generates a formatted report or document in the side panel.
| Parameter | Type | Description |
|---|
title | string | Document title |
content_brief | string | Description of what to generate |
The document streams into a side panel with full Markdown formatting. Used for reports, summaries, proposals, and other long-form content.
Example prompts:
- “Generate a meeting summary report”
- “Create a competitive analysis document”
- “Draft a validation protocol outline”
10. analyze_uploaded_file
Analyzes files you have uploaded to the conversation.
| Parameter | Type | Description |
|---|
query | string | What to analyze about the file |
This tool is only available on the advanced chat page (/chat) and only when you have uploaded files with the paperclip. The home page does not send file attachments to the API.
Uses GPT-4o with input_file blocks for direct file analysis.
Example prompts (with file attached):
- “Summarize this contract”
- “What are the main findings in this paper?”
- “Extract all dates and deadlines”
- “Read the text in this image”
11. add_to_knowledge_vault
Stores uploaded files permanently in your Knowledge Vault.
| Parameter | Type | Description |
|---|
file_names | string[] | Specific filenames or ["all"] |
vault_name | string | Target vault (default: "default") |
note | string | Optional note about the files |
Files are stored in Supabase storage, then ingested and indexed for future Brain searches.
Example prompts (with file attached):
- “Add this to the Science vault”
- “Store all uploaded files in the Sales vault”
12. computer_use BETA
Browses live websites, takes screenshots, clicks elements, fills forms, and extracts content using a headless Chromium browser powered by Browserbase.
| Parameter | Type | Description |
|---|
task | string | What to do on the website — screenshot, extract data, click, fill form, etc. |
url | string | Target URL (must start with https:// or http://) |
allowed_domains | string[] | Additional domains the browser may need (optional) |
How it works:
- A Browserbase session launches a remote Chromium browser
- A vision agent (GPT-5.4) sees page screenshots and decides actions step by step
- Each action (navigate, click, type, scroll, extract) executes via Playwright
- Screenshots are captured after every action and displayed inline in the chat
- Extracted data is returned as structured JSON
The agent can handle multi-step interactions: navigating between pages, clicking menus, filling forms, scrolling to load content, and extracting tables or text. If an action fails, it automatically tries alternative approaches.
Example prompts:
- “Go to https://example.com and take a screenshot”
- “Visit our competitor’s pricing page and extract their tiers into a table”
- “Browse to the FDA guidance page and screenshot the latest updates”
- “Go to the conference website and extract the speaker list and schedule”
- “Take a screenshot of https://ospribio.com — does the homepage look correct?”
Beta feature. Computer Use is in active development. The agent may take multiple attempts to interact with complex websites. For sensitive actions (login, form submission, purchases), the agent will request confirmation before proceeding.
Computer Use works best with specific URLs and clear task descriptions. Say what you want to find or do, not just “browse this site.” For general web research without a specific URL, use web_search instead.
13. search_coverage_policies
Searches the insurance coverage policy database (1,200+ policies across 6 payers with 26,000+ code-level coverage rules).
| Parameter | Type | Description |
|---|
mode | string | lookup_code, search_policies, or check_coverage |
codes | string[] | Medical codes to look up (e.g., ["15823", "87631"]) |
code_system | string | CPTCode, HCPCSCode, or ICD-10-CM |
query | string | Text search for policy titles/summaries |
relationship | string[] | Filter: COVERS, DOES_NOT_COVER, REFERENCES |
Modes:
lookup_code — Find all policies that mention specific codes
search_policies — Text search across policy titles and summaries
check_coverage — Filter by coverage relationship (only COVERS, only DOES NOT COVER, etc.)
Results include policy titles, payer names, coverage status, confidence scores, medical necessity conditions, and verbatim policy language.
Example prompts:
- “Is CPT 87631 covered by Cigna?”
- “What are the medical necessity criteria for respiratory panel testing?”
- “Which payers don’t cover CPT 87507?”
- “Find policies about STI testing”
- “Draft an appeal letter for CPT 87631 using BCBS TN’s policy criteria”
14. search_labs
Searches the CLIA lab database containing 671,000 US clinical laboratories (531K active).
| Parameter | Type | Description |
|---|
mode | string | search or lookup |
q | string | Text search for lab names |
clia_number | string | CLIA number for direct lookup |
state | string[] | State codes (e.g., ["CA", "TX"]) |
complexity | string[] | high, moderate, waived, ppm |
lab_type | string[] | independent, hospital, physician_office, reference_lab, etc. |
has_director | boolean | Only labs with NPI-matched director data |
min_volume | number | Minimum annual test volume |
Modes:
search — Filter/search labs with multiple criteria
lookup — Get full details for a specific CLIA number
Results include lab name, address, phone, lab type, complexity, director name/title/phone, test volume, NPI number, and taxonomy codes.
Example prompts:
- “Find high-complexity independent labs in Texas”
- “Look up CLIA number 01D0026356”
- “How many reference labs are in California?”
- “Find labs with more than 100,000 annual tests”
- “Which hospitals in Florida have a lab director named Smith?“
15. ask_clarification
Asks you a clarifying question when your request is ambiguous.
| Parameter | Type | Description |
|---|
question | string | The clarifying question |
suggestions | string[] | 2-4 quick-answer options |
This pauses the Brain’s response and waits for your answer. You can click a suggestion or type a custom response.
The Brain often chains multiple tools in a single response. For example:
Example 1: Assay research report
- You ask: “Compare our RSV assay with published literature and create a report”
- Step 1:
search_assay_catalog (mode: match_targets, targets: [“RSV”])
- Step 2:
paper_search (query: “RSV diagnostic assay performance”)
- Step 3:
knowledge_base_search (query: “RSV validation data”)
- Step 4:
reasoning (synthesize comparison)
- Step 5:
create_document (title: “RSV Assay Comparison Report”)
Example 2: Coverage + lab intelligence
- You ask: “Which payers cover CPT 87631 and how many high-complexity labs are in Tennessee?”
- Step 1:
search_coverage_policies (mode: lookup_code, codes: [“87631”], code_system: “CPTCode”)
- Step 2:
search_labs (mode: search, state: [“TN”], complexity: [“high”])
- Step 3:
reasoning (connect coverage data with lab landscape)
Example 3: Appeal letter with policy citations
- You ask: “Draft an appeal letter for a denied claim on CPT 87631 from BCBS Tennessee”
- Step 1:
search_coverage_policies (mode: check_coverage, codes: [“87631”], relationship: [“COVERS”])
- Step 2:
reasoning (extract relevant medical necessity criteria)
- Step 3:
create_document (title: “Appeal Letter — CPT 87631”)
Set Reasoning Effort to High for complex multi-tool queries. This gives the Brain more time to plan and execute a thorough research process.