关于 Tavern
Tavern 是为桌面角色扮演游戏团队提供共享战役记录和游戏管理空间的托管 MCP 服务。它将 AI 客户端连接到战役日志、Wiki 页面、地图、角色卡、私人笔记和战斗追踪,并根据参与者角色控制访问权限。
主要功能
- 01管理按日期记录的场次和共享笔记
- 02维护互相关联的战役 Wiki 页面
- 03添加共享或私有地图标记
- 04追踪角色状态和法术位
- 05设置并运行战斗遭遇
- 06保存玩家私人笔记
适用场景
- 01根据团队笔记回顾一场游戏
- 02将新 NPC 页面关联到场次记录
- 03游戏过程中更新角色生命值
- 04追踪战斗中的回合和参与者
MCP 相关
托管服务位于 `https://gettavern.app/mcp`,通过 Streamable HTTP 向 MCP 客户端提供战役和游戏管理工具。客户端使用 OAuth 2.1 与 PKCE 或个人 API 密钥认证,可用工具由授权范围决定。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gettavern.app/mcpclaude mcp add --transport http jakehandy-tavern https://gettavern.app/mcp{"mcpServers":{"jakehandy-tavern":{"type":"http","url":"https://gettavern.app/mcp"}}}在 Cursor 中打开{"servers":{"jakehandy-tavern":{"type":"http","url":"https://gettavern.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"jakehandy-tavern":{"type":"http","url":"https://gettavern.app/mcp"}}}{"mcpServers":{"jakehandy-tavern":{"serverUrl":"https://gettavern.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Tavern MCP 服务
将桌面角色扮演游戏战役变成工具。Tavern 将桌面角色扮演游戏群组的战役内容集中在一处:带日期的游戏记录及每个人的笔记、记录其中人物、地点和事物的维基、带标记的地图、实时显示生命值和法术位的角色卡、战斗追踪器,以及每位玩家的私人笔记。此服务可让 Claude、Cursor、VS Code 或任何 MCP 客户端处理所有这些内容,就像你本人一样,参与到你已经加入的游戏桌中。
此仓库仅包含目录条目:此 README、注册表条目、Gemini CLI 扩展清单和图标。服务由 Tavern 托管,因此无需安装或运行任何内容。
| 服务地址 | https://gettavern.app/mcp |
| 传输方式 | Streamable HTTP(远程、无状态) |
| 登录 | OAuth 2.1 搭配 PKCE,或个人 API 密钥 |
| 注册表名称 | io.github.jakehandy/tavern |
| 文档 | gettavern.app/developers |
你可以向它提出什么请求
- “根据大家的笔记回顾一下周四的游戏记录。”
- “为 Hollowmere 的摆渡人新建一个维基页面,并在今晚的笔记中链接到他。”
- “Ilsa 受到 9 点伤害,而且倒地了。”
- “过去三次游戏记录中,有哪些线索被我们搁置了?”
- “安排一场战斗:队伍对战三个收费桥的强盗。”
- “我的角色还剩下什么?”
你需要一个免费的 Tavern 账户和一场战役。请前往 gettavern.app/signin 注册。
连接
Claude
在 Settings 的 Connectors 下,添加自定义连接器并粘贴 https://gettavern.app/mcp。Claude 会打开 Tavern 页面,请你批准连接。
Claude Code
claude mcp add --transport http tavern https://gettavern.app/mcp
然后在会话中运行 /mcp 以登录。
Cursor
将其添加到 ~/.cursor/mcp.json。Cursor 首次连接时会提示你登录。
{
"mcpServers": {
"tavern": {
"url": "https://gettavern.app/mcp"
}
}
}
VS Code
将其添加到工作区中的 .vscode/mcp.json,或添加到用户设置中。
{
"servers": {
"tavern": {
"type": "http",
"url": "https://gettavern.app/mcp"
}
}
}
Gemini CLI
此仓库是 Gemini CLI 扩展。安装后,在 Gemini CLI 中运行 /mcp auth tavern 以登录。
gemini extensions install https://github.com/jakehandy/tavern-mcp
其他客户端
任何支持 Streamable HTTP 的客户端都会自动找到登录入口。仅支持设置请求头的客户端可以改用个人 API 密钥(在 Tavern 的 Settings、API and assistants 下创建):
{
"url": "https://gettavern.app/mcp",
"headers": { "Authorization": "Bearer tvn_your_key" }
}
登录
客户端首次连接时,服务会返回 401,并提供登录入口,客户端随后会打开 Tavern 自己的授权页面。你可以在那里登录、查看应用请求的权限,并授予少于其请求的权限。
- 面向公共客户端的 OAuth 2.1:使用 PKCE(S256),无需客户端密钥。客户端可通过动态客户端注册(RFC 7591)自行注册,也可以将自身作为 Client ID Metadata Document。访问令牌有效期为一小时;刷新令牌每次使用都会轮换。
- 权限范围逐级叠加:从
read到write,再到delete。客户端只能看到其权限范围允许使用的工具。 - 元数据:
/.well-known/oauth-protected-resource/mcp和/.well-known/oauth-authorization-server。完整说明请见 gettavern.app/auth.md。 - 撤销:所有密钥和已连接的应用都会列在 Settings、API and assistants 下,并显示上次使用时间;移除后会立即失效。
已连接的应用只能代表你本人。它只能访问你参与的游戏桌,并使用你在每张桌上的席位权限,因此玩家的连接无法代行 GM 的工作;任何人的私人笔记也只会提供给笔记作者本人。
工具
截至 2026 年 11 月,分为 14 组,共有 117 个工具。服务端才是准确信息的来源:客户端会准确列出你的登录凭据允许使用的工具,而 gettavern.app/developers 始终展示包含所有参数的最新目录。每个工具都带有标题,以及只读或破坏性操作提示。
战役以 slug 命名,场次以游戏日期(YYYY-MM-DD)命名,维基页面和角色以 slug 命名。从 list_campaigns 开始。
要加载更少的工具,请在地址中添加 ?toolsets=,并指定任意组键(account、campaigns、sessions、wiki、notes、messages、map、characters、builder、combat、lorekeeper、memorial、dice、updates)或预设 core。例如:https://gettavern.app/mcp?toolsets=core,characters。
你
你的凭据身份、公开个人资料、邀请和反馈。
| 工具 | 功能 | 权限范围 |
|---|---|---|
whoami | 我是谁 | read |
list_campaigns | 列出我的战役 | read |
respond_to_invitation | 回复邀请 | write |
get_profile_settings | 获取我的个人资料设置 | read |
update_profile_settings | 更改我的个人资料设置 | write |
get_subscription | 获取我的订阅 | read |
get_public_profile | 查看公开个人资料 | read |
send_feedback | 发送反馈 | write |
list_my_feedback | 列出我的反馈 | read |
战役与席位
创建战役、填满席位、更改外观,或离开战役。
| 工具 | 功能 | 权限范围 |
|---|---|---|
create_campaign | 创建战役 | write |
get_campaign | 获取战役 | read |
update_campaign_look | 更改战役的外观和信件(仅限 GM) | write |
list_seats | 列出席位 | read |
add_seat | 添加席位(仅限所有者) | write |
remove_seat | 移除席位(仅限所有者) | delete |
get_my_seat | 获取我的席位 | read |
update_my_seat | 更改我的席位 | write |
leave_campaign | 离开战役 | delete |
场次日志
游戏日期和大家在这些日期写下的笔记。
| 工具 | 功能 | 权限范围 |
|---|---|---|
list_sessions | 列出场次 | read |
get_session | 查看场次 | read |
create_session | 记录场次(仅限 GM) | write |
update_session | 重命名或移动场次(仅限 GM) | write |
add_session_note | 向场次添加笔记 | write |
update_session_note | 编辑场次笔记 | write |
delete_session_note | 删除场次笔记 | delete |
战役维基
记录每个人、地点和事物及其历史的页面,并可搜索所有内容。
| 工具 | 功能 | 权限范围 |
|---|---|---|
list_wiki_pages | 列出维基页面 | read |
get_wiki_page | 查看维基页面 | read |
get_wiki_page_history | 查看页面历史记录 | read |
create_wiki_page | 创建维基页面 | write |
update_wiki_page | 编辑维基页面 | write |
delete_wiki_page | 删除维基页面(仅限 GM) | delete |
link_wiki_page_to_seat | 将页面标记为某人的角色 | write |
search_campaign | 搜索战役 | read |
我的笔记
你自己的私密笔记,以及你在桌上写下的所有内容。
| 工具 | 功能 | 权限范围 |
|---|---|---|
list_my_notes | 列出我的私密笔记 | read |
create_my_note | 写下私密笔记 | write |
update_my_note | 编辑私密笔记 | write |
delete_my_note | 删除私密笔记 | delete |
get_my_note_history | 查看私密笔记的历史记录 | read |
list_everything_i_wrote | 列出我在此处写下的所有内容 | read |
消息
同一桌玩家之间的私聊,以及 GM 发给所有人的群聊。
| 工具 | 功能 | 权限范围 |
|---|---|---|
list_conversations | 列出我的对话 | 读取 |
start_conversation | 开始对话 | 写入 |
read_conversation | 阅读对话 | 读取 |
send_message | 发送消息 | 写入 |
mark_conversation_read | 将对话标记为已读 | 写入 |
delete_message | 删除消息 | 删除 |
地图
桌上的地图及其标记,包括共享标记和私人标记。
| 工具 | 功能 | 权限范围 |
|---|---|---|
list_maps | 列出地图 | 读取 |
list_pins | 列出地图上的标记 | 读取 |
list_my_private_pins | 列出我的私人标记 | 读取 |
create_pin | 放置标记 | 写入 |
update_pin | 移动或编辑标记 | 写入 |
delete_pin | 删除标记 | 删除 |
update_map | 重命名或重新排序地图(仅 GM) | 写入 |
delete_map | 移除地图(仅 GM) | 删除 |
角色
角色卡、生命值、状态、法术位、物品、自制内容和同伴。
| 工具 | 功能 | 权限范围 |
|---|---|---|
list_characters | 列出角色 | 读取 |
get_character | 查看角色 | 读取 |
get_party | 概览队伍(仅 GM) | 读取 |
update_character_state | 修改生命值、状态或法术位 | 写入 |
set_character_overlay | 替换已消耗内容 | 写入 |
add_character_from_beyond | 从角色卡链接导入角色 | 写入 |
sync_character | 同步导入的角色 | 写入 |
set_character_on_hud | 在 Master HUD 上显示或隐藏角色(仅 GM) | 写入 |
play_character | 将角色设为我的主要角色(仅持有者) | 写入 |
mark_character_fallen | 将角色标记为倒下 | 写入 |
revive_character | 让角色复活 | 写入 |
delete_character | 删除角色 | 删除 |
assign_character | 将角色分配给一个座位(仅 GM) | 写入 |
set_character_portrait | 设置角色肖像 | 写入 |
add_custom_item | 添加自定义物品 | 写入 |
update_custom_item | 编辑自定义物品 | 写入 |
delete_custom_item | 删除自定义物品 | 删除 |
add_homebrew_box | 添加自制卡片 | 写入 |
update_homebrew_box | 编辑自制卡片 | 写入 |
delete_homebrew_box | 删除自制卡片 | 删除 |
add_companion | 添加同伴 | 写入 |
update_companion | 编辑同伴 | 写入 |
set_companion_state | 修改同伴的生命值 | 写入 |
delete_companion | 删除同伴 | 删除 |
角色创建器
从头创建角色,或设计角色卡本身。
| 工具 | 功能 | 权限范围 |
|---|---|---|
create_custom_character | 在此创建角色 | 写入 |
update_custom_sheet | 编辑在此创建的角色 | 写入 |
list_character_drafts | 列出我的未完成角色 | 读取 |
start_character_draft | 开始创建角色草稿 | 写入 |
get_character_draft | 查看角色草稿 | 读取 |
update_character_draft | 保存角色草稿 | 写入 |
finish_character_draft | 完成角色草稿 | 写入 |
delete_character_draft | 丢弃角色草稿 | 删除 |
list_sheet_frames | 列出桌上的角色卡设计 | 读取 |
save_sheet_frame | 在桌上保存角色卡设计 | 写入 |
delete_sheet_frame | 从桌上移除角色卡设计 | 删除 |
战斗追踪器
进行一场战斗:名册、先攻顺序、回合、生命值和摘要。
| 工具 | 功能 | 范围 |
|---|---|---|
get_combat_roster | 查看可加入战斗的角色(仅限 GM) | read |
list_battles | 列出战斗(仅限 GM) | read |
create_battle | 设置一场战斗(仅限 GM) | write |
get_battle | 查看一场战斗(仅限 GM) | read |
update_battle | 重命名战斗或设置回合(仅限 GM) | write |
add_participant | 将某人加入战斗(仅限 GM) | write |
update_participant | 修改战斗中的某人(仅限 GM) | write |
change_participant_health | 对战斗中的某人造成伤害或治疗(仅限 GM) | write |
remove_participant | 将某人移出战斗(仅限 GM) | delete |
start_battle | 开始战斗(仅限 GM) | write |
next_turn | 进入下一回合(仅限 GM) | write |
end_battle | 结束战斗(仅限 GM) | write |
delete_battle | 删除战斗(仅限 GM) | delete |
Lorekeeper
将会话笔记交给 Lorekeeper,查看整理好的记录。
| 工具 | 功能 | 范围 |
|---|---|---|
list_lorekeeper_jobs | 查看 Lorekeeper 的队列(仅限 GM) | read |
queue_session_for_lorekeeper | 将会话笔记交给 Lorekeeper(仅限 GM) | write |
cancel_lorekeeper_job | 从 Lorekeeper 处取回笔记(仅限 GM) | delete |
纪念页
为战役画上句号,并阅读其纪念内容。
| 工具 | 功能 | 范围 |
|---|---|---|
get_memorial | 阅读战役的纪念内容 | read |
complete_campaign | 完成战役(仅限 GM) | write |
reopen_campaign | 重新开启战役(仅限 GM) | write |
set_memorial_public | 分享或隐藏纪念内容(仅限 GM) | write |
骰子
在服务器上掷任意骰子,并选择骰子在应用中的外观。
| 工具 | 功能 | 范围 |
|---|---|---|
roll_dice | 掷骰子 | read |
get_dice_style | 我的骰子样式 | read |
set_dice_style | 更改我的骰子样式 | write |
通知和进度
查看你的桌上有哪些新动态,以及你已经走了多远。
| 工具 | 功能 | 范围 |
|---|---|---|
list_notifications | 列出我的通知 | read |
count_unread_notifications | 统计未读通知 | read |
mark_notifications_read | 将通知标记为已读 | write |
delete_notification | 清除一条通知 | delete |
get_my_progress | 我的酒馆等级和成就 | read |
list_achievements | 查看所有成就 | read |
也可通过 REST API 使用
同一目录也提供 REST API,地址为 https://gettavern.app/api/v1;API 文档见 /openapi.json,文字说明见 /api-docs.md。
curl https://gettavern.app/api/v1/campaigns -H "Authorization: Bearer tvn_your_key"
链接
- 开发者:gettavern.app/developers
- 隐私政策:gettavern.app/privacy
- 服务条款:gettavern.app/terms
- 支持:[email protected]
许可证
此代码库中的文件采用 MIT 许可证(参见 LICENSE)。Tavern 名称和标志不受该许可证涵盖。Tavern 服务本身受其服务条款约束。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。