Kibela

Un servidor MCP para integrarse con la API de Kibela, que permite a los LL

Documentación

Servidor MCP de Kibela

NPM Downloads License: MIT Trust Score LightNow capabilities

Implementación del servidor MCP para la integración con la API de Kibela, que permite a los LLMs interactuar con el contenido de Kibela.

ExampleKibela Server MCP server

[!TIP] Esta extensión realiza la introspección del esquema GraphQL utilizando las funciones buildClientSchema, getIntrospectionQuery y printSchema del paquete graphql para realizar ingeniería inversa de la API de Kibela. Para más detalles, consulte aquí

Características

  • Buscar notas con filtros avanzados
  • Obtener tus notas más recientes
  • Obtener el contenido y los comentarios de las notas
  • Gestionar grupos y carpetas
  • Dar "me gusta" / quitar "me gusta" a las notas
  • Listar usuarios
  • Ver archivos adjuntos de las notas
  • Ver notas vistas recientemente
  • Obtener notas por ruta

Configuración

Variables de entorno

  • KIBELA_TEAM: El nombre de tu equipo en Kibela (obligatorio)
  • KIBELA_TOKEN: Tu token de API de Kibela (obligatorio)

Integración con Cursor

Añade a tu ~/.cursor/mcp.json:

{
    "mcpServers": {
        "kibela": {
            "command": "npx",
            "args": ["-y", "@kiwamizamurai/mcp-kibela-server"],
            "env": {
                "KIBELA_TEAM": "YOUR_TEAM_NAME",
                "KIBELA_TOKEN": "YOUR_TOKEN"
            }
        }
    }
}

Si prefieres usar Docker en su lugar

{
    "mcpServers": {
        "kibela": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "KIBELA_TEAM",
                "-e",
                "KIBELA_TOKEN",
                "ghcr.io/kiwamizamurai/mcp-kibela-server:latest"
            ],
            "env": {
                "KIBELA_TEAM": "YOUR_TEAM_NAME",
                "KIBELA_TOKEN": "YOUR_TOKEN"
            }
        }
    }
}

Herramientas

kibela_search_notes

Busca notas en Kibela con la consulta dada

  • Entrada:
    • query (cadena): Consulta de búsqueda
    • coediting (booleano, opcional): Filtrar por estado de coedición
    • isArchived (booleano, opcional): Filtrar por estado de archivo
    • sortBy (cadena, opcional): Ordenar por (RELEVANT, CONTENT_UPDATED_AT)
    • userIds (cadena[], opcional): Filtrar por IDs de usuario
    • folderIds (cadena[], opcional): Filtrar por IDs de carpeta
  • Devuelve: Lista de notas coincidentes con ID, título, URL, autor, grupos y más

kibela_get_my_notes

Obtén tus notas más recientes de Kibela

  • Entrada:
    • limit (número, opcional): Número de notas a obtener (por defecto: 15)
  • Devuelve: Lista de tus notas más recientes con información del autor

kibela_get_note_content

Obtén el contenido y los comentarios de una nota específica

  • Entrada:
    • id (cadena): ID de la nota
    • include_image_data (booleano, opcional): Si se deben incluir las URL de datos de imagen en la respuesta (por defecto: false)
  • Devuelve: Contenido completo de la nota, incluyendo HTML, comentarios, archivos adjuntos, grupos, carpetas y más

kibela_get_groups

Obtén la lista de grupos accesibles

  • Entrada: Ninguna
  • Devuelve: Lista de grupos con detalles como configuraciones de privacidad y permisos

kibela_get_group_folders

Obtén las carpetas de un grupo

  • Entrada:
    • groupId (cadena): ID del grupo
    • parentFolderId (cadena, opcional): ID de la carpeta principal para carpetas anidadas
  • Devuelve: Lista de carpetas con sus notas y metadatos

kibela_get_group_notes

Obtén las notas de un grupo que no están adjuntas a ninguna carpeta

  • Entrada:
    • groupId (cadena): ID del grupo
  • Devuelve: Lista de notas con información del autor, ordenadas por hora de última actualización

kibela_get_folder_notes

Obtén las notas de una carpeta

  • Entrada:
    • folderId (cadena): ID de la carpeta
    • limit (número, opcional): Número de notas a obtener (por defecto: 100)
  • Devuelve: Lista de notas con información del autor, ordenadas por hora de última actualización

kibela_get_users

Obtén la lista de usuarios

  • Entrada: Ninguna
  • Devuelve: Lista de usuarios con ID, cuenta y nombre real

kibela_like_note

Da "me gusta" a una nota

  • Entrada:
    • noteId (cadena): ID de la nota
  • Devuelve: Lista actualizada de personas que dieron "me gusta"

kibela_unlike_note

Quita el "me gusta" de una nota

  • Entrada:
    • noteId (cadena): ID de la nota
  • Devuelve: Lista actualizada de personas que dieron "me gusta"

kibela_get_recently_viewed_notes

Obtén tus notas vistas recientemente

  • Entrada:
    • limit (número, opcional): Número de notas a obtener (máximo 15)
  • Devuelve: Lista de notas vistas recientemente con información del autor

kibela_get_note_from_path

Obtén el contenido de una nota por su ruta o URL

  • Entrada:
    • path (cadena): Ruta de la nota (p. ej. '/group/folder/note') o URL completa de Kibela (p. ej. 'https://team.kibe.la/notes/123')
    • include_image_data (booleano, opcional): Si se deben incluir las URL de datos de imagen en la respuesta (por defecto: false)
  • Devuelve: Contenido completo de la nota, incluyendo HTML, comentarios, archivos adjuntos, grupos, carpetas y más

Desarrollo local

Ejecución desde el código fuente

  1. Clona el repositorio
  2. Instala las dependencias: npm install

Configuración del entorno

Para el desarrollo local, actualiza tu ~/.cursor/mcp.json:

{
    "mcpServers": {
        "kibela": {
            "command": "node",
            "args": ["path/to/mcp-kibela-server/dist/src/index.js"],
            "env": {
                "KIBELA_TEAM": "YOUR_TEAM_NAME",
                "KIBELA_TOKEN": "YOUR_TOKEN"
            }
        }
    }
}

Inspector de MCP

npx @modelcontextprotocol/inspector node ./dist/src/index.js

y establece las variables de entorno

Docker

Compila y ejecuta localmente:

docker build -t mcp-kibela-server .

Luego usa esta configuración:

{
    "mcpServers": {
        "kibela": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "KIBELA_TEAM",
                "-e",
                "KIBELA_TOKEN",
                "mcp-kibela-server"
            ],
            "env": {
                "KIBELA_TEAM": "YOUR_TEAM_NAME",
                "KIBELA_TOKEN": "YOUR_TOKEN"
            }
        }
    }
}

Para el transporte SSE, asegúrate de que la URL del servidor esté configurada como: http://localhost:3000/sse

Otros productos