OneNote

Interactúa con Microsoft OneNote usando modelos de lenguaje de IA como Claude y otros LLMs.

Documentación

Servidor MCP de OneNote

Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) que permite a modelos de lenguaje de IA como Claude y otros LLMs interactuar con Microsoft OneNote.

Este proyecto se basa en azure-onenote-mcp-server de Zubeid Hendricks, con modificaciones para simplificar la autenticación y mejorar la usabilidad.

¿Qué Hace Esto?

Este servidor permite a los asistentes de IA:

  • Acceder a tus cuadernos, secciones y páginas de OneNote
  • Crear nuevas páginas en tus cuadernos
  • Buscar entre tus notas
  • Leer el contenido completo de las notas, incluyendo formato HTML y texto
  • Analizar y resumir tus notas directamente

Todo esto ocurre directamente a través de la interfaz de IA sin que tengas que cambiar de contexto.

Uso con Asistentes de IA

Configuración para Cursor

  1. Clona este repositorio y sigue los pasos de instalación a continuación

  2. Inicia el servidor MCP: npm start

  3. Registra el servidor en Cursor:

    • Abre las preferencias de Cursor (Cmd+, en Mac o Ctrl+, en Windows)
    • Ve a la pestaña "MCP"
    • Añade un nuevo servidor MCP con estos ajustes:
      • Nombre: onenote
      • Comando: node
      • Argumentos: ["/path/to/your/onenote-mcp.mjs"] (usa la ruta absoluta)

    Aquí está el ejemplo completo de configuración JSON:

    {
      "mcpServers": {
        "onenote": {
          "command": "node",
          "args": ["/absolute/path/to/your/onenote-mcp.mjs"],
          "env": {}
        }
      }
    }
    
  4. Reinicia Cursor

  5. En Cursor, ahora puedes interactuar con tus datos de OneNote usando lenguaje natural:

Can you show me my OneNote notebooks?
Create a new page in my first notebook with a summary of this conversation
Find notes related to "project planning" in my OneNote

La primera vez que preguntes sobre OneNote, la IA te guiará a través del proceso de autenticación.

Configuración para Claude Desktop (u otros asistentes compatibles con MCP)

  1. Clona este repositorio y sigue los pasos de instalación a continuación

  2. Inicia el servidor MCP: npm start

  3. En la configuración de Claude Desktop, añade el servidor MCP de OneNote:

    • Nombre: onenote
    • Comando: node
    • Argumentos: ["/path/to/your/onenote-mcp.mjs"] (usa la ruta absoluta)

    Ejemplo de configuración JSON:

    {
      "mcpServers": {
        "onenote": {
          "command": "node",
          "args": ["/absolute/path/to/your/onenote-mcp.mjs"],
          "env": {}
        }
      }
    }
    
  4. Ahora puedes pedirle a Claude que interactúe con tus datos de OneNote

Características

  • Autenticación con Microsoft OneNote usando flujo de código de dispositivo (no se necesita configuración de Azure)
  • Listar todos los cuadernos, secciones y páginas
  • Crear nuevas páginas con contenido HTML
  • Leer el contenido completo de las páginas, incluyendo formato HTML
  • Extraer contenido de texto para análisis y resúmenes de IA
  • Resumir el contenido de todas las páginas en una sola operación
  • Leer el contenido completo de todas las páginas en un formato legible
  • Buscar entre tus notas

Instalación

Requisitos previos

  • Node.js 16 o superior (instalar desde nodejs.org)
  • Una cuenta de Microsoft activa con acceso a OneNote
  • Git (instalar desde git-scm.com)

Paso 1: Clonar el Repositorio

git clone https://github.com/yourusername/onenote-mcp.git
cd onenote-mcp

Paso 2: Descargar el SDK de TypeScript

Este proyecto requiere el SDK de TypeScript de MCP, que debe descargarse por separado:

git clone https://github.com/modelcontextprotocol/typescript-sdk.git
cd typescript-sdk
npm install
npm run build
cd ..

Paso 3: Instalar las Dependencias del Proyecto

npm install

Paso 4: Iniciar el Servidor MCP

npm start

Esto iniciará el servidor MCP y verás un mensaje:

Server started successfully.
Use the "authenticate" tool to start the authentication flow,
or use "saveAccessToken" if you already have a token.

Paso 5: Autenticarse a Través de tu Asistente de IA

Una vez que el servidor esté en ejecución, puedes autenticarte directamente a través de tu asistente de IA:

  1. En Cursor, Claude Desktop de Anthropic, o cualquier asistente compatible con MCP, pide autenticarse con OneNote:

    Can you authenticate with my OneNote account?
    
  2. La IA activará el flujo de autenticación y te proporcionará:

    • Una URL (normalmente microsoft.com/devicelogin)
    • Un código para introducir
  3. Ve a la URL, introduce el código e inicia sesión con tu cuenta de Microsoft

  4. Después de una autenticación exitosa, puedes empezar a usar OneNote con tu asistente de IA

Herramientas MCP Disponibles

Una vez autenticado, las siguientes herramientas están disponibles para que los asistentes de IA las usen:

Nombre de la HerramientaDescripción
authenticateIniciar el flujo de autenticación de Microsoft
listNotebooksObtener una lista de todos tus cuadernos de OneNote
getNotebookObtener detalles de un cuaderno específico
listSectionsListar todas las secciones de un cuaderno
listPagesListar todas las páginas de una sección
getPageObtener el contenido completo de una página específica, incluyendo formato HTML
createPageCrear una nueva página con contenido HTML
searchPagesBuscar páginas en todos tus cuadernos

Ejemplos de Interacción

Aquí hay algunos ejemplos de cómo puedes interactuar con el MCP de OneNote a través de tu asistente de IA:

User: Can you show me my OneNote notebooks?
AI: (uses listNotebooks) I found 3 notebooks: "Work", "Personal", and "Projects"

User: What sections are in my Projects notebook?
AI: (uses listSections) Your Projects notebook has the following sections: "Active Projects", "Ideas", and "Completed"

User: Create a new page in Projects with today's date as the title
AI: (uses createPage) I've created a new page titled "2025-04-12" in your Projects notebook

User: Find all my notes about machine learning
AI: (uses searchPages) I found 5 pages with content related to machine learning...

User: Can you read and summarize my notes on the "Project Requirements" page?
AI: (uses getPage) Based on your "Project Requirements" page, here's a summary: The project requires Python 3.8+, integration with AWS services, and completion by Q3. Key deliverables include a web dashboard, API, and documentation...

User: Extract all the action items from my "Team Meeting" notes
AI: (uses getPage) Here are all the action items from your "Team Meeting" notes:
1. John to complete API documentation by Friday
2. Sarah to schedule design review meeting
3. Team to finalize Q3 roadmap by end of month

User: Summarize content of all my OneNote pages
AI: (runs get-all-page-contents.js) Here's a summary of all your pages:
- Questions: Contains strategic business questions about competitor analysis
- 2025-04-12: Discussion about monetization strategy for bank transfers
- Role Specification: Details about the Chief Payments Officer position
...

User: I want to read through all my OneNote pages so I can ask questions about them
AI: (runs read-all-pages.js) I've retrieved the full content of all your pages in a readable format. Now you can ask me specific questions about any of the content.

Avanzado: Uso Directo de Scripts

Para fines de prueba o desarrollo, también puedes usar los scripts proporcionados directamente:

# Authenticate with Microsoft
npm run auth

# List your notebooks
npm run list-notebooks

# List sections in your first notebook
npm run list-sections

# List pages in the first section
npm run list-pages

# Create a new page
npm run create-page

# Summarize content of all pages
node get-all-page-contents.js

# Read full content of all pages
node read-all-pages.js

Solución de Problemas

Problemas de Autenticación

  • Si la autenticación falla, asegúrate de usar un navegador moderno sin prevención de rastreo
  • Intenta borrar las cookies y la caché del navegador
  • Si recibes errores de "expired_token", reinicia el proceso de autenticación

El Servidor No Se Inicia

  • Verifica que Node.js esté instalado (versión 16+): node --version
  • Asegúrate de que todas las dependencias estén instaladas: npm install
  • Comprueba que el SDK de TypeScript se haya compilado correctamente

La IA No Puede Conectarse al Servidor

  • Asegúrate de que el servidor MCP esté en ejecución (npm start)
  • Comprueba la configuración de tu asistente de IA para asegurarte de que esté configurado para usar MCP
  • Para Cursor, asegúrate de que sea la última versión que soporta MCP

Notas de Seguridad

  • Los tokens de autenticación se almacenan localmente en .access-token.txt
  • Los tokens otorgan acceso a tus datos de OneNote, así que mantenlos seguros
  • Los tokens caducan después de un tiempo, requiriendo re-autenticación
  • No se requiere configuración de Azure ni claves de API

Créditos

Este proyecto se basa en azure-onenote-mcp-server de Zubeid Hendricks, con un enfoque en simplificar el proceso de autenticación y mejorar la experiencia de usuario con asistentes de IA.

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles