MCP ExplorerExplorer

Kibela

@kiwamizamuraion 14 days ago
6 MIT
FreeCommunity
Knowledge Base
#Kibela#Integration
Interact with Kibela API.

Overview

What is Kibela

Kibela MCP Server is an implementation designed for integrating with the Kibela API, allowing large language models (LLMs) to interact seamlessly with Kibela content such as notes, groups, and users.

Use cases

Users can leverage the Kibela MCP Server to effectively search for notes with advanced filtering options, manage group and folder structures, retrieve latest or specific notes, and perform actions like liking or unliking notes. This enhances collaboration and content accessibility within teams using Kibela.

How to use

To use the Kibela MCP Server, set up your environment with the necessary Kibela team name and API token as environment variables. You can run the server using npm or Docker by configuring it in the Cursor application. Define the command and arguments to start the server and ensure the environment variables are correctly set up for proper operation.

Key features

The server includes features such as advanced note searching, retrieving content and comments, managing groups and folders, liking/unliking notes, viewing users, and accessing recently viewed notes. It supports fetching notes by specific paths and provides versatile options for content access.

Where to use

This server is particularly useful for teams using the Kibela platform for documentation and collaboration. It can be integrated into development environments, integrated with tools like Cursor, or used for local development setups, making it suitable for enhancing workflows that involve managing and sharing knowledge within organizations.

Content

Kibela MCP Server

NPM Version
NPM Downloads
License: MIT
smithery badge
Build and Push Docker Image
Lint

MCP server implementation for Kibela API integration, enabling LLMs to interact with Kibela content.

Example

Kibela Server MCP server

Features

  • Search notes with advanced filters
  • Get your latest notes
  • Get note content and comments
  • Manage groups and folders
  • Like/unlike notes
  • List users
  • View note attachments
  • View recently viewed notes
  • Get notes by path

Configuration

Environment Variables

  • KIBELA_TEAM: Your Kibela team name (required)
  • KIBELA_TOKEN: Your Kibela API token (required)

Cursor Integration

Add to your ~/.cursor/mcp.json:

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

If you want to use docker instead

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

Tools

kibela_search_notes

Search Kibela notes with given query

  • Input:
    • query (string): Search query
    • coediting (boolean, optional): Filter by co-editing status
    • isArchived (boolean, optional): Filter by archive status
    • sortBy (string, optional): Sort by (RELEVANT, CONTENT_UPDATED_AT)
    • userIds (string[], optional): Filter by user IDs
    • folderIds (string[], optional): Filter by folder IDs
  • Returns: List of matching notes with ID, title, URL, author, groups and more

kibela_get_my_notes

Get your latest notes from Kibela

  • Input:
    • limit (number, optional): Number of notes to fetch (default: 15)
  • Returns: List of your latest notes with author information

kibela_get_note_content

Get content and comments of a specific note

  • Input:
    • id (string): Note ID
    • include_image_data (boolean, optional): Whether to include image data URLs in the response (default: false)
  • Returns: Full note content including HTML, comments, attachments, groups, folders and more

kibela_get_groups

Get list of accessible groups

  • Input: None
  • Returns: List of groups with details like privacy settings and permissions

kibela_get_group_folders

Get folders in a group

  • Input:
    • groupId (string): Group ID
    • parentFolderId (string, optional): Parent folder ID for nested folders
  • Returns: List of folders with their notes and metadata

kibela_get_group_notes

Get notes in a group that are not attached to any folder

  • Input:
    • groupId (string): Group ID
  • Returns: List of notes with author information, sorted by last update time

kibela_get_folder_notes

Get notes in a folder

  • Input:
    • folderId (string): Folder ID
    • limit (number, optional): Number of notes to fetch (default: 100)
  • Returns: List of notes with author information, sorted by last update time

kibela_get_users

Get list of users

  • Input: None
  • Returns: List of users with ID, account and real name

kibela_like_note

Like a note

  • Input:
    • noteId (string): Note ID
  • Returns: Updated likers list

kibela_unlike_note

Unlike a note

  • Input:
    • noteId (string): Note ID
  • Returns: Updated likers list

kibela_get_recently_viewed_notes

Get your recently viewed notes

  • Input:
    • limit (number, optional): Number of notes to fetch (max 15)
  • Returns: List of recently viewed notes with author information

kibela_get_note_from_path

Get note content by its path or URL

  • Input:
    • path (string): Note path (e.g. ‘/group/folder/note’) or full Kibela URL (e.g. ‘https://team.kibe.la/notes/123’)
    • include_image_data (boolean, optional): Whether to include image data URLs in the response (default: false)
  • Returns: Full note content including HTML, comments, attachments, groups, folders and more

Local Development

Running from Source

  1. Clone the repository
  2. Install dependencies: npm install

Environment Setup

For local development, update your ~/.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"
      }
    }
  }
}

MCP inspector

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

and set environemtns

Docker

Build and run locally:

docker build -t mcp-kibela-server .

Then use this configuration:

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

For SSE transport, ensure the server URL is set to: http://localhost:3000/sse

Other products

Tools

kibela_search_notes
Search Kibela notes with given query
kibela_get_my_notes
Get your latest notes from Kibela
kibela_get_note_content
Get content and comments of a specific note

Comments