Kibela

by kiwamizamurai

6 stars
263 downloads
Not rated
GitHub Website

About

Integrates with Kibela API to enable searching, retrieving, and accessing collaborative documentation for knowledge management and AI-assisted workflows.

Details

Author
kiwamizamurai
Repository
kiwamizamurai/mcp-kibela-server
GitHub stars
6
Downloads
263
License
MIT License
Categories
Productivity, Knowledge Base, Other, Communication, API, Developer Tools, Design, Workplace, File Management, AI, Community, Search, Frontend

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Kibela
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @kiwamizamurai/mcp-kibela-server
    Environment
    • KIBELA_TEAM YOUR_TEAM_NAME
    • KIBELA_TOKEN YOUR_TOKEN

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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

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

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

kibela_search_notes

Search Kibela notes with given query. Input: query (string), coediting (boolean, optional), isArchived (boolean, optional), sortBy (string, optional), userIds (string[], optional), folderIds (string[], optional). 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). Returns: List of your latest notes with author information.

kibela_get_note_content

Get content and comments of a specific note. Input: id (string), include_image_data (boolean, optional). 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), parentFolderId (string, optional). 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). Returns: List of notes with author information, sorted by last update time.

kibela_get_folder_notes

Get notes in a folder. Input: folderId (string), limit (number, optional). 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). Returns: Updated likers list.

kibela_unlike_note

Unlike a note. Input: noteId (string). Returns: Updated likers list.

kibela_get_recently_viewed_notes

Get your recently viewed notes. Input: limit (number, optional). 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), include_image_data (boolean, optional). Returns: Full note content including HTML, comments, attachments, groups, folders and more.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

Linux

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

Macos

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

Windows

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

Kibela MCP Server

NPM Downloads License: MIT Trust Score smithery badge

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

Example<a href="https://glama.ai/mcp/servers/m21nkeig1p">Kibela Server MCP server</a>

> [!TIP]
> This extension performs GraphQL schema introspection using the buildClientSchema, getIntrospectionQuery, and printSchema functions from the graphql package to reverse engineer Kibela's API. For more details, see her

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
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.