Kibela
Un servidor MCP para integrarse con la API de Kibela, que permite a los LL
Documentación
Servidor MCP de Kibela
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.
[!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úsquedacoediting(booleano, opcional): Filtrar por estado de coediciónisArchived(booleano, opcional): Filtrar por estado de archivosortBy(cadena, opcional): Ordenar por (RELEVANT, CONTENT_UPDATED_AT)userIds(cadena[], opcional): Filtrar por IDs de usuariofolderIds(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 notainclude_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 grupoparentFolderId(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 carpetalimit(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
- Clona el repositorio
- 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