Skip to main content
Glama
pranav-v-k

Calculator MCP Server

by pranav-v-k

AI Production Planner MCP (auto-planner-mcp)

An Industry 4.0 AI Production Planning MCP (Model Context Protocol) Server for automotive manufacturing lines. This system provides unified assembly queue management, intelligent build plan resequencing, Just-In-Sequence (JIS) inventory tracking, Overall Equipment Effectiveness (OEE) analytics, and financial downtime impact calculations.


πŸ“ System Architecture & Structure

auto-planner-mcp/
β”œβ”€β”€ data/                      # Industry 4.0 Mock Datasets
β”‚   β”œβ”€β”€ assembly_queue.json    # Active vehicle assembly queue (VINs, models, seat types)
β”‚   β”œβ”€β”€ inventory_jit.json     # Just-In-Time/Sequence parts inventory & ETA tracking
β”‚   └── station_oee.json       # Assembly station efficiency & operational status
β”œβ”€β”€ teammates/                 # Core Production Logic Engines
β”‚   β”œβ”€β”€ dev_a/                 # Assembly Queue & Resequencing Module
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   └── logic.py
β”‚   └── dev_b/                 # Inventory & OEE Analytics Module
β”‚       β”œβ”€β”€ __init__.py
β”‚       └── logic.py
β”œβ”€β”€ package.json               # NitroStack MCP server configuration
└── tsconfig.json              # TypeScript configuration

Related MCP server: NitroStack Calculator MCP Server

✨ Features & Production Tools

🚘 Assembly Queue & Resequencing Module

  • get_assembly_sequence(shift_id: str, line_id: str)

    • Retrieves the active build queue for a specified shift and assembly line.

  • resequence_build_plan(delay_reason: str, missing_option: str)

    • Dynamically resequences the assembly line schedule when part shortages occur (e.g., missing seat trims) by prioritizing available vehicle configurations and shifting delayed VINs to the end of the queue.

🏭 Inventory & Equipment Analytics Module

  • check_jis_inventory(part_number: str, vin_sequence: str = None)

    • Checks stock levels, supplier ETAs, and shortage indicators for required JIS automotive components.

  • calculate_station_oee(station_id: str)

    • Calculates Overall Equipment Effectiveness ($OEE = Availability \times Performance \times Quality$) for assembly stations (e.g., STATION_WELDING).

  • estimate_downtime_cost(stopped_station_id: str)

    • Computes estimated financial losses based on station downtime duration (assumes $$22,000/\text{min}$ for non-running stations).


πŸ“Š Data Schemas

Dataset

File Path

Key Attributes

Assembly Queue

data/assembly_queue.json

vin, model, trim, seat_type, status

JIT Inventory

data/inventory_jit.json

stock, supplier_eta, shortage

Station OEE

data/station_oee.json

availability, performance, quality, status


πŸš€ Running the MCP Server

# Start in development mode
npm run dev

# Build the project
npm run build

# Start production server
npm start

Available Tools

2 tools
calculateC

Perform basic arithmetic calculations

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesFirst number
bYesSecond number
operationYesThe operation to perform

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility. It states it performs calculations but omits potential side effects like division-by-zero errors or whether the tool is read-only, leaving behavior ambiguous.

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 extremely concise, using only four words to convey the entire purpose. There is no redundancy or unnecessary elaboration.

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?

The description lacks essential context such as the return format, error handling, or precision of results. Given no output schema and no annotations, the tool is incomplete for an agent to fully understand behavior without additional inference.

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 schema descriptions cover all parameters, giving a baseline of 3. The tool description itself adds no extra meaning beyond the schema, but the schema already defines 'a', 'b', and 'operation' sufficiently for basic arithmetic.

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 tool performs basic arithmetic calculations, which is a specific action. It distinguishes itself from sibling tools like convert_temperature by being generic, though it lacks detail on exact operations.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives such as convert_temperature. There is no mention of typical use cases or conditions for selection.

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

convert_temperatureC

Convert temperature units based on file content or direct input. Supports Celsius (C) and Fahrenheit (F).

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNoTemperature value to convert
to_unitNoUnit to convert to (C or F)
file_nameYesName of the uploaded file
file_typeYesMIME type of the uploaded file
from_unitNoUnit to convert from (C or F)
file_contentYesBase64 encoded file content. Will be injected by system.

TDQS

C2.7/5.0
Behavior1/5

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

The description states the tool works 'based on file content or direct input', but the schema requires file_name, file_type, and file_content for all invocations, making direct input impossible without dummy file data. This contradiction is misleading and fails to disclose the actual required behavior.

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?

The description is a single, short sentence that gets to the point quickly. It could be slightly more explicit about the file/direct input behavior, but overall it is concise and well-structured.

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?

The description lacks necessary context about the relationship between the file parameters and the temperature conversion parameters, especially given the required fields. There is also no explanation of output format or behavior when both file and direct input are provided, leaving the tool's usage incomplete.

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?

All parameters have descriptions, so schema coverage is complete, meeting the baseline. However, the descriptions are minimal, and the file-related parameters are confusing because they are marked required even for 'direct input' and provide no clarity on their purpose or interaction with the value/from_unit/to_unit parameters.

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 tool converts temperature units between Celsius and Fahrenheit, identifying the specific verb and resource. However, the mention of 'file content or direct input' introduces some ambiguity about the exact mode of operation, slightly detracting from full 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 versus the sibling tools like 'calculate' or 'upload-and-analyze'. The description only explains what the tool does, not the scenarios in which it should be preferred.

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. 2 tool updatesv1.0.0
    • First observedcalculate
    • First observedconvert_temperature

TDQS

A3.5/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one for arithmetic calculations and one for temperature conversion. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tool names follow a consistent verb-based pattern: 'calculate' and 'convert_temperature'. Though one is a single verb and the other is verb_noun, the style is coherent and predictable.

Tool Count4/5

With only two tools, the server is minimal but appropriate for a focused calculator MCP server. It feels slightly thin but not unreasonable.

Completeness3/5

The server covers basic arithmetic and temperature conversion, but lacks other common calculator features such as advanced math functions or general unit conversion. The coverage is adequate for a narrow calculator domain but has notable gaps.

Maintenance

ActivitySlowing
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
    A
    quality
    C
    maintenance
    A minimal NitroStack starter template with a calculator module including tools, resources, and prompts for learning MCP server fundamentals.
    4
    -
  • F
    license
    B
    quality
    C
    maintenance
    A minimal MCP server template for learning NitroStack fundamentals, featuring a calculator module with tools, resources, and prompts.
    6
    -
  • F
    license
    C
    quality
    C
    maintenance
    A minimal MCP server template for learning NitroStack fundamentals, featuring a calculator module with tools, resources, and prompts.
    9
    -