Skip to main content
Glama
Ownership verified

Server Details

Effortless calorie tracking for people who train — just tell your AI what you ate.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose: getting diary entries for a day vs. range, logging meals, looking up barcodes, searching foods, and diagnostic. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_day, log_meal, search_foods), including the conventional whoami for diagnostics.

Tool Count5/5

Six tools cover the essential operations for a food diary server: logging, querying (single day and range), barcode lookup, food search, and authentication check. The count feels well-scoped.

Completeness3/5

Core read and create operations are present, but missing update and delete functionality for diary entries, which are common needs for correcting or removing logged meals.

Available Tools

6 tools
get_dayA
Read-only
Inspect

Read the user's food diary for a day (entries + calorie/macro totals).

ParametersJSON Schema
NameRequiredDescriptionDefault
local_dateNoYYYY-MM-DD; defaults to today.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it returns entries and totals, which adds to the readOnlyHint. However, it does not mention error conditions, ownership, or rate limits. Annotations already handle read safety, so description adds reasonable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with the core purpose. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one optional parameter and no output schema, the description adequately covers what it returns. It could mention authentication scope, but it's reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for the only parameter (local_date format and default). The tool's description does not add extra parameter details, but with complete schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it reads the user's food diary for a day and specifies what it returns (entries + calorie/macro totals). The verb 'Read' aligns with readOnlyHint. Distinguishes from siblings like get_range (range of days) and log_meal (logging).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description is clear on what the tool does but does not explicitly state when to use it over alternatives or when not to use it. The implied context from the tool name and siblings provides some guidance, but explicit exclusion is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rangeA
Read-only
Inspect

Read the user's diary across a date range, with per-day calorie/macro totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesYYYY-MM-DD (inclusive).
startYesYYYY-MM-DD (inclusive).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's job is to add context. It successfully adds that the tool returns 'per-day calorie/macro totals', which is useful beyond the read-only flag. No destructive behavior or auth needs are mentioned, but given the simplicity, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no wasted words. It front-loads the key information: action, resource, and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with only two parameters and no output schema. The description explains the return value (per-day calorie/macro totals), which is sufficient for an agent to understand the tool's output. However, it could mention potential limitations like date bounds or pagination, but that is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full coverage of both parameters (start, end) with descriptions of format 'YYYY-MM-DD (inclusive)'. The description does not add new meaning beyond the schema, so baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('Read') and resource ('user's diary across a date range'), and specifies the output includes 'per-day calorie/macro totals'. This distinguishes it from siblings like get_day (single day) and log_meal (write operation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reading a date range but does not explicitly state when to use this tool versus alternatives (e.g., get_day for a single day). No when-not or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_mealAInspect

Log what the user ate to their food diary. Parse the user's free text into items and, when you can, include estimated macros per item for accuracy.

ParametersJSON Schema
NameRequiredDescriptionDefault
atNoISO-8601 instant the meal was eaten; defaults to now.
mealNo
noteNo
itemsYes
sourceNoOptional provenance for these items. After search_foods/lookup_barcode, pass the candidate's source class (e.g. 'usda' or 'off') so the diary shows it's grounded. Defaults to 'client' (your own estimate). Unrecognized values are recorded as 'client'.
local_dateNoYYYY-MM-DD diary date; defaults to the user's local date (from their timezone). Pass this to log a meal on a different day.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it is not read-only and not destructive. The description adds that it parses free text and estimates macros, which provides some behavioral context. However, it does not disclose important traits like whether it overwrites existing entries, permissions needed, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core purpose, and contains 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 6 parameters and no output schema, the description covers the main functionality. It explains the handling of free text and macro estimation. However, it does not describe error conditions or the response format, which would be useful for a complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema by instructing the agent to 'parse the user's free text into items' and 'include estimated macros per item for accuracy.' This clarifies the intended use of the items and macros fields, which is not fully evident from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('log what the user ate to their food diary') and the resource (food diary). It distinguishes itself from sibling tools like search_foods and lookup_barcode by focusing on logging parsed items with estimated macros.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that the tool should be used when the user wants to record a meal, but it does not explicitly state when not to use it or provide alternatives. The context from sibling tools provides some differentiation, but the description itself lacks explicit usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_barcodeA
Read-only
Inspect

Look up a packaged food by its UPC/EAN barcode via Open Food Facts. IMPORTANT: the macros are PER 100 g (see serving) — scale to the portion eaten before logging with log_meal. Pass the returned source to log_meal to preserve provenance.

ParametersJSON Schema
NameRequiredDescriptionDefault
upcYesUPC/EAN barcode, digits only (8–14 digits).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description adds critical behavioral context: macros per 100g, requirement to scale, and provenance preservation via source field. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each with essential info: purpose, warning, and follow-up action. No redundancy or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input schema and no output schema, the description fully covers usage context: data source, scaling, provenance, and integration with log_meal. All critical info is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the upc parameter well-described (digits only, 8-14 digits). The description mentions 'via Open Food Facts' but adds no further detail about the parameter beyond schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it looks up packaged food by barcode via Open Food Facts, which is a specific verb and resource, and distinguishes from sibling tools like search_foods (text search) and log_meal (logging).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: warns about macros being per 100g and needing scaling before logging, and instructs to pass returned source to log_meal for provenance. This tells the agent when and how to use the tool with its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_foodsA
Read-only
Inspect

Search USDA FoodData Central and Open Food Facts for foods matching a query, returning candidates with macros and a source you can show the user. IMPORTANT: the macros are PER 100 g (see each candidate's serving) — scale them to the portion the user actually ate before logging with log_meal. When you log a chosen candidate, pass its source to log_meal so the diary records real provenance (USDA/Open Food Facts) instead of an estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax candidates to return (default 5, clamped to 1–10).
queryYesFood to search, e.g. 'greek yogurt' or 'Chipotle chicken'.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds details: returns candidates with macros per 100g and source field, mentions two specific databases, and explains scaling need. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose. Second sentence is somewhat long but packs critical usage detail. Could be slightly more concise, but no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two params, no output schema, and annotations covering safety, the description fully explains return structure and critical workflow steps. No gaps for an AI agent to misuse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema provides full descriptions for both parameters (query with examples, limit with default and clamp). Schema coverage is 100%, so description adds minimal but reinforces usage. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches USDA and Open Food Facts for foods, returning candidates with macros and source. Distinguishes from siblings like lookup_barcode and log_meal by specifying the databases and the workflow integration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (when user mentions a food) and provides critical guidance: scale macros from per 100g to actual portion, pass source to log_meal. Also implies not to use for barcode lookup, which is handled by sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whoamiA
Read-only
Inspect

Diagnostic: returns the authenticated user id and scopes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. The description adds the context that it is a diagnostic tool, confirming safe usage. No behavioral traits beyond annotations are disclosed, but given the simple nature, it is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded with the purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema diagnostic tool, the description fully captures its purpose and return value. No additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so schema coverage is 100%. The description does not need to add parameter information; the baseline is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the authenticated user id and scopes, using a specific verb and resource. It is distinct from sibling tools which deal with days, meals, and foods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus alternatives. The diagnostic nature implies usage for identity checks, but no when-not-to-use or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources