Kibela

Um servidor MCP para integração com a API do Kibela, permitindo que LLMs acessem e gerenciem conteúdo na plataforma de compartilhamento de conhecimento.

Documentação

Servidor MCP Kibela

NPM Downloads License: MIT Trust Score LightNow capabilities

Implementação de servidor MCP para integração com a API do Kibela, permitindo que LLMs interajam com o conteúdo do Kibela.

ExampleKibela Server MCP server

[!TIP] Esta extensão realiza introspecção de esquema GraphQL usando as funções buildClientSchema, getIntrospectionQuery e printSchema do pacote graphql para fazer engenharia reversa da API do Kibela. Para mais detalhes, veja aqui

Recursos

  • Buscar notas com filtros avançados
  • Obter suas notas mais recentes
  • Obter conteúdo e comentários de notas
  • Gerenciar grupos e pastas
  • Curtir/descurtir notas
  • Listar usuários
  • Visualizar anexos de notas
  • Visualizar notas recentemente vistas
  • Obter notas por caminho

Configuração

Variáveis de Ambiente

  • KIBELA_TEAM: Nome do seu time no Kibela (obrigatório)
  • KIBELA_TOKEN: Token da API do Kibela (obrigatório)

Integração com Cursor

Adicione ao seu ~/.cursor/mcp.json:

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

Se preferir usar docker:

{
    "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"
            }
        }
    }
}

Ferramentas

kibela_search_notes

Busca notas no Kibela com a consulta fornecida

  • Entrada:
    • query (string): Consulta de busca
    • coediting (boolean, opcional): Filtrar por status de coedição
    • isArchived (boolean, opcional): Filtrar por status de arquivamento
    • sortBy (string, opcional): Ordenar por (RELEVANT, CONTENT_UPDATED_AT)
    • userIds (string[], opcional): Filtrar por IDs de usuários
    • folderIds (string[], opcional): Filtrar por IDs de pastas
  • Retorna: Lista de notas correspondentes com ID, título, URL, autor, grupos e mais

kibela_get_my_notes

Obtém suas notas mais recentes do Kibela

  • Entrada:
    • limit (number, opcional): Número de notas a buscar (padrão: 15)
  • Retorna: Lista das suas notas mais recentes com informações do autor

kibela_get_note_content

Obtém conteúdo e comentários de uma nota específica

  • Entrada:
    • id (string): ID da nota
    • include_image_data (boolean, opcional): Se deve incluir URLs de dados de imagem na resposta (padrão: false)
  • Retorna: Conteúdo completo da nota incluindo HTML, comentários, anexos, grupos, pastas e mais

kibela_get_groups

Obtém lista de grupos acessíveis

  • Entrada: Nenhuma
  • Retorna: Lista de grupos com detalhes como configurações de privacidade e permissões

kibela_get_group_folders

Obtém pastas em um grupo

  • Entrada:
    • groupId (string): ID do grupo
    • parentFolderId (string, opcional): ID da pasta pai para pastas aninhadas
  • Retorna: Lista de pastas com suas notas e metadados

kibela_get_group_notes

Obtém notas em um grupo que não estão anexadas a nenhuma pasta

  • Entrada:
    • groupId (string): ID do grupo
  • Retorna: Lista de notas com informações do autor, ordenadas pela última atualização

kibela_get_folder_notes

Obtém notas em uma pasta

  • Entrada:
    • folderId (string): ID da pasta
    • limit (number, opcional): Número de notas a buscar (padrão: 100)
  • Retorna: Lista de notas com informações do autor, ordenadas pela última atualização

kibela_get_users

Obtém lista de usuários

  • Entrada: Nenhuma
  • Retorna: Lista de usuários com ID, conta e nome real

kibela_like_note

Curtir uma nota

  • Entrada:
    • noteId (string): ID da nota
  • Retorna: Lista atualizada de quem curtiu

kibela_unlike_note

Descurtir uma nota

  • Entrada:
    • noteId (string): ID da nota
  • Retorna: Lista atualizada de quem curtiu

kibela_get_recently_viewed_notes

Obtém suas notas recentemente vistas

  • Entrada:
    • limit (number, opcional): Número de notas a buscar (máx. 15)
  • Retorna: Lista de notas recentemente vistas com informações do autor

kibela_get_note_from_path

Obtém conteúdo da nota pelo caminho ou URL

  • Entrada:
    • path (string): Caminho da nota (ex.: '/group/folder/note') ou URL completa do Kibela (ex.: 'https://team.kibe.la/notes/123')
    • include_image_data (boolean, opcional): Se deve incluir URLs de dados de imagem na resposta (padrão: false)
  • Retorna: Conteúdo completo da nota incluindo HTML, comentários, anexos, grupos, pastas e mais

Desenvolvimento Local

Executando a partir do código-fonte

  1. Clone o repositório
  2. Instale as dependências: npm install

Configuração do Ambiente

Para desenvolvimento local, atualize seu ~/.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"
            }
        }
    }
}

Inspetor MCP

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

e defina as variáveis de ambiente

Docker

Compile e execute localmente:

docker build -t mcp-kibela-server .

Em seguida, use esta configuração:

{
    "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 transporte SSE, certifique-se de que a URL do servidor esteja definida como: http://localhost:3000/sse

Outros produtos