Skip to main content
Glama
apetta

Vibe Math MCP

by apetta

convert_units

Convert angle measurements between degrees and radians for mathematical calculations and trigonometric functions.

Instructions

Convert between angle units: degrees ↔ radians.

Examples:

DEGREES TO RADIANS: value=180, from_unit="degrees", to_unit="radians" Result: 3.14159... (π)

RADIANS TO DEGREES: value=3.14159, from_unit="radians", to_unit="degrees" Result: 180

RIGHT ANGLE: value=90, from_unit="degrees", to_unit="radians" Result: 1.5708... (π/2)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextNoOptional annotation to label this calculation (e.g., 'Bond A PV', 'Q2 revenue'). Appears in results for easy identification.
output_modeNoOutput format: full (default), compact, minimal, value, or final. See batch_execute tool for details.full
valueYesValue to convert (e.g., 180, 3.14159)
from_unitYesSource unit
to_unitYesTarget unit

Implementation Reference

  • The core @mcp.tool handler implementing convert_units logic: converts angles between degrees and radians using Python's math module functions.
    @mcp.tool(
        name="convert_units",
        description="""Convert between angle units: degrees ↔ radians.
    
    Examples:
    
    DEGREES TO RADIANS:
        value=180, from_unit="degrees", to_unit="radians"
        Result: 3.14159... (π)
    
    RADIANS TO DEGREES:
        value=3.14159, from_unit="radians", to_unit="degrees"
        Result: 180
    
    RIGHT ANGLE:
        value=90, from_unit="degrees", to_unit="radians"
        Result: 1.5708... (π/2)""",
        annotations=ToolAnnotations(
            title="Unit Converter",
            readOnlyHint=True,
            idempotentHint=True,
        ),
    )
    async def convert_units(
        value: Annotated[float, Field(description="Value to convert (e.g., 180, 3.14159)")],
        from_unit: Annotated[Literal["degrees", "radians"], Field(description="Source unit")],
        to_unit: Annotated[Literal["degrees", "radians"], Field(description="Target unit")],
    ) -> str:
        """Convert between angle units."""
        try:
            if from_unit == to_unit:
                result = value
            elif from_unit == "degrees" and to_unit == "radians":
                result = math.radians(value)
            elif from_unit == "radians" and to_unit == "degrees":
                result = math.degrees(value)
            else:
                raise ValueError(f"Unsupported conversion: {from_unit} to {to_unit}")
    
            return format_result(
                result, {"from_unit": from_unit, "to_unit": to_unit, "original_value": value}
            )
        except Exception as e:
            raise ValueError(f"Unit conversion failed: {str(e)}")
  • Input schema using Pydantic Annotated types: value (float), from_unit/to_unit (Literal degrees/radians). Output is formatted str.
        value: Annotated[float, Field(description="Value to convert (e.g., 180, 3.14159)")],
        from_unit: Annotated[Literal["degrees", "radians"], Field(description="Source unit")],
        to_unit: Annotated[Literal["degrees", "radians"], Field(description="Target unit")],
    ) -> str:
  • Import of basic.py module registers the convert_units tool via its @mcp.tool decorator on the mcp instance.
    from .tools import array, basic, batch, calculus, financial, linalg, statistics  # noqa: E402
  • Categorizes 'convert_units' as a Basic tool for batch_execute tool registry and documentation.
    TOOL_CATEGORIES = {
        "Basic": ["calculate", "percentage", "round", "convert_units"],
        "Arrays": ["array_operations", "array_statistics", "array_aggregate", "array_transform"],
        "Statistics": ["statistics", "pivot_table", "correlation"],
        "Financial": ["financial_calcs", "compound_interest", "perpetuity"],
        "Linear Algebra": ["matrix_operations", "solve_linear_system", "matrix_decomposition"],
        "Calculus": ["derivative", "integral", "limits_series"],
    }
  • Documentation example of convert_units in the available_tools resource.
    convert_units: degrees ↔ radians | convert_units(value=180, from_unit="degrees", to_unit="radians") → π

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/apetta/vibe-math-mcp'

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