Notion

Se integra con la API de Notion para gestionar la lista de tareas personales

Documentación

Integración MCP de Notion

Un servidor simple de Model Context Protocol (MCP) que se integra con la API de Notion para gestionar mi lista personal de tareas pendientes a través de Claude. Esta es una implementación básica adaptada específicamente para mi configuración minimalista de lista de tareas en Notion.

Nota importante

Este es un proyecto personal diseñado para un caso de uso muy específico: mi lista simple de tareas de Notion que tiene solo tres propiedades:

  • Tarea (título)
  • Cuándo (select con solo dos opciones: "hoy" o "después")
  • Casilla de verificación (marca si está completada)

Base de datos de ejemplo de Notion

Aunque puedes usar esto como punto de partida para tu propia integración con Notion, probablemente necesitarás modificar el código para que coincida con la estructura y los requisitos específicos de tu base de datos.

Características

  • Agregar nuevos elementos de tareas pendientes
  • Ver todas las tareas pendientes
  • Ver las tareas de hoy
  • Marcar una tarea como completada

Requisitos previos

  • Python 3.10 o superior
  • Una cuenta de Notion
  • Una integración de Notion (clave de API)
  • Una base de datos de Notion que coincida con la estructura exacta descrita anteriormente (o disposición para modificar el código según tu estructura)

Configuración

  1. Clona el repositorio:
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp
  1. Configura el entorno de Python:
python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
uv pip install -e .
  1. Crea una integración de Notion:

  2. Comparte tu base de datos con la integración:

    • Abre tu base de datos de tareas en Notion
    • Haz clic en el menú "..." → "Agregar conexiones"
    • Selecciona tu integración
  3. Crea un archivo .env:

NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
  1. Configura Claude Desktop:
{
  "mcpServers": {
    "notion-todo": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-m", "notion_mcp"],
      "cwd": "/path/to/notion-mcp"
    }
  }
}

Ejecutar el servidor

El servidor se puede ejecutar de dos maneras:

  1. Directamente desde la línea de comandos:
# From the project directory with virtual environment activated
python -m notion_mcp
  1. Automáticamente a través de Claude Desktop (recomendado):
  • El servidor se iniciará cuando Claude se abra si está configurado correctamente en claude_desktop_config.json
  • No se necesita gestión manual del servidor
  • El servidor se detiene cuando Claude se cierra

Nota: Cuando se ejecuta directamente, el servidor no mostrará ninguna salida a menos que haya un error; esto es normal, ya que está esperando comandos MCP.

Uso

Comandos básicos a través de Claude:

  • "Muéstrame todas mis tareas pendientes"
  • "¿Qué hay en mi lista para hoy?"
  • "Agrega una tarea para hoy: revisar correos"
  • "Agrega una tarea para después: revisar proyecto"

Limitaciones

  • Solo funciona con una estructura específica de base de datos de Notion
  • Sin soporte para esquemas de base de datos complejos
  • Limitado a la programación de tareas "hoy" o "después"
  • Sin soporte para propiedades adicionales o campos personalizados
  • Manejo básico de errores
  • Sin funciones avanzadas como tareas recurrentes, prioridades o etiquetas

Personalización

Si deseas usar esto con una estructura de base de datos diferente, necesitarás modificar el archivo server.py, particularmente:

  • La función create_todo() para que coincida con las propiedades de tu base de datos
  • El formato de tareas en call_tool() para manejar tu estructura de datos
  • El esquema de entrada en list_tools() si deseas diferentes opciones

Estructura del proyecto

notion_mcp/
├── pyproject.toml
├── README.md
├── .env                   # Not included in repo
└── src/
    └── notion_mcp/
        ├── __init__.py
        ├── __main__.py
        └── server.py      # Main implementation

Licencia

Licencia MIT: úsalo bajo tu propio riesgo

Agradecimientos

  • Construido para funcionar con Claude Desktop
  • Utiliza la API de Notion