mcpField
K
Kanka MCP - Model Context Protocol Server for Kanka API

Kanka MCP - Model Context Protocol Server for Kanka API

本地服务
github.com/ymgeva开发工具079 周前更新

关于 Kanka MCP - Model Context Protocol Server for Kanka API

Kanka MCP 是连接 Kanka API 的 MCP 服务,面向管理世界构建项目的用户,可通过 AI 助手维护战役及其内容。它覆盖角色、地点、帖子、笔记和日志的增删改查,并支持描述字段 HTML 内容与隐私设置。

主要功能

  1. 01列出用户可访问的战役
  2. 02管理角色与地点
  3. 03管理实体帖子
  4. 04管理笔记与日志
  5. 05处理 HTML 描述和隐私设置

适用场景

  1. 01查看 Kanka 战役及其角色
  2. 02创建或更新世界中的地点和帖子
  3. 03维护项目笔记与日志

MCP 相关

该 MCP 服务将 Kanka API 的战役、角色、地点、帖子、笔记和日志操作作为工具提供给 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Kanka MCP - Kanka API 的模型上下文协议服务

本项目提供一个用于与 Kanka API 交互的 MCP(模型上下文协议)服务。它支持 AI 助手管理 Kanka 世界构建项目中的战役、角色、地点、帖子、笔记和日志。

功能

该服务提供以下工具:

  • 战役:列出用户的所有战役
  • 角色:列出、获取、创建、更新和删除角色
  • 地点:列出、获取、创建、更新和删除地点
  • 帖子:列出、获取、创建、更新和删除任意实体的帖子
  • 笔记:列出、获取、创建、更新和删除笔记
  • 日志:列出、获取、创建、更新和删除日志

所有创建和更新操作都会正确处理描述字段中的 HTML 内容,并支持隐私设置。

安装

前置条件
  • Python 3.10+
安装
  1. 克隆此仓库:

    git clone https://github.com/yourusername/kanka_mcp.git
    cd kanka_mcp
    
  2. 安装依赖:

    pip install requests mcp[cli]
    

    或者,如果你有 pyproject.toml 文件:

    pip install .
    
配置

你需要设置 KANKA_API_KEY 环境变量,并将其值设为你的 Kanka API 密钥:

export KANKA_API_KEY=your_kanka_api_key

获取 Kanka API 密钥的方法:

  1. 登录你的 Kanka 账户
  2. 前往“账户设置”
  3. 进入“API”部分
  4. 创建或复制你的 API 令牌

用法

运行 MCP 服务

直接运行服务:

python kanka_mcp.py
添加到 MCP 服务配置

将以下内容添加到 MCP 服务配置中:

"kanka": {
    "command": "python",
    "args": [
        "FULL_PATH_TO_SCRIPT_FOLDER/kanka_mcp.py"
    ],
    "env": {
        "KANKA_API_KEY": "YOUR_KANKA_API_KEY"
    }
}

将 FULL_PATH_TO_SCRIPT_FOLDER 替换为包含 kanka_mcp.py 脚本的目录的绝对路径,并将 YOUR_KANKA_API_KEY 替换为你的实际 Kanka API 密钥。

可用工具

战役
  • show_campaigns():列出用户有权访问的所有战役。
角色
  • list_characters(campaign_id):列出战役中的所有角色。
  • get_character(campaign_id, character_id):按 ID 获取指定角色。
  • create_character(campaign_id, name, ...):创建新角色。
  • update_character(campaign_id, character_id, ...):更新现有角色。
  • delete_character(campaign_id, character_id):删除角色。
地点
  • list_locations(campaign_id):列出战役中的所有地点。
  • get_location(campaign_id, location_id):按 ID 获取指定地点。
  • create_location(campaign_id, name, ...):创建新地点。
  • update_location(campaign_id, location_id, ...):更新现有地点。
  • delete_location(campaign_id, location_id):删除地点。
帖子
  • list_posts(campaign_id, entity_id):列出某个实体的所有帖子。
  • get_post(campaign_id, entity_id, post_id):按 ID 获取指定帖子。
  • create_post(campaign_id, entity_id, name, ...):创建新帖子。
  • update_post(campaign_id, entity_id, post_id, ...):更新现有帖子。
  • delete_post(campaign_id, entity_id, post_id):删除帖子。
笔记
  • list_notes(campaign_id):列出战役中的所有笔记。
  • get_note(campaign_id, note_id):按 ID 获取指定笔记。
  • create_note(campaign_id, name, ...):创建新笔记。
  • update_note(campaign_id, note_id, ...):更新现有笔记。
  • delete_note(campaign_id, note_id):删除笔记。
日志
  • list_journals(campaign_id):列出战役中的所有日志。
  • get_journal(campaign_id, journal_id):按 ID 获取指定日志。
  • create_journal(campaign_id, name, ...):创建新日志。
  • update_journal(campaign_id, journal_id, ...):更新现有日志。
  • delete_journal(campaign_id, journal_id):删除日志。

许可证

本项目遵循 LICENSE 文件中指定的条款授权。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。