ti-nspire-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TI_NSPIRE_MOCK | No | Mock mode (TI_NSPIRE_MOCK=1). Simulates the USB hardware (0x0451:0xE022), the RGB565 framebuffer and the internal filesystem for deterministic execution in GitHub Actions and tests without a physical calculator. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_calculator_statusA | Verifica el estado de conexión USB de la calculadora Texas Instruments en el ordenador. Detecta modelos como TI-Nspire CX II, TI-Nspire CX, TI-84 Plus CE, etc. |
| direct_upload_tnsA | Sube un archivo .tns directamente al almacenamiento interno de la calculadora TI-Nspire por USB mediante el protocolo de paquetes NavNet/DocLink (servicio 0x4060, Bulk Endpoints IN/OUT) sin depender de ningún navegador web externo. :param filename: Nombre de destino del archivo (ej. 'solucionador.tns'). :param python_code: Código Python opcional para empaquetar al vuelo antes de subir. :param local_tns_path: Ruta local opcional a un archivo .tns ya existente en disco. :param remote_directory: Carpeta de destino en la memoria de la calculadora (por defecto '/PyLib'). |
| capture_screen_liveA | Envía el paquete NavNet de solicitud de captura de framebuffer (0x4024 / 0x4021) a la TI-Nspire, recibe los píxeles en formato RGB565 (16 bits, 320x240), los convierte con Pillow a PNG y los devuelve codificados en Base64 para análisis visual por la IA. :param save_path: Ruta opcional en disco donde guardar también el archivo .png. |
| list_remote_filesystemA | Lee el árbol de directorios interno de la memoria Flash de la calculadora TI-Nspire mediante el servicio NavNet 0x4060. :param directory: Directorio remoto a consultar (ej. '/', '/PyLib', '/MyLib'). |
| create_python_tns_documentA | Empaqueta código Python en un archivo de documento .tns listo para transferir y ejecutar directamente en la TI-Nspire CX II. Incluye verificación preventiva de MicroPython. :param filename: Nombre del archivo (ejemplo: 'solucionador.tns' o 'app') :param python_code: Código fuente en Python para la calculadora. :param output_directory: Carpeta de destino (por defecto el Escritorio del usuario). |
| convert_script_to_tnsC | Convierte un archivo .py existente en tu computadora a formato .tns de TI-Nspire. :param python_script_path: Ruta absoluta al archivo .py a convertir. |
| create_multipage_tns_documentB | Genera un documento .tns avanzado con soporte multipágina y multiaplicación: hojas de cálculo ('spreadsheet'), notas matemáticas formateadas con LaTeX ('notes'), scripts de Python ('python'), scripts de Lua ('lua'), calculadoras CAS ('calculator') y binarios nativos de Ndless ('ndless'). :param filename: Nombre del archivo .tns a crear. :param pages: Lista de especificaciones de página (TNSPageSpec: page_type, title, content, formulas_latex, spreadsheet_columns). :param document_title: Título global del documento. :param output_directory: Directorio donde guardar el archivo .tns. |
| convert_latex_to_nspire_xmlB | Convierte expresiones matemáticas en LaTeX a etiquetas XML matemáticas nativas de TI-Nspire () y a notación simbólica interna de TI-Nspire OS. :param latex_expression: Expresión en LaTeX (ej. '\frac{-b \pm \sqrt{b^{2}-4ac}}{2a}'). :param evaluate: Si es True, marca la etiqueta para evaluación automática. |
| create_lua_or_ndless_tnsA | Empaqueta un script de Lua (motor TI-Nspire Script App) o una aplicación nativa de Ndless (cabecera PRG\x00) en un archivo .tns ejecutable. :param filename: Nombre del archivo .tns a generar. :param mode: 'lua' para scripts Lua o 'ndless' para aplicaciones nativas Ndless. :param code_or_payload: Código fuente Lua o payload para Ndless. :param output_directory: Carpeta de salida opcional. |
| inspect_tns_documentB | Parsea e inspecciona un archivo .tns existente, devolviendo sus páginas, tipos de aplicación (Python, Notas, Hoja de Cálculo, Lua, Ndless), código fuente embebido y fórmulas . :param tns_path: Ruta al archivo .tns que se desea analizar. |
| validate_micropython_codeA | Herramienta de depuración preventiva de código MicroPython antes del envío a la TI-Nspire CX II. Verifica sintaxis AST, módulos restringidos, coordenadas fuera de pantalla (320x240), rangos de color RGB (0-255) y huella de RAM. :param python_code: Código Python a validar. |
| get_device_specsB | Proporciona especificaciones técnicas completas, módulos de Python soportados y restricciones de hardware de la calculadora Texas Instruments. |
| generate_python_templateB | Genera plantillas de código listas y optimizadas para el entorno Python de la TI-Nspire CX II. :param template_type: 'math_solver', 'graphics', 'serial_receiver' o 'notes_viewer' |
| generate_esp32_firmwareB | Genera sketches de Arduino (.ino), configuración ESP-IDF, cliente MicroPython para TI-Nspire
y comandos listos para compilar con :param mode: 'iphone_remote_screen', 'serial_wifi_bridge' o 'ai_assistant_proxy'. :param ssid: Nombre de la red Wi-Fi / Hotspot creada por el ESP32. :param password: Contraseña WPA2 (mínimo 8 caracteres). :param baud_rate: Velocidad de puerto serie UART entre ESP32 y TI-Nspire. :param output_directory: Directorio opcional donde guardar los archivos listos para compilar. |
| sync_esp32_remote_screenC | Sincroniza en tiempo real la captura de pantalla de la TI-Nspire CX II y comandos bidireccionales con la placa ESP32 para el modo "Pantalla Remota desde iPhone" (WebSockets / Serial). :param status_text: Texto de estado a mostrar en el visor remoto de iPhone. :param command: Comando o evento de tecla opcional a transmitir de forma bidireccional. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| crear-solucionador-paso-a-paso | Flujo guiado para diseñar, validar y subir un solucionador interactivo paso a paso a la TI-Nspire CX II. |
| generar-chuleta-formulas-tns | Crea un documento .tns multipágina con fórmulas en LaTeX (<expr>), tablas y visor gráfico rápido. |
| diagnosticar-bootloop | Guía interactiva para diagnosticar problemas de arranque, memoria llena o conflictos de Ndless/OS en TI-Nspire. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| calculator_screenshot | Recurso dinámico que devuelve la pantalla actual 320x240 de la calculadora TI-Nspire para modelos multimodales. |
| calculator_storage | Recurso dinámico con métricas en tiempo real de memoria Flash, RAM, batería y sistema de archivos raíz. |
TDQS
Scored across 15 tools
Four separate tools produce .tns files (create_python_tns_document, convert_script_to_tns, create_multipage_tns_document, create_lua_or_ndless_tns) and the multipage tool explicitly supports Python and Lua pages, so its boundary with the single-purpose variants is genuinely fuzzy. The descriptions help somewhat, but an agent must read carefully to pick the right document generator.
Nearly all names follow a snake_case verb_noun pattern (get_calculator_status, list_remote_filesystem, create_multipage_tns_document, inspect_tns_document). The only real deviation is direct_upload_tns with an adverb prefix, a minor inconsistency.
15 tools sits at the upper end of a reasonable range and the core USB/.tns workflow justifies most of them. However, generate_esp32_firmware and sync_esp32_remote_screen expand into a separate hardware domain, suggesting mild scope creep.
The surface is heavy on authoring (.tns creation, LaTeX conversion, validation) and covers status, upload, listing, and screen capture, but there is no tool to download a file off the calculator or delete remote files, which are notable gaps for a USB file-transfer server. Creating and reading documents is covered, but the remote storage lifecycle is not.