Fantasy Tabletop Helper

Official registry Other

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http fantasy-tabletop-helper 'https://www.fantasytabletophelper.com/api/mcp' --header 'Authorization: <Personal access token from Account > AI Tool Access on the site. Include the '\''Bearer '\'' prefix.>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "fantasy-tabletop-helper": {
            "type": "http",
            "url": "https://www.fantasytabletophelper.com/api/mcp",
            "headers": {
                "Authorization": "<Personal access token from Account > AI Tool Access on the site. Include the 'Bearer ' prefix.>"
            }
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Fantasy Tabletop Helper — MCP server
  2. Scoped to you (reads + controlled writes)
  3. Tools
  4. Setup
  5. Revoking a token
  6. Troubleshooting
  7. Licence

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:

{
  "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.

Frequently asked questions

What is Fantasy Tabletop Helper?

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

How do I install Fantasy Tabletop Helper?

It runs as a remote server. In Claude Code: claude mcp add --transport http fantasy-tabletop-helper 'https://www.fantasytabletophelper.com/api/mcp' --header 'Authorization: <Personal access token from Account > AI Tool Access on the site. Include the '\''Bearer '\'' prefix.>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Fantasy Tabletop Helper need an API key?

Yes. It expects Authorization, which you set in its configuration.

Is Fantasy Tabletop Helper open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Fantasy Tabletop Helper?

It is published by kushaim. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.