Shotlee
Server Details
Peptide and GLP-1 dosing math (dose to syringe units) plus search over Shotlee's articles.
- Status
- Healthy
- Uptime
- 100.0% over 57 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
calculate_reconstitution is clearly a dosing calculator, while search_articles and get_article are distinct search-vs-fetch operations. get_article explicitly depends on search_articles output, so boundaries are clear.
All three names use snake_case with a verb_noun structure: calculate_reconstitution, get_article, search_articles. Consistent and predictable.
Three tools cover the server's core functions without redundancy or bloat. Although small, each tool earns its place and the count is appropriate for a focused surface.
The surface covers the core article search/fetch lifecycle and a reconstitution calculator. Minor gaps exist around browsing/listing articles or searching non-English content, but agents can work around these.
Available Tools
3 toolscalculate_reconstitutionCalculate peptide reconstitution and syringe unitsAInspect
Given a lyophilized vial size, a volume of bacteriostatic water and a target dose, return the resulting concentration, the volume to draw, and the reading on a U-100 insulin syringe. Use for peptide and compounded GLP-1 dosing arithmetic.
| Name | Required | Description | Default |
|---|---|---|---|
| dose_mg | Yes | Target dose, in mg (1 mg = 1000 mcg) | |
| vial_mg | Yes | Peptide in the vial, in mg | |
| bac_water_ml | Yes | Bacteriostatic water added, in mL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the inputs and outputs and mentions the U-100 insulin syringe, adding scope context. However, it does not describe potential error behavior, rounding rules, or the underlying formula, leaving some behavioral aspects implicit for a calculation tool.
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 the core calculation statement followed by a brief usage scope. Every sentence adds value without redundancy or fluff.
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?
Despite being a simple tool with no output schema, the description adequately explains the return values (concentration, volume to draw, syringe reading) and usage context. It could be more explicit about units and potential rounding or validation behavior, but overall it is complete enough for the tool's complexity.
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 each parameter (vial_mg, bac_water_ml, dose_mg) described in the schema. The description only paraphrases these as 'lyophilized vial size,' 'volume of bacteriostatic water,' and 'target dose,' adding no new semantic detail beyond the schema. 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 tool 'calculate peptide reconstitution and syringe units' with a specific verb and resource, and enumerates the outputs (concentration, volume to draw, syringe reading). It distinguishes itself from sibling tools (get_article, search_articles) by focusing on arithmetic rather than information retrieval.
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 says 'Use for peptide and compounded GLP-1 dosing arithmetic,' providing clear context for when the tool is appropriate. It does not explicitly state when not to use it or name alternatives, but the sibling tools are clearly unrelated, so the guidance is sufficient for a simple calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_articleGet a Shotlee article as MarkdownAInspect
Fetch the full text of one article by its slug, as returned by search_articles. For a non-English locale, pass either the English slug or the translated slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Article slug, e.g. "naltrexone-ozempic-for-alcohol-cravings-explained" | |
| locale | No | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies a read-only fetch and adds a useful behavioral rule about locale slug equivalence, but says nothing about error behavior for an unknown slug, rate limits, or availability of the requested translation — gaps that matter for a tool with zero annotation coverage.
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?
Two short sentences, zero filler, with the core action front-loaded and the locale caveat following in priority order.
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 two-parameter retrieval tool with no output schema, the description covers what it returns (full article text), how to identify it, and locale nuances. The only shortfall is that no output schema exists and the description doesn't mention the Markdown format noted in the title.
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 only 50% (slug is documented, locale is not), and the description compensates by explaining that locale accepts either the English slug or the translated slug — meaning that goes beyond the enum/default in the schema. The slug format is left to the schema's example.
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?
"Fetch the full text of one article by its slug" states a specific verb (fetch), resource (article), and scope (one, by slug), which cleanly separates it from search_articles. The reference to how slugs are obtained ties it to the sibling's output rather than leaving the identifier source ambiguous.
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?
It names search_articles as the upstream step that produces the slug and gives explicit conditional guidance for locale (pass English or translated slug). There is no stated when-not-to-use case, but for a simple retrieval tool the routing context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_articlesSearch Shotlee articlesAInspect
Search the English blog corpus by keyword and return matching articles with their titles and canonical URLs, newest first. Every keyword must appear in the title or slug. Use to find Shotlee coverage of a drug, peptide, side effect or topic.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Keywords, e.g. "ozempic nausea" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the matching semantics (every keyword must appear in title or slug), the ordering (newest first), and the returned fields. It omits limits on result volume beyond the schema's constraint and any rate/access caveats, which are minor for a read-only search.
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 compact sentences, front-loaded with what the tool does and how matching works, then closing with usage guidance. No filler.
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 two-parameter search with no output schema, the description appropriately describes the return shape (titles, canonical URLs) and ordering. The only gap is guidance on the limit parameter, which is not needed for correct invocation but would round out the picture.
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 50% – query is documented in the schema, limit is not. The description adds real meaning for query by defining the AND-matching rule, but says nothing about limit's role (default 10, max 25), leaving that parameter's behavior to the schema alone.
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?
States a specific verb (search) and resource (English blog corpus) and scopes the return (titles and canonical URLs, newest first). It is clearly distinguishable from the sibling get_article, which fetches a single article rather than performing a keyword search.
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?
"Use to find Shotlee coverage of a drug, peptide, side effect or topic" gives clear context for when this tool applies. It does not explicitly name get_article as the alternative for retrieving a known article, so the when-not side is left to inference.
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.
1 tool update
- Changed
get_article1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Article slug, e.g. \"ozempic-and-alcohol\""New value: +"Article slug, e.g. \"naltrexone-ozempic-for-alcohol-cravings-explained\""
1 tool update
- Changed
get_article1 field changed- changed
Input schema / properties / locale / enumPrevious value: -[ - "en", - "ar", - "de", - "es", - "fr", - "hi", - "id", - "it", - "pl", - "pt", - "ru", - "zh" -]New value: +[ + "en", + "ar", + "de", + "es", + "fr", + "hi", + "id", + "it", + "pl", + "pt", + "ru", + "zh", + "ja", + "nl" +]
3 tool updates
- First observed
calculate_reconstitution - First observed
get_article - First observed
search_articles
Related MCP Connectors
Deterministic peptide reconstitution and dosing math, so assistants compute it instead of guessing.
GLP-1 calorie and protein targets with a dose aware appetite ceiling, plus food and recipe search.
Peptide vendor matchmaker. 11-signal rubric, GLP-1 + 25 peptides, region-aware, free.
Live research peptide prices, price history, vendor trust records and a reconstitution calculator.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables recording hormone dosing events and querying predicted blood concentration for estradiol and testosterone using pharmacokinetic algorithms, supporting multiple administration routes.2MIT

Hormonaly MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI agents to access 24 clinical tools for evidence synthesis, protocol lookup, and decision support in peptide, hormone, and longevity medicine.2-- AlicenseNot gradedqualityFmaintenanceProvides comprehensive medical information by querying authoritative sources including FDA drug database, WHO health statistics, PubMed literature, RxNorm nomenclature, Google Scholar, and Australia's PBS API through 22+ specialized tools.56 npm3MIT
- AlicenseAqualityCmaintenanceProvides pet nutrition tools for AI agents, enabling cup-to-grams conversion, RER/MER calorie calculations, and ideal weight lookup by breed with source URLs.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.