MCP server implementation for Kibela API integration, enabling LLMs to interact with Kibela content.
KIBELA_TEAM: Your Kibela team name (required)KIBELA_TOKEN: Your Kibela API token (required)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"
}
}
}
}
Search Kibela notes with given query
query (string): Search querycoediting (boolean, optional): Filter by co-editing statusisArchived (boolean, optional): Filter by archive statussortBy (string, optional): Sort by (RELEVANT, CONTENT_UPDATED_AT)userIds (string[], optional): Filter by user IDsfolderIds (string[], optional): Filter by folder IDsGet your latest notes from Kibela
limit (number, optional): Number of notes to fetch (default: 15)Get content and comments of a specific note
id (string): Note IDinclude_image_data (boolean, optional): Whether to include image data URLs in the response (default: false)Get list of accessible groups
Get folders in a group
groupId (string): Group IDparentFolderId (string, optional): Parent folder ID for nested foldersGet notes in a group that are not attached to any folder
groupId (string): Group IDGet notes in a folder
folderId (string): Folder IDlimit (number, optional): Number of notes to fetch (default: 100)Get list of users
Like a note
noteId (string): Note IDUnlike a note
noteId (string): Note IDGet your recently viewed notes
limit (number, optional): Number of notes to fetch (max 15)Get note content by its path or URL
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)npm installFor 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"
}
}
}
}
npx @modelcontextprotocol/inspector node ./dist/src/index.js
and set environemtns
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