Skip to main content
Glama

Adam OS — MCP Server

Executive Operating System for Adam Perna · Stoic Holdings · CH Projects · San Diego

What This Does

Adam OS runs as an MCP server inside Claude Desktop. You talk to it naturally — Claude uses the tools automatically.

Related MCP server: Toast MCP Server

Tools Available

Tool

What it does

get_business_overview

Full status of both restaurants

get_labor_summary

Labor hours, cost, % by location

get_employee_hours

Hours per employee, overtime flags

get_sales_summary

Sales, covers, avg check by location

get_server_sales

Per-server breakdown for tip pools

import_toast_csv

Parse & store any Toast CSV export

list_imports

Show all previously imported files

calculate_tip_pool

Tip pool math from server sales data

get_tasks

Open tasks, filtered by priority

add_task

Create a new task

complete_task

Mark task done

save_note

Save shift notes, incidents, observations

get_notes

Retrieve saved notes

system_diagnostic

Full health check of Adam OS

Installation

bash install.sh

Importing Toast Data

  1. In Toast: Reports → Labor → Time Entries → Export CSV

  2. In Toast: Reports → Sales Summary → Export CSV

  3. In Toast: Reports → Server Sales → Export CSV

  4. Drop the files in ~/Desktop/Toast Imports

  5. Tell Claude: "Import my Toast CSV"

Data Storage

All data stored locally at ~/.adam-os/adam.db — SQLite, no cloud, no servers.

Example Conversations

"What's my labor percentage this week for both restaurants?"

"Who's close to overtime at Reading Club?"

"I dropped a Toast CSV on my desktop, can you import it?"

"Calculate the tip pool for last week at Seneca"

"Add a high priority task: approve Saturday schedule"

"Run a system diagnostic"

Available Tools

14 tools
add_taskC

Add a new task or action item.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
priorityNomedium
due_dateNo
categoryNoGeneral
businessNoBoth

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic purpose. It does not disclose that it creates a new resource, any side effects, or required permissions.

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

Conciseness2/5

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

The description is very concise but lacks necessary detail. It is essentially a tautology of the tool name and does not provide enough context for effective use.

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

Completeness1/5

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

Given 5 parameters and no output schema or annotations, the description is woefully incomplete. It does not explain what the tool does beyond the basic action.

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

Parameters1/5

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

0% schema description coverage and the tool description adds no information about any of the 5 parameters beyond their names in the schema.

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

Purpose4/5

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

The description clearly states that the tool adds a new task or action item, which distinguishes it from siblings like complete_task (completes) and get_tasks (retrieves).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. The description does not mention prerequisites or contexts where this tool is appropriate.

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

calculate_tip_poolC

Calculate tip pool distribution based on imported server sales data.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessNoboth

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'calculate', lacking details on whether it modifies data, requires authentication, or has side effects. The agent cannot gauge safety or side effects.

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

Conciseness3/5

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

The description is one sentence with no wasted words, but it is too brief to be sufficiently informative. Conciseness at the cost of completeness.

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

Completeness1/5

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

Given no output schema and siblings like get_server_sales, the description should clarify what the distribution output looks like and how 'business' affects calculation. It provides no such details.

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

Parameters1/5

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

The schema has 0% description coverage and the description adds no explanation for the sole parameter 'business' (default 'both'). The agent must guess its meaning and allowed values.

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

Purpose4/5

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

The description uses a specific verb+resource 'Calculate tip pool distribution' and distinguishes from siblings like get_server_sales or import_toast_csv by indicating it operates on imported data. However, it could be more precise about what the distribution entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. It implies reliance on imported data but fails to state prerequisites or typical use cases.

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

complete_taskC

Mark a task as complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It does not disclose side effects, such as whether the task must exist or if completion is reversible, leaving the agent uninformed about behavioral traits beyond the basic action.

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

Conciseness3/5

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

The description is a single short sentence with no unnecessary words, but it is under-specified for a tool that could benefit from more context.

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

Completeness2/5

Given 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, no annotations), the description is minimally adequate but lacks context about task states or constraints, leaving the agent without sufficient information for correct invocation.

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

Parameters1/5

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

The single parameter 'task_id' has no schema description (0% coverage). The description adds no meaning, leaving the agent to infer details from the parameter name 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 'Mark a task as complete' clearly states the verb ('mark') and resource ('task'), and the action is distinct from sibling tools like add_task (create) and get_tasks (list).

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

Usage Guidelines2/5

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 alternatives like add_task or get_tasks. There is no mention of prerequisites or exclusions.

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

get_business_overviewA

Get a complete overview of both restaurants — Reading Club and Seneca Trattoria — including current KPIs, alerts, and data status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool returns KPIs, alerts, and data status, implying a read-only operation with no side effects. It does not mention performance or cost, but given the parameterless nature, this is acceptable.

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, front-loaded sentence that conveys all essential information without waste. Every word earns its place.

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 parameterless tool without an output schema, the description adequately covers the return value components. However, it could be slightly more specific about what constitutes 'KPIs' or 'alerts'.

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

Parameters5/5

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

The tool has no parameters, and schema description coverage is 100%. The description adds value by specifying the content of the overview (KPIs, alerts, data status), exceeding the baseline of 4.

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 tool returns a 'complete overview' of two specific restaurants with KPIs, alerts, and data status. It implies an aggregated view, distinguishing it from sibling tools like get_sales_summary or get_labor_summary that focus on specific areas.

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?

The description suggests using this tool for a high-level overview, but does not explicitly contrast it with sibling tools or state when not to use it. Some guidance on when to prefer more detailed tools would improve clarity.

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

get_employee_hoursB

Get hours and pay for employees. Flags overtime. Use to check if anyone is approaching overtime threshold.

ParametersJSON Schema
NameRequiredDescriptionDefault
employee_nameNoEmployee name (partial ok). Leave empty for all.
daysNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states it flags overtime, implying a read-only behavior with additional processing. No mention of side effects, permissions, or data limits. For a simple retrieval, this is adequate but not exemplary.

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?

Two sentences, no redundant information. Every word serves a purpose. The description is front-loaded with the core action and immediately provides a practical use case.

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

Completeness3/5

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

Given the tool has 2 parameters and no output schema, the description covers the basic purpose and a use case. However, it lacks details on return format, pagination, or behavior with empty employee_name. It is minimally adequate but could be more complete given the context.

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

Parameters2/5

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

Schema description coverage is 50% (employee_name described, days only has default). The tool description adds no additional parameter meaning; it does not explain the 'days' parameter or clarify input formats. With low coverage, the description fails to compensate.

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

Purpose4/5

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

Clearly states it retrieves hours and pay and flags overtime. The verb 'Get' and resource 'employee hours' are specific. While it doesn't explicitly contrast with siblings, its focus on individual employee hours and overtime distinguishes it from broader summary tools like 'get_labor_summary'.

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?

Provides a specific use case: 'Use to check if anyone is approaching overtime threshold.' However, it lacks guidance on when not to use it or mention of alternative tools (e.g., 'get_labor_summary' for aggregated data). The usage hint is present but incomplete.

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

get_labor_summaryA

Get labor hours, cost, and labor percentage. Works with real Toast data if imported, otherwise shows current known metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessNoRestaurant name or "both"both
daysNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It reveals an important trait: the tool's output depends on whether real Toast data is imported. However, it does not state read-only nature, auth requirements, or rate limits. The single behavioral detail is helpful but insufficient for full 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/5

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

The description is two concise sentences, front-loaded with the purpose. Every word adds value: the first sentence states what it returns, the second clarifies data source context. No waste or redundancy.

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

Completeness3/5

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

Given the tool's simplicity (2 params, no output schema), the description provides the core return fields but lacks detail on output structure (e.g., format of 'cost' or 'percentage'). The phrase 'current known metrics' is vague. With no output schema, the description should more fully explain what the agent can expect.

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

Parameters2/5

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

Schema description coverage is only 50% (business has description, days does not). The description adds no additional meaning to the parameters beyond the schema. It does not explain how 'business' values like 'both' affect results or what 'days' range is valid. For low coverage, the description should compensate, but it fails to do so.

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 explicitly states 'Get labor hours, cost, and labor percentage', using a specific verb and resource. It clearly communicates the tool's output and distinguishes it from siblings like get_employee_hours by combining hours and cost. The context about data sources further clarifies its scope.

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 when needing a labor summary, but does not provide explicit when-to-use or when-not-to-use guidance, nor does it reference alternatives like get_employee_hours or get_sales_summary. The conditional data source hint provides minor context but lacks clear decision criteria.

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

get_notesC

Get saved shift notes, incidents, or observations.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo
businessNoboth
limitNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It states a read operation ('get') but does not mention potential effects, permissions, pagination, or filtering behavior beyond the implied retrieval.

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

Conciseness3/5

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

The description is a single short sentence, making it concise, but it lacks structure. It does not front-load key details like parameters or return format, and is overly brief for the tool's complexity.

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

Completeness2/5

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

Given three parameters, no output schema, and no annotations, the description is incomplete. It lacks explanations of parameter defaults (e.g., business='both', limit=10) and does not describe the output shape, leaving significant gaps for an agent.

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

Parameters1/5

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

Schema description coverage is 0%, requiring the description to explain parameters. The description fails to define 'category', 'business', or 'limit', leaving the agent without meaning for these fields.

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

Purpose4/5

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

The description uses the verb 'get' and specifies the resource as 'saved shift notes, incidents, or observations,' clearly indicating retrieval. It distinguishes from sibling tools like save_note (write) and get_tasks (different resource). However, it could be more precise about the exact content returned.

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

Usage Guidelines2/5

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 alternatives. Siblings like save_note (for saving) and get_tasks (for tasks) exist but are not compared. There is no mention of prerequisites or context for use.

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

get_sales_summaryC

Get sales, covers, and average check data from imported Toast reports.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessNoboth
daysNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It mentions the data comes from 'imported Toast reports,' but does not explain what happens if no imports exist, whether it is read-only (implied by 'get'), or any error conditions. Minimal transparency beyond basic purpose.

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?

A single sentence conveying the core purpose without any redundancy. It is appropriately front-loaded and concise.

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

Completeness2/5

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

For a simple tool with two parameters and no output schema or annotations, the description lacks essential details: parameter semantics, output structure, prerequisites, and error conditions. Incomplete for reliable agent invocation.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate, but it does not explain either parameter: 'business' (what values, e.g., 'both' meaning?) or 'days' (lookback period?). The agent has no semantic context for correct parameter usage, making invocation error-prone.

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

Purpose4/5

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

The description clearly states the verb 'get' and the resource 'sales, covers, and average check data'. It distinguishes itself from siblings like get_business_overview or get_server_sales by specifying the exact data points. However, it could be more specific about the source ('imported Toast reports') to avoid confusion with similar data tools.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives. The description implies it should be used for Toast report data, but does not state prerequisites (e.g., data must be imported first) or when to avoid it. No sibling differentiation is provided.

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

get_server_salesC

Get per-server sales, covers, and tips. Used for tip pool calculations.

ParametersJSON Schema
NameRequiredDescriptionDefault
businessNoboth
daysNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so description carries full burden. It indicates what data is returned but does not disclose read-only nature, potential side effects, authentication needs, or behavior on invalid inputs.

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?

Two short sentences, no redundant information. Purpose and usage context are front-loaded and efficient.

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

Completeness2/5

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

While the tool is simple with two parameters, the description omits parameter explanations and output details, leaving the agent to guess about inputs. Incomplete for effective invocation.

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

Parameters1/5

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

Schema coverage is 0%, yet description does not explain the two parameters (business, days) beyond what the schema provides (defaults). No guidance on valid values or meaning.

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

Purpose4/5

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

Clearly states it retrieves per-server sales, covers, and tips. The phrase 'per-server' distinguishes from aggregate sales summaries like get_sales_summary, and 'used for tip pool calculations' connects to calculate_tip_pool. However, it does not explicitly differentiate from all siblings.

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?

States it is used for tip pool calculations, giving context. But it does not mention when to avoid using it or provide explicit alternatives among siblings.

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

get_tasksB

Get tasks and to-dos. Filter by priority or status.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo"open", "high", "done", or "all"open

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description should disclose behavioral traits. It implies a read-only operation but does not explicitly state it is non-destructive or describe any side effects. The description is adequate but lacks explicit 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/5

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

The description is a single, concise sentence with no wasted words. It efficiently conveys the core action and filtering capability.

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 tool with one parameter and no output schema, the description covers the main action and filtering. However, it omits details about the return format or that it returns a list, which would be helpful but is not critical given the tool's simplicity.

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 already describes the 'filter' parameter with enum-like values. The description adds 'by priority or status', which is redundant but confirms the filtering purpose. Since schema coverage is 100%, the description provides minimal added value.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'tasks and to-dos', and mentions filtering. However, it does not differentiate from sibling tools like 'complete_task' or 'add_task', which have distinct purposes, so it loses some clarity.

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

Usage Guidelines2/5

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 vs alternatives. While siblings like 'complete_task' are clearly different, there is no explicit context about when filtering is appropriate or when to use other retrieval tools like 'get_notes'.

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

import_toast_csvA

Import a Toast POS CSV export. Auto-scans ~/Desktop/Toast Imports folder if no path given. Accepts labor, sales summary, or server sales reports.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathNoFull path to CSV. Leave empty to auto-scan ~/Desktop/Toast Imports
business_nameNoRestaurant name for this data

TDQS

A3.8/5.0
Behavior2/5

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

No annotations present. Description discloses auto-scanning behavior but omits details on file format expectations, success/failure outcomes, overwrite behavior, permissions required, or idempotency. For a mutation tool, this is insufficient.

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?

Two sentences with no wasted words. First sentence states core purpose, second adds key details (auto-scan, accepted types). Front-loaded and efficient.

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 two optional parameters and no output schema, the description covers core functionality: import CSV, auto-scan folder, acceptable report types. It omits file format constraints and outcome details but is still largely complete for a simple import tool.

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 description coverage is 100%, with both parameters described in the schema. The description repeats the file_path schema text, adding no new meaning. It does not mention business_name parameter, so no extra value beyond schema.

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?

Description clearly states the tool imports a Toast POS CSV export, specifies verb 'import' and resource 'CSV export.' It lists accepted report types (labor, sales summary, server sales), distinguishing it from sibling read tools like get_sales_summary.

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 provides context on when to omit file_path (auto-scan folder) and lists accepted CSV types. It implicitly differentiates from siblings as an import tool, but lacks explicit when-not-to-use or alternative suggestions.

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

list_importsA

List all previously imported Toast CSV files.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must convey behavior. It indicates a read-only listing operation, but does not disclose details like pagination, ordering, or data freshness. Adequate for a simple list, but lacks depth.

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?

A single sentence containing all essential information. No wasted words; concise and front-loaded.

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

Completeness3/5

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

For a no-parameter list tool, the description is adequate but lacks hints about the output format or any edge cases. Without an output schema, the agent would benefit from knowing what fields or metadata are returned.

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?

There are no parameters (schema coverage is 100%), so the description cannot add parameter-level information. Per guidelines, 0 parameters baseline is 4. No additional value is needed or provided.

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 verb 'List' and the resource 'previously imported Toast CSV files', making the tool's purpose unambiguous. It also implicitly distinguishes from sibling tool 'import_toast_csv', which handles importing.

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 the tool is for viewing past imports but does not explicitly state when to use it over alternatives or provide any exclusions. No guidance on prerequisites or use cases is given beyond the basic purpose.

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

save_noteC

Save a shift note, incident report, or any observation.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
contentYes
categoryNoGeneral
businessNoBoth

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only mentions 'Save' without indicating if it creates or updates, side effects, permissions needed, or data persistence. This is insufficient for a mutation tool.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it is underspecified. It does not earn its place by providing enough information for effective tool usage.

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

Completeness1/5

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 4 parameters with no descriptions, the description is wholly inadequate. It does not explain return values, required permissions, or how to use the tool in context.

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

Parameters1/5

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

Schema description coverage is 0% for all 4 parameters, and the description adds no additional meaning beyond the parameter names. The examples in the description do not clarify what each parameter expects.

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

Purpose4/5

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

The description clearly states the verb 'Save' and the resource 'note', with examples like shift note, incident report, or observation. It is specific enough about what the tool does, though it does not differentiate from siblings like add_task.

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

Usage Guidelines2/5

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. With siblings like add_task and get_notes, the description should indicate when saving a note is appropriate, but it does not provide such context.

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

system_diagnosticB

Run a complete health check of Adam OS. Check all data, tools, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided. Description uses 'check' implying read-only but does not confirm safety, side effects, or resource impact. For a diagnostic tool, this is insufficient disclosure.

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?

Two concise sentences (15 words) front-loading the main action. No wasted text; every word adds value.

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

Completeness2/5

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

Without an output schema, the agent gets no info on return values (e.g., status report format, errors). 'Complete health check' is vague; lacks specifics like system components checked or expected outcomes.

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?

No parameters; schema coverage is 100%. The description correctly implies no inputs needed. Baseline 4 for zero-param tools 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 the verb 'run' and resource 'complete health check of Adam OS', with 'check all data, tools, and status' specifying scope. Distinct from sibling business-operation tools.

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

Usage Guidelines2/5

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

No explicit when-to-use, when-not-to-use, or alternative tools. Only implicit from the name; lacks guidance on prerequisites or conditions for running a diagnostic.

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. Dates show when Glama detected each change.

  1. 14 tool updatesv1.0.0
    • First observedadd_task
    • First observedcalculate_tip_pool
    • First observedcomplete_task
    • First observedget_business_overview
    • First observedget_employee_hours
    • First observedget_labor_summary
    • First observedget_notes
    • First observedget_sales_summary
    • First observedget_server_sales
    • First observedget_tasks
    • First observedimport_toast_csv
    • First observedlist_imports
    • First observedsave_note
    • First observedsystem_diagnostic

TDQS

B3.4/5.0
Disambiguation5/5

Each tool targets a distinct aspect of restaurant management: tasks, sales, labor, notes, imports, and system diagnostics. There is no overlap; even related tools like get_sales_summary and get_server_sales are clearly differentiated by scope.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., add_task, get_sales_summary, import_toast_csv). No mixing of conventions or vague verbs.

Tool Count5/5

With 14 tools covering tasks, sales, labor, imports, and health checks, the count is well-scoped for a restaurant management assistant. Each tool feels necessary without redundancy.

Completeness4/5

The tool set covers core CRUD operations for tasks and notes, plus detailed reporting and imports. Minor gaps exist—no update or delete for tasks/notes—but the core workflows are complete, and the system_diagnostic tool provides additional oversight.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    B
    maintenance
    Enables AI assistants to manage Gerent365 restaurant and business operations via natural language, including employees, schedules, payroll, tips, time tracking, customers, products, reservations, and reports.
    53
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to query live Toast POS data and generate sales, labor, and cash reports while answering restaurant operations questions, all in a read-only manner.
    12
    MIT

Latest Blog Posts

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/adamperna74/ADAM-OS-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server