用途
mcp-kibela-server 是一个 MCP(Model Context Protocol)服务器实现,用于将 Kibela API 集成到支持 MCP 的客户端中,使大语言模型能够访问和操作 Kibela 的内容。它通过 GraphQL 模式内省(使用 graphql 包的 buildClientSchema、getIntrospectionQuery 和 printSchema 函数)来逆向工程 Kibela 的 API。
主要能力
该服务器提供以下工具(函数):
- kibela_search_notes:使用高级过滤条件搜索 Kibela 笔记。输入参数包括 query(字符串,搜索查询)、coediting(布尔值,可选,按共同编辑状态过滤)、isArchived(布尔值,可选,按归档状态过滤)、sortBy(字符串,可选,排序方式:RELEVANT 或 CONTENT_UPDATED_AT)、userIds(字符串数组,可选,按用户 ID 过滤)、folderIds(字符串数组,可选,按文件夹 ID 过滤)。返回匹配的笔记列表,包含 ID、标题、URL、作者、群组等信息。
- kibela_get_my_notes:获取你的最新笔记。输入 limit(数字,可选,获取数量,默认 15)。返回带作者信息的最新笔记列表。
- kibela_get_note_content:获取特定笔记的内容和评论。输入 id(字符串,笔记 ID)、include_image_data(布尔值,可选,是否在响应中包含图片数据 URL,默认 false)。返回完整笔记内容,包括 HTML、评论、附件、群组、文件夹等。
- kibela_get_groups:获取可访问的群组列表。返回群组详情,如隐私设置和权限。
- kibela_get_group_folders:获取群组中的文件夹。输入 groupId(字符串,群组 ID)、parentFolderId(字符串,可选,父文件夹 ID 用于嵌套文件夹)。返回文件夹列表及其笔记和元数据。
- kibela_get_group_notes:获取群组中未附加到任何文件夹的笔记。输入 groupId(字符串,群组 ID)。返回带作者信息的笔记列表,按最后更新时间排序。
- kibela_get_folder_notes:获取文件夹中的笔记。输入 folderId(字符串,文件夹 ID)、limit(数字,可选,获取数量,默认 100)。
- kibela_get_users:获取用户列表。返回包含 ID、账号和真实姓名的用户列表。
- kibela_like_note:点赞笔记。输入 noteId(字符串,笔记 ID)。返回更新后的点赞者列表。
- kibela_unlike_note:取消点赞笔记。
- kibela_get_recently_viewed_notes:获取最近查看的笔记。输入 limit(数字,可选,获取数量,最大 15)。返回带作者信息的最近查看笔记列表。
- kibela_get_note_from_path:通过路径或 URL 获取笔记内容。输入 path(字符串,笔记路径如 '/group/folder/note' 或完整 Kibela URL 如 'https://team.kibe.la/notes/123')、include_image_data(布尔值,可选,是否包含图片数据 URL,默认 false)。
使用方式
环境变量:
- KIBELA_TEAM:你的 Kibela 团队名称(必填)
- KIBELA_TOKEN:你的 Kibela API 令牌(必填)
Cursor 集成:在 ~/.cursor/mcp.json 中添加配置。也可以使用 Docker 运行。
本地开发:
- 克隆仓库
- 安装依赖:npm install
- 环境设置:更新 ~/.cursor/mcp.json 并设置环境变量
- 本地构建和运行,然后使用相应配置
- 若使用 SSE 传输,确保服务器 URL 设置为:http://localhost:3000/sse
适用场景
适用于需要让大语言模型与 Kibela 知识管理平台交互的场景,例如自动搜索团队笔记、管理群组和文件夹、获取笔记详情与评论、点赞互动等。
限制
资料中未提供关于收费、价格、平台兼容性、性能效果等更多信息。使用前必须配置有效的 Kibela 团队名称和 API 令牌。部分操作(如最近浏览笔记)有数量上限。