Ambodi Drive MCP Server
Ambodi Drive exposes 21 public tools on this MCP endpoint.
- Host
- ambodi.com
- Tools
- 21
- Connection URL
- https://ambodi.com/mcp
Tools
run_skill
Execute a health skill deterministically, self-fetching all context data. Loads the named skill, fetches the user's latest indicator values for all LOINC codes referenced in the skill's triggers and recall sections, builds the expression context from DB data + patient profile, and runs the full SkillEngine pipeline. Available skills: - ``"cgm_glucose_management"`` — **CGM blood glucose analysis**. Reads 5-min Yuwell CGM data from series_data, runs biorhythm pipeline (meal detection, parameter ex
list_skill
List dynamically registered skills available to the current user.
read_skill_document
Read the full document for a dynamically registered skill.
execute_python_code
Execute Python code in sandbox with file access. The code runs in an isolated sandbox with access to uploaded files. Inside the sandbox: - read input files from /home/user/input/ - write generated files to /home/user/output/ Files in /home/user/output/ matching the output patterns will be downloaded back to the workspace and appear under /workspace/output/. /workspace/output is the published workspace path after execution, not a writable sandbox path, so do not write to it from sandbox code.
run_skill_script
Run a skill script in sandbox with automatic file sync. This tool executes Python scripts from the skills directory in an isolated sandbox. Input files are automatically uploaded, and output files are downloaded back to the workspace.
workspace_execute
Execute Python code in the sandbox using session workspace paths and/or file_ids.
workspace_list
List files in workspace directory.
discover
Return a complete health overview for the current user in one call. This is the recommended first tool call for any conversation. It returns: - **patient**: demographics (name, gender, birth), total indicators, and data span - **skills_available**: applicable health assessment skills - **data_gaps**: missing indicators for skill evaluations Use ``query`` to filter results to a specific topic (e.g. "liver", "blood pressure", "diabetes"). Without query, returns the full overview. After discover, u
query_data
Execute a read-only SQL query on the user's health data. **CGM / continuous glucose data**: Do NOT use query_data for CGM blood glucose analysis. CGM readings are in series_data, not in _user_data (th_series_data). Use ``run_skill(skill_name="cgm_glucose_management")`` instead. Use this tool when you need full SQL expressiveness: aggregation, window functions, CTEs, subqueries, CASE expressions, etc. The query runs directly on the database — no pagination needed. **Table: _user_data** (pre-filte
compute
Run pandas/numpy code on an indicator's time-series data. The code runs in a sandbox with pre-loaded variables: - ``df`` — DataFrame with columns (date, value) for the primary indicator. - ``pd``, ``np`` — pandas and numpy. - ``fetch(name)`` — load another indicator → DataFrame(date, value). - ``fetch_events(indicator_name)`` — events affecting indicator → DataFrame(event_name, start, end, duration_days, before_mean, during_mean, pct_change, change). - ``fetch_indicators(event_name)`` — indicato
files_attach
Attach original files (PDF, image) for native model inspection. Data Surface: `native_source` Sends the raw file bytes to the model's vision/document understanding capability. Accepts any file_id: single file, folder parent, or folder child. For folder parents, attaches ALL child files for native inspection. For individual files or children, attaches that single file. Use when: parsed text is incomplete or garbled, file parse failed, user asks to see the original document, or you need to verify
files_list
List the user's uploaded files with metadata and summaries. Data Surface: `file_inventory` Returns top-level files only (not folder children). Each entry includes file_id, name, type, upload date, parse_status, and content_summary. Folder entries additionally include a children array with each child's file_id, name, and summary. This tool returns metadata and summaries, NOT file contents. To see the structured indicator data from a file, use ``get_data(source="<file_id>")`` or ``get_data(source=
files_read
Read the parsed text content of a file by file_id. Data Surface: `parsed_narrative` Accepts any file_id: top-level single file, folder parent, or folder child. For folder parents, returns the merged full parsed text. For folder children, returns that child's individual parsed text. Useful when the user asks about overall file content, wants a summary, or needs context beyond structured indicators (doctor's notes, diagnostic impressions, textual findings). Depends on parse quality. Does NOT retur
files_write
get_health_observations
Return the patient's chat-extracted narrative health observations, most recent first, optionally filtered to one `category` (symptom / diet_note / exercise / sleep / condition_change / feeling / other).
relate
Find data-driven associations between events and indicators. Statistical before/during comparison on actual time-series data. Supports multi-entity queries with built-in intersection. Directions: - ``scope="event"``: given indicator names → find events that significantly changed them. - ``scope="indicator"``: given event keywords → find indicators significantly changed. Operations: - ``operation="any"`` (default): union — items related to ANY entity. - ``operation="all"``: intersection — items r
ambodi_search_medical_literature
[Coarse Search] Batch search for medical literature with pagination, used for preliminary filtering. Returns basic metadata of multiple articles (title, abstract, authors, affiliations, etc.), WITHOUT full text. Use case: Discover relevant literature by keywords, perform initial screening based on abstracts and metadata. To get the complete full text of a specific article, use get_article_by_pmcid() for precise retrieval.
get_article_by_pmcid
[Precise Query] Retrieve complete information for a single article by PMCID, INCLUDING full text. Used for in-depth analysis of articles filtered from search_medical_literature() coarse search. Use case: Read full paper content, extract detailed information such as study methods, results, conclusions for fine-grained screening. Typical workflow: 1. Use search_medical_literature() to search for relevant literature, get article list 2. Perform initial filtering based on title, abstract, keywords,
get_data
Retrieve health indicator data with composable query dimensions. **CGM / continuous glucose data**: Do NOT use get_data for CGM blood glucose analysis. CGM readings are in series_data (not th_series_data). Use ``run_skill(skill_name="cgm_glucose_management", params={"start_time": "...", "end_time": "..."})`` instead — it runs the full biorhythm analysis pipeline (meal detection, parameter extraction, system diagnosis) on the CGM data. Three query dimensions (at least one required): - **concepts*
report_timeline
Report-anchored indicator time-series for report-parsed (lab/exam) indicators. Returns the user's report indicators within the last `years` (default 3), anchored at the user's MOST RECENT report (NOT today). Each row's `time` is its source report's `report_date` (YYYY-MM-DD). USE THIS for report-indicator trends over time — `get_data`'s start_time is unreliable for report rows (a write-back `now()` fallback stamps undated indicators with the parse date). Device/CGM rows and undated reports are e
cgm_meal_report
Return a Markdown CGM meal-segment parameter report for a file. Reads persisted ``cgm_*`` rows from ``th_series_data`` and assembles them into a meal-first Markdown report with parameter tables and quality flags. Optionally filters meal windows by ``start_time`` / ``end_time`` (UTC ISO date or datetime strings).
Use in your AI tool
One-click into Claude, Cursor, VS Code, and more — connects straight to this server’s public endpoint.
https://ambodi.com/mcp