Fantasy Tabletop Helper

io.github.kushaim由 GitHub 账号 kushaim 发布v1.0.0更新于 Oct 25, 2026

Read-only access to your tabletop campaigns: codex, sessions, and session notes.

已验证Streamable HTTP可网页运行效率与工作流知识与记忆

概览

AI 生成的概览

远程 MCP 服务器,让助手以只读为主、有限写入的方式访问你的 Fantasy Tabletop Helper 战役、设定集、场次与笔记。

可以做什么
列出并读取你的战役、你在其中的角色和战役详情,按最近游玩顺序浏览场次及其笔记、回顾、可读事件与转录(转录仅限 DM)。在设定集中搜索 NPC、地点、物品、传说、宗教、文化和团体,并打开单条条目及其关联关系。添加场次笔记(必须指定可见性),保存你撰写的回顾,追加掷骰、命中、治疗等带类型的场次事件。为 DM 提交新的设定集条目提案,以及现有条目之间的关联提案。
适用场景
适合在 Fantasy Tabletop Helper 中主持或参与战役、希望让 AI 客户端在对话中回答关于自己世界的问题、查询 NPC 与传说,或起草笔记、回顾和设定集提案的场景。
运行要求
远程端点位于 fantasytabletophelper.com(必须保留 www. 前缀,否则重定向时令牌会被剥离)。需要 Hero 套餐,以及在 Account > AI Tool Access 中创建的个人访问令牌,通过 Authorization 头以 Bearer 前缀发送。无需本地安装;服务器为仅 POST 的无状态 Streamable HTTP。
安装前请注意
Authorization 令牌是仅显示一次的机密,丢失或泄露后应撤销。写入虽受限但确实存在:笔记、回顾、事件以及设定集和关联提案都会被保存,但在 DM 审核前不会成为战役正史。访问受行级安全限制在你的账户范围内,DM 专属和私人笔记不会暴露。每个令牌约有每分钟 60 次请求的软性限流。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Fantasy Tabletop Helper,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.kushaim%2Fftthelper-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "fantasy-tabletop-helper": {
      "type": "http",
      "url": "https://www.fantasytabletophelper.com/api/mcp"
    }
  }
}

README

Fantasy Tabletop Helper — MCP server

Connect Claude Desktop, Cursor, Codex, or any MCP-capable client to your tabletop campaigns, and ask questions about your own world in plain language.

"Which NPCs in Westruun belong to a religion, and which of them have my party already met?"

This repository holds the connection docs and example client configs. The server itself is hosted — it runs inside fantasytabletophelper.com, so there is nothing to install, clone, or keep running.

  • Endpoint: https://www.fantasytabletophelper.com/api/mcp — keep the www., see below
  • Transport: stateless Streamable HTTP, POST only
  • Access: Hero plan + PAT (ftth_mcp_…). Reads plus controlled writes (proposals / notes / events you authored). Not OAuth — that is a separate issue.
  • Source: closed. The app is a commercial product; this repo is the client-side half.

Scoped to you (reads + controlled writes)

The server queries the database as you, not as an administrator. Row-level security decides the answer, so it can only ever show what the website would show you when logged in.

Writes exist, and they are bounded: notes and events you authored, recaps you submit, and proposals for the DM to review. Nothing an AI tool does through this connection becomes campaign canon until a DM reviews it in the app.

Who sees it
Party notesCampaign members
DM-only notesThe DM of that campaign, or whoever wrote them
Private notesOnly their author
Codex entriesMembers of that campaign; non-canon entries only for the DM

If you are a player, pointing an AI client at your campaign cannot surface your DM's secrets. That is enforced in the database, not in application code.

Tools

ToolReturns
list_campaignsYour campaigns, and your role in each
get_campaignOne campaign's details
list_sessionsSessions, most recently played first
search_codexNPCs, locations, items, lore, religions, cultures, groups
get_subjectOne codex entry in full, with its relationships
get_session_notesNotes from a single session
get_session_recapSession recap — plus DM prep hooks if you are the DM
append_session_noteAdd a note (visibility required)
submit_session_recapSave a recap you wrote
propose_subjectPropose a codex entry for the DM to review
propose_relationshipPropose a link between two existing entries
list_session_eventsRolls and combat events you may read
append_session_eventAppend one typed event (roll / hit / heal…)
get_session_transcriptLatest ready transcript — DM only, never the audio

Factions and guilds are stored as kind: "group" — there is no separate faction kind.


Setup

1. Create a token

On the site, go to Account → AI Tool Access (/account/mcp), name the token after the tool you are connecting, and press Create token.

The token appears once, beginning ftth_mcp_. Copy it then. Only a hash is stored, so it cannot be shown again. If you lose one, revoke it and make another.

2. Configure your client

Ready-to-edit files are in examples/. Claude Desktop, for instance:

json
{  "mcpServers": {    "ftthelper": {      "url": "https://www.fantasytabletophelper.com/api/mcp",      "headers": { "Authorization": "Bearer ftth_mcp_YOUR_TOKEN_HERE" }    }  }}

Restart the client. ftthelper should appear in its tool list.

Keep the www.

It is not cosmetic. The bare domain redirects to www, and HTTP clients drop the Authorization header whenever a redirect changes origin — sensibly, since they cannot know the new host deserves your credentials. Point a client at https://fantasytabletophelper.com/api/mcp and the token is stripped in transit, so the server sees an anonymous request and answers 401 Invalid or missing MCP token for a perfectly good token.

3. Ask it something

"List my campaigns, then find every religion in the Westruun one."


Revoking a token

Press Revoke next to it on Account → AI Tool Access. It takes effect on that client's next request. Revoke any token you have pasted somewhere you no longer control.

Troubleshooting

SymptomCause
404Wrong path, or the server is switched off on this deployment.
401 on a token you just madeAlmost always the URL: the bare domain instead of www., which strips the token. Check that before suspecting the token.
401Token is wrong, revoked, or expired. Make a new one.
503We could not open a session for your account. Usually transient; retry.
403Your plan is not Hero.
429Soft rate limit (~60 requests/min per token). Wait for Retry-After.
405 on a GETExpected. The server is POST-only; your client should be using POST.
Connects, but every tool call returns an errorA server-side configuration problem. Contact support — the server logs these.
A tool returns an empty listUsually genuine: you have no campaigns yet, or the search matched nothing.

The last two rows are worth keeping apart. An empty list is an answer; an error is a fault.

Licence

Docs and example configs: MIT. The hosted service has its own terms.

来源:README.md,提交 801b66c

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分