balanceit-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct resource and action: loading a recipe, calculating calories, searching foods, listing the catalogue, generating a recipe, and checking session state. Even though get_recipe and generate_recipe both involve recipes, the load-vs-create distinction is clear from the descriptions.
Naming Consistency4/5Most tools follow a clear verb_noun pattern (get_recipe, calculate_calories, search_foods, list_catalogue, generate_recipe). session_status is a small deviation that reads as a state check rather than an action, but it's still understandable and consistent in style.
Tool Count5/5Six tools is a well-scoped set for a Balance It nutrition MCP. Each tool covers a core part of the workflow (estimating calories, finding ingredients, generating recipes, loading results) without being bloated or too thin.
Completeness4/5The core lifecycle is covered: search/select ingredients, generate recipes, retrieve a specific recipe, and estimate calories. Minor gaps exist, such as no explicit recipe listing or update/delete, but these are not essential for the domain and the workflow is functional.
Average 4/5 across 6 of 6 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals that results include curated 'm*' rows and USDA reference foods and mentions sub-second performance. However, it does not explain what 'm*' means, the result format, or error/empty behavior, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary purpose. Each sentence adds information, though the 'HTTP endpoint' detail is somewhat redundant in an MCP context. Overall, it is well-structured and free of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (2 parameters, no output schema), and the description provides the core purpose and return composition. However, it lacks parameter semantics and any indication of the response structure, so the agent may struggle to invoke it correctly and interpret results fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'query' or 'species' parameters at all. The agent must rely on a bare schema with no parameter descriptions, making it impossible to infer parameter meaning or formatting from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Fuzzy search' and names the resource 'Balance IT's food database.' It also clarifies the result composition (curated 'm*' rows plus USDA reference foods), which clearly distinguishes it from sibling tools like list_catalogue or get_recipe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: if you need to search for foods, this is the tool. There is no explicit mention of when to use it instead of alternatives, nor any exclusion criteria. Sibling tools are not referenced for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It mentions only 'HTTP endpoint, sub-second,' which adds minor performance/network context, but it does not disclose whether the operation is read-only, has side effects, requires authentication, or how errors are handled. This is a significant gap for a calculation tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the main purpose. The second sentence adds a useful performance/endpoint detail. The phrase 'Balance IT's' is slightly awkward and could be clearer, but overall the description is concise with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter calculation tool with no output schema, the description is adequate but incomplete. It states the output concept ('daily kcal estimate') but does not specify output format, limitations (e.g., the schema restricts species to canine and feline, yet the description says 'pet' generically), or any caveats. It could benefit from clarifying supported species and return type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% property descriptions, so the description adds high-level context by naming the key inputs (species, weight, age, reproductive status). However, it does not explain the units, the gender enum meanings, or how parameters relate to each other beyond what the schema already shows. It partially compensates for the low schema coverage but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool produces a daily kcal estimate for a pet based on species, weight, age, and reproductive status. This specific verb+resource+scope distinguishes it from sibling tools focused on recipes and food searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a calorie estimate is needed given the listed inputs, but it does not explicitly state when to prefer this over alternatives, nor does it mention exclusions or when not to use it. The context is clear but not prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds behavioral context by noting 'Browser-driven' and '~5-10s' latency, which are useful traits. However, it does not disclose whether the operation is read-only, what happens on missing recipe, or whether it requires any existing session, leaving several behavioral aspects unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence plus a short latency note. It avoids redundancy and front-loads the core action and output data, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides a reasonable overview of inputs and expected outputs. It lists the key data points returned but does not specify format or error handling. Since no output schema exists, a bit more detail on the return structure would improve completeness, but the current level is adequate for a simple fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines option_id as a string, but the description embeds it in the URL /recipe/<option_id>, giving it clear semantic meaning as the built recipe identifier. Since schema description coverage is 0%, the description compensates well by explaining how the parameter is used, though it does not enumerate possible values or origins.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool loads /recipe/<option_id> and extracts specific data (calories, macro split, gram-weight ingredient list, required supplement), using a specific verb 'load' and 'extract'. This distinguishes it from siblings like generate_recipe (generates) and calculate_calories (calculates), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for retrieving details of a built recipe, but it does not explicitly state when to use this tool versus alternatives like generate_recipe or list_catalogue. It also does not mention preconditions such as needing an existing recipe id or a live browser session, leaving usage context somewhat implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses that results are cached for 7 days and that the tool is browser-driven with a 5-8s first call, which are useful behavioral insights beyond a basic list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, and every sentence adds value: complete catalogue, cache duration, and latency expectation. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description covers purpose, parameters, caching, and performance, which is solid for a simple list tool. It lacks details about the return format or potential pagination, but the information provided is sufficient for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaning by giving item counts for canine adult (79) and noting 51 are one-pot-compatible. This partially explains the 'species' and 'one_pot_only' parameters, though it does not cover all enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists the complete ingredient chip catalogue for a species, using a specific verb and resource. It distinguishes itself from sibling tools by emphasizing 'full catalogue' versus recipe generation, calorie calculation, or food search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: it is for retrieving the complete catalogue for a species, but no explicit when/when-not guidance or mention of alternatives is given. The description does not state 'for filtered search use search_foods' or similar exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral transparency. It states the tool checks for a session 'on disk' which adds useful context about side-effect-free inspection. However, it does not clarify what 'usable' means, how the result is returned (e.g., boolean, object), or whether any network/auth is involved. This is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: the first states the core function, the second adds usage guidance. No wasted words, front-loaded with the most important information. This is ideal for a simple status-check tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 params, no output schema), the description is fairly complete. It covers what it does and when to use it, implying a boolean result via 'Whether.' It does not specify the exact output format or session validity criteria, but for a simple check this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (empty schema). The baseline for 0 params is 4. The description adds no parameter details because none exist, but it gives enough context about what the tool evaluates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: checking whether a usable balance.it session exists on disk. This is a specific verb+resource combination that distinguishes it from recipe/calorie sibling tools. The title 'Report persisted session status' aligns with the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly gives usage context: 'Useful to distinguish "dead session" from "real failure" before running slower tools.' It indicates when to use this tool (as a pre-check) and implies an alternative (slower tools). It lacks an explicit 'when not to use' but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It reveals that the tool is 'Browser-driven; typically 60-90s,' explains the response fields (submitted_food_ids and missing_from_options), and clearly states error behavior: 'Any food_id that could not be added throws a clear error rather than silently dropping.' This is exceptional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, starting with the action, then providing latency, input provenance, response details, and error behavior in four sentences. Every sentence adds essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 10 parameters, no output schema, and no annotations, the description covers the workflow, expected latency, key response elements, and error handling. It gives a user enough context to use the tool correctly and set expectations, making it highly complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining the workflow, that food_ids come from other tools, and that N options are built. However, it does not describe all parameters (e.g., one_pot_cooking, weight_unit, age_unit) beyond the schema's enum names, leaving some gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Fill the pet profile, pick ingredient food_ids, submit, and wait for Balance IT to build N balanced recipe options.' It uses a specific verb (build) and resource (balanced recipe options), and distinguishes itself from siblings like search_foods, list_catalogue, and calculate_calories by focusing on recipe generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by stating 'Food_ids come from search_foods or list_catalogue,' which tells the user how to obtain necessary inputs. It implicitly defines the use case (generating recipes) without explicitly naming alternatives, but the integration with other tools gives practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seraphinerenard/balanceit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server