Sensei MCP

Guía experta para el desarrollo en Dojo y Cairo en Starknet, especializada en el framework Dojo ECS para construir mundos en cadena.

Documentación

Sensei MCP

Sensei MCP es un servidor de Model Context Protocol (MCP) que proporciona orientación experta para el desarrollo con Dojo y Cairo en Starknet. Actúa como tu Sensei personal de Dojo, ofreciendo conocimiento especializado y asistencia para construir mundos onchain utilizando el framework de Sistema de Componentes de Entidades (ECS) de Dojo.

Características

  • Orientación experta en Cairo: Obtén ayuda con los sistemas únicos de propiedad, memoria y tipos de Cairo
  • Arquitectura ECS de Dojo: Aprende sobre los patrones de Modelos, Sistemas y Mundos
  • Desarrollo de Smart Contracts: Mejores prácticas para smart contracts de Starknet
  • Herramientas especializadas: Accede a herramientas específicas para modelos, sistemas, pruebas y más

Uso con Cursor

Instalación

Consulta la documentación oficial de Cursor para obtener más información sobre cómo instalar y usar servidores MCP.

Para añadir Sensei a tu IDE de Cursor:

  1. Abre la paleta de comandos de Cursor (⌘+Shift+P)
  2. Escribe "Cursor Settings" para abrir el menú de configuración
  3. Navega a "MCP Tools" y haz clic en "New MCP Server"
  4. Añade la siguiente configuración a mcp.json:
{
  "mcpServers": {
    "sensei": {
      "type": "command",
      "command": "npx github:dojoengine/sensei-mcp",
      "enabled": true
    }
  }
}
  1. Guarda el archivo

Cursor intentará inicializar el servidor. Una vez inicializado, el menú debería verse así:

Screenshot 2025-06-12 at 6 04 39 PM

Nota: es posible que necesites instalar el servidor manualmente ejecutando npx github:dojoengine/sensei-mcp en tu terminal antes de que Cursor lo detecte.

Uso

Una vez instalado, el Agente de Cursor consultará automáticamente a Sensei cuando sea apropiado. Sigue estas mejores prácticas para obtener resultados óptimos:

  1. Menciona siempre las herramientas especializadas: Pide explícitamente al agente que use las herramientas especializadas de Sensei (por ejemplo, "Por favor, usa la herramienta dojo_model para ayudarme a crear un modelo").

  2. Sigue el enfoque de desarrollo incremental:

    • Comienza con la configuración del proyecto usando dojo_101
    • Define primero los modelos usando dojo_model
    • Implementa los sistemas a continuación usando dojo_logic
    • Configura el proyecto al final usando dojo_config
    • Añade pruebas usando dojo_test
  3. Sé específico en tus solicitudes: Por ejemplo, en lugar de preguntar "Ayúdame con mi juego de Dojo", di "Por favor, usa la herramienta dojo_model para ayudarme a crear un modelo Position para mi juego".

  4. Divide las tareas complejas: Pide ayuda con un componente a la vez en lugar de solicitar la implementación completa de un juego de una sola vez.

Ejemplo de prompt:

I'm building a Dojo game. First, please use the dojo_101 tool to help me set up the project structure.
After that, I'll need help creating the models using the dojo_model tool.

Uso con Claude Code

Para añadir Sensei MCP a Claude Code, ejecuta el siguiente comando:

claude mcp add sensei-mcp npx github:dojoengine/sensei-mcp

Ejecución Directa

También puedes ejecutar Sensei MCP directamente en la terminal:

npx github:dojoengine/sensei-mcp

Herramientas Disponibles

Sensei proporciona herramientas especializadas para diferentes aspectos del desarrollo con Dojo:

  • dojo_101: Introducción amigable para principiantes al desarrollo con Dojo
  • dojo_config: Orientación esencial para configurar proyectos de Dojo
  • dojo_logic: Orientación experta sobre la implementación de sistemas de Dojo y lógica de juego
  • dojo_model: Orientación especializada para crear y trabajar con modelos de Dojo
  • dojo_test: Guía completa para escribir pruebas para aplicaciones de Dojo
  • dojo_token: Orientación detallada sobre la implementación de estándares de tokens en Dojo

Cómo Usar las Herramientas

Cuando chatees con Sensei, puedes solicitar orientación específica mencionando el nombre de la herramienta:

Can you help me understand how to create a model in Dojo?

Sensei usará automáticamente la herramienta adecuada (en este caso, dojo_model) para proporcionar orientación especializada.

Flujo de Trabajo de Desarrollo Recomendado

Para obtener los mejores resultados, sigue este enfoque de desarrollo incremental:

  1. Configuración del Proyecto (usa dojo_101)

    • Inicializa tu proyecto con sozo init
    • Comprende la estructura del proyecto
    • Elimina o reemplaza el código boilerplate
  2. Define Modelos (usa dojo_model)

    • Crea los modelos de estado de tu juego
    • Asegura la derivación adecuada de traits
    • Configura correctamente los campos clave
  3. Implementa Sistemas (usa dojo_logic)

    • Crea contratos de sistemas
    • Implementa mecánicas de juego
    • Maneja cambios de estado
  4. Configuración del Proyecto (usa dojo_config)

    • Configura Scarb.toml
    • Configura los perfiles de Dojo
    • Gestiona dependencias
  5. Pruebas (usa dojo_test)

    • Escribe pruebas exhaustivas
    • Verifica la lógica del juego

Este flujo de trabajo asegura que construyas tu aplicación de Dojo de manera estructurada y metódica, aprovechando el conocimiento especializado de cada herramienta en la etapa adecuada del desarrollo.

Experiencia Principal

Sensei tiene experiencia profunda en:

  • Lenguaje de programación Cairo (incluyendo su sistema único de propiedad, memoria y tipos)
  • Arquitectura ECS de Dojo (Modelos, Sistemas y Mundos)
  • Desarrollo de smart contracts en Starknet
  • Mejores prácticas para el desarrollo de juegos onchain

Desarrollo

Estructura del Proyecto

  • bin/: Contiene el script ejecutable
  • src/: Código fuente del servidor MCP
  • prompts/: Prompts de texto para diferentes aspectos del desarrollo con Dojo
  • resources/: Recursos adicionales utilizados por los prompts

Compilación desde el Código Fuente

# Clone the repository
git clone https://github.com/dojoengine/sensei-mcp.git
cd sensei-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start