Sally Skills
Server Details
Plug Sally AI into your agent. The clinical-grade health intelligence behind A1C Insights, Sally AI, now exposed as an MCP endpoint and REST API to your agent — 64+ biomarkers across Western clinical and TCM preventive frameworks. Authenticate, call the skills you need, get billed per request. Built for agents who care about health and evidence.
- Status
- Healthy
- Uptime
- 97.3% over 43 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 10 tools
Several tools appear to occupy the same conceptual space: analyze_lab_result, metabolic_overview, and health_insights could all plausibly return health assessments, while supplement_grading and lookup_supplement_grade have unclear boundaries. The generic 'Sally skill' descriptions do not help an agent choose between them confidently.
The naming conventions are mixed: some tools use verb_noun patterns like analyze_lab_result, lookup_food, and search_health_knowledge, while others are bare nouns like food_journal, health_insights, and metabolic_overview. All names are readable and snake_case, but the pattern is not predictable enough for an agent to guess tool names reliably.
Ten tools is a reasonable size for a health-coaching assistant covering labs, nutrition, supplements, and knowledge search. However, a few tools seem redundant or very close in scope, so the count feels slightly higher than necessary.
The tool surface covers the main expected workflows: lab analysis, food tracking and lookup, supplement grading, metabolic overview, knowledge retrieval, and general chat. There are minor gaps, such as no explicit user-profile or journal-management tools, but agents can likely work around them.
Available Tools
10 toolsanalyze_lab_resultDInspect
Sally skill ($0.008/call)
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_b64 | Yes | Base64-encoded PDF or image (≤10MB raw, ≤14MB base64). | |
| filename | No | Optional hint for mime detection (e.g. "panel.pdf"). Defaults to "document.pdf". | |
| llm_model | No | Override OpenRouter model id used for interpretation. Defaults to LAB_READING_MODEL on the OCR side. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions a cost. Does not disclose that the tool processes base64-encoded PDFs, performs OCR, or interprets lab results. No behavioral traits beyond what's implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise but at the expense of clarity. The description is a single short phrase that fails to convey the tool's purpose. Conciseness without meaningful content is under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and complex functionality. Description does not mention return values, error handling, or processing steps. Incomplete for a tool that analyzes lab results from uploaded files.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% as each parameter has a description. The tool description adds nothing beyond the schema, but the schema already provides sufficient parameter documentation. Baseline score maintained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description only says 'Sally skill ($0.008/call)', which does not indicate what the tool does (e.g., analyze lab results from PDFs). Title is null, so no additional context. Sibling tools like 'chat_with_sally' are not differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Missing any context about suitable scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chat_with_sallyDInspect
Sally skill ($0.003/call)
| Name | Required | Description | Default |
|---|---|---|---|
| health | No | If true, the agent personalises using the calling user's saved health context (lab results, CGM, sleep, vitals). Defaults to false (knowledge-only). | |
| message | Yes | ||
| language | No | BCP-47 short code (e.g. 'en', 'id'). Omit for auto-detect from the message. | |
| knowledge | No | Sally's knowledge brain — 'medical' for evidence-based clinical sources, 'tcm' for Traditional Chinese Medicine. | tcm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states a per-call price, and says nothing about how the chat behaves, whether it uses personal health context, what data it accesses, or what side effects might occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it is under-specified rather than genuinely concise. 'Sally skill' adds no information beyond the name, and the only useful content is the pricing note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a one-phrase description, an agent lacks essential context about expected behavior, return format, and use cases. The schema alone is not enough to safely and correctly select this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter meaning beyond the input schema. The schema already documents health, language, and knowledge with descriptions; the one required parameter, message, has no description, and the tool description does not compensate for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Sally skill ($0.003/call)', which essentially restates the tool name without a verb, action, or resource. It does not explain that this is a chat/conversation tool or how it differs from siblings like search_health_knowledge or health_insights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its alternatives. An agent is given no context for choosing chat_with_sally over analyze_lab_result, lookup_food, or other sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
food_journalDInspect
Sally skill ($0.004/call)
| Name | Required | Description | Default |
|---|---|---|---|
| mime | No | Optional mime override (e.g. "image/png"). Auto-detected from magic bytes if absent. | |
| image_b64 | Yes | Base64-encoded food image (≤10MB raw, ≤14MB base64). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only mentions a cost and "Sally skill." It does not indicate it processes images, is read-only, or what side effects occur, leaving the agent blind to critical behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While extremely short, the description is under-specified and lacks structure. Every sentence should add value, but this single phrase neither introduces the tool nor aids understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description fails to explain return values, prerequisites, or expected outcomes. For a tool with two parameters, this is critically incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter descriptions (image_b64, mime) are clear and self-contained. However, the tool description adds no additional meaning beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states "Sally skill ($0.004/call)", which fails to specify what the tool does. It does not mention food journaling, image analysis, or any actionable verb, making it misleading and essentially missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus its siblings (e.g., lookup_food, analyze_lab_result). The description offers no context or alternatives, leaving the agent without any basis for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_insightsDInspect
Sally skill ($0.003/call)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Local date YYYY-MM-DD. Default: today in `timezone`. | |
| type | No | Which insight to generate. 'auto' resolves from current local hour: 05:00-11:59 morning, 12:00-17:59 afternoon, else evening (00:00-04:59 rolls back to evening). | auto |
| language | No | BCP-47 short code (e.g. 'en'). Default: 'en'. | |
| timezone | No | IANA tz (e.g. 'Asia/Jakarta'). Default: UTC. | UTC |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a minimal description, there is no disclosure of behavioral traits such as data access, side effects, or limitations. The description adds no value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but omits essential information about the tool's purpose. It is under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and minimal description, the description is completely inadequate. It does not explain what insights are generated, what the tool returns, or how it relates to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all 4 parameters. The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Sally skill ($0.003/call)' does not state what the tool does; it is missing and misleading, providing only a cost and a vague skill reference, not a specific verb or resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings (e.g., analyze_lab_result, chat_with_sally). The description lacks any context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_syncCInspect
Sally skill ($0.001/call)
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | UTC date YYYY-MM-DD. Default: today. | |
| include | No | Subset to return. Omit for the six daily-aggregate categories. `cgm_minute` (real-time, minute-base CGM samples) is opt-in only — it is NOT included in the default set because it returns high-volume minute-level data. | |
| max_days | No | Relative window size (days). Ignored if date_from is provided. Hard cap: 90. | |
| aggregate | No | When true, returns the same aggregated payload used for the morning-insights and metabolic-overview features. | |
| date_from | No | UTC date YYYY-MM-DD. Default: today - 7 days. | |
| cgm_minute_to | No | ISO datetime — end of the window. Default: now. | |
| cgm_minute_from | No | ISO datetime — start of the high-resolution CGM window. Default: now - 24h. | |
| cgm_minute_resolution | No | Sampling resolution for the cgm_minute series. `1m` returns raw rows (≤1440 = 1 day). Coarser buckets average value/roc inside each bucket — useful for longer windows. | 5m |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It entirely fails to disclose behavioral traits: it doesn't mention that this is a read-only operation, that it fetches health data, that it might return large volumes, that there are per-call costs, or what the response shape (daily aggregates vs minute-level) implies. The only behavioral hint is the cost per call in the description, which is minor. The rich parameter docs do not substitute for a description of tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short — arguably under-specified rather than concise. It provides no front-loaded information; the only content is a product name and a price. While it is brief, the brevity is not a virtue because it omits the tool's core function. A useful description could be a single sentence stating the purpose while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters (all optional) and no output schema, yet the description gives the agent no sense of what to expect in return, when to use this over siblings, or any behavioral context. The parameter docs are rich, but the description fails to provide the high-level context needed to decide whether to invoke. There's no mention of output type, typical use cases, or relationship to metabolic_overview and health_insights.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline for this dimension is 3. The description adds no parameter meaning beyond the schema. However, the schema itself is unusually detailed, with per-parameter explanations and caveats (e.g., cgm_minute not included by default, cgm_minute_resolution buckets averaging). Since the description provides zero added value, but the schema already covers semantics fully, a 3 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Sally skill ($0.001/call)' is a tautology that restates the tool name and provides only a vague notion of a 'skill' with a cost. It fails to state a specific verb and resource, making it impossible for an agent to understand what the tool actually does without inspecting the schema. It does not distinguish from siblings like health_insights or metabolic_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description offers no context, exclusions, or trade-offs. The agent must guess whether to call this or health_insights etc. Some usage context is buried in parameter descriptions (e.g., 'cgm_minute is opt-in'), but that does not cover tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_foodARead-onlyInspect
Look up nutrition for a named food or dish: macronutrients for the given portion plus Sally's Smart, Trap or Balance-with-Activity classification and its reasoning. Figures come from Open Food Facts and are estimates for a typical product of that name, not a specific branded item.
| Name | Required | Description | Default |
|---|---|---|---|
| food | Yes | Food or dish name, e.g. 'nasi goreng' or 'Greek yogurt, plain'. | |
| grams | No | Portion size in grams. Macros are scaled from per-100g values. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive behavior. The description adds important context: data source (Open Food Facts), that figures are estimates for typical products (not branded), and that it returns a classification with reasoning. This goes beyond annotations and helps the agent understand limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and returns, and concise with no wasted words. It could be slightly more structured but is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description adequately covers purpose, returns, data source, and caveats. It gives enough context for an agent to understand what the tool provides, though it does not detail output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The tool description does not add any additional semantic information beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Look up' and resource 'nutrition for a named food or dish', specifies what is returned (macros, classification, reasoning), and distinguishes it from siblings like lookup_supplement_grade. It also includes data source and limitation, making purpose very clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when nutrition info is needed, but does not explicitly state when to use this tool versus alternatives like analyze_lab_result or food_journal. No exclusions or alternative suggestions are provided, so usage guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_supplement_gradeARead-onlyInspect
Look up a supplement by brand and product name in Sally's pre-graded corpus from the NIH Dietary Supplement Label Database, and return the stored grade, score and classification. If nothing matches closely, returns the nearest similar products with exact_match false. Cannot grade from a photo.
| Name | Required | Description | Default |
|---|---|---|---|
| top_k | No | How many corpus matches to return, nearest first. | |
| product | Yes | Brand and product name as printed on the label, e.g. 'Nature Made Vitamin D3 2000 IU'. Include the brand — matching is much weaker without it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and non-destructive. Description adds beyond: 'Cannot grade from a photo' and return behavior for non-exact matches. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose. No unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description mentions return fields. Covers return behavior and key limitation. Adequately complete for a lookup tool with rich annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. Description adds meaningful constraints: product must be 'as printed on the label', brand inclusion advised, top_k returns nearest first. Adds value over schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly specifies action 'look up', resource 'pre-graded corpus from NIH Dietary Supplement Label Database', and return values 'stored grade, score and classification'. Distinguishes from sibling 'supplement_grading'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context: 'Cannot grade from a photo' and describes fallback behavior. Implicitly guides to use supplement_grading for new grades, but lacks explicit when/alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
metabolic_overviewDInspect
Sally skill ($0.005/call)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Target date YYYY-MM-DD (defaults to today UTC). All other CGM data is fetched from the DB. | |
| timezone | No | IANA timezone for postprandial timing context (e.g. "America/New_York"). Defaults to UTC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states a cost and offers no behavioral traits such as side effects, permissions, rate limits, or response characteristics. The tool remains a black box.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence) but severely under-specified. It does not earn its place by providing essential information; rather, it omits critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and a minimal description, the tool is incomplete for an agent to use effectively. The purpose is unclear, and key context about behavior and results is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for date and timezone. The tool description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Sally skill ($0.005/call)' is a tautology and provides no information about what the tool does. It does not mention metabolism or overview, and fails to distinguish from sibling tools like health_insights or analyze_lab_result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent without any usage framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_health_knowledgeARead-onlyInspect
Search Sally's preventive and metabolic health library and return matching source passages with citations. Covers clinical articles published by A1C plus NCCIH supplement monographs. Returns retrieved text for the caller to reason over; it does not write an answer or give medical advice.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The health question to find evidence for, in natural language. Pass the substantive question only — do not include conversation history or anything about who is asking. | |
| top_k | No | Maximum number of passages to return, ranked by semantic similarity. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is clearly safe. The description adds behavioral context by specifying that it returns passages with citations and does not generate answers, and it details the sources covered (A1C articles and NCCIH monographs), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the core purpose, and adds clarifying scope and behavioral notes without any extraneous words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately explains that the tool returns 'matching source passages with citations' and 'retrieved text for the caller to reason over'. This is sufficient for an agent to understand the tool's output without additional detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented. The description adds extra guidance for the 'query' parameter: 'Pass the substantive question only — do not include conversation history or anything about who is asking'. This improves parameter usage beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search', the resource 'Sally's preventive and metabolic health library', and what is returned: 'matching source passages with citations'. It distinguishes the tool from siblings by specifying the library's scope (clinical articles and NCCIH monographs), which differentiates it from other health tools like 'lookup_food' or 'analyze_lab_result'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states that the tool returns text for the caller to reason over and does not write an answer or give medical advice, which guides appropriate usage. However, it does not explicitly list when not to use it or suggest alternative tools, though the sibling list provides implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supplement_gradingDInspect
Sally skill ($0.008/call)
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | BCP-47 short code (e.g. 'en', 'id'). Omit for auto-detect from the stack text. | |
| use_labs | No | If true (default), the agent may read the calling user's lab results to surface biomarker-relevant gaps. Set false for a stack-only audit with no PHI. | |
| supplements | Yes | The supplement stack to audit — names + doses as free text or a list (e.g. "vitamin D 5000IU, magnesium glycinate 400mg, fish oil 1g"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions cost. There is no disclosure of behavioral traits such as side effects, permissions, or data handling. The description fails to inform the agent about what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but fails to convey necessary information. Under-specification is not conciseness; the single sentence does not earn its place because it lacks substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, one required, and lacks an output schema, the description is grossly incomplete. It does not explain the tool's behavior, return values, or how it relates to sibling tools, providing no actionable context for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters. The description adds no additional meaning beyond the schema, meeting the baseline for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "Sally skill ($0.008/call)" does not state what the tool does. It provides a cost and a name but lacks a verb or resource, making it impossible to infer the tool's purpose from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like lookup_supplement_grade. The description offers no context for selection, leaving the agent without any usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
chat_with_sally1 field changed- changed
Input schema / properties / health / descriptionPrevious value: -"If true, the agent personalises with the calling user's mem0, lab results, CGM, sleep, vitals. Defaults to false (knowledge-only)."New value: +"If true, the agent personalises using the calling user's saved health context (lab results, CGM, sleep, vitals). Defaults to false (knowledge-only)."
- Changed
health_sync2 fields changed- changed
Input schema / properties / aggregate / descriptionPrevious value: -"When true, returns the same payload core-go sends to langchain for morning-insights + metabolic-overview."New value: +"When true, returns the same aggregated payload used for the morning-insights and metabolic-overview features." - changed
Input schema / properties / include / descriptionPrevious value: -"Subset to return. Omit for the six daily-aggregate categories. `cgm_minute` (real-time, minute-base CGM samples) is opt-in only — it is NOT included in the default set because the table is large."New value: +"Subset to return. Omit for the six daily-aggregate categories. `cgm_minute` (real-time, minute-base CGM samples) is opt-in only — it is NOT included in the default set because it returns high-volume minute-level data."
3 tool updates
- Added
lookup_food - Added
lookup_supplement_grade - Added
search_health_knowledge
1 tool update
- Added
supplement_grading
6 tool updates
- Changed
analyze_lab_result1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
chat_with_sally1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
food_journal1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
health_insights1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
health_sync1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
metabolic_overview1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
6 tool updates
- First observed
analyze_lab_result - First observed
chat_with_sally - First observed
food_journal - First observed
health_insights - First observed
health_sync - First observed
metabolic_overview
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.