Skip to main content
Glama
apetta
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