Skip to content

Guide

Muse Code in Foundry VTT: one settings file holds Familiar and the model you play on.

Muse Code, the coding agent Meta ships for the terminal rather than the Muse app, reaches a Foundry game over MCP. It signs in with your Meta account and keeps its settings in one file. The wizard card writes Familiar into that file. The same file names the model your account runs on; check it before the first session. A Muse Code subscription pays for the AI side; without one, Muse Code bills your Meta account per use.

Where Muse Code keeps its settings

Muse Code's wizard card, in Familiar's MCP tab, opens on Meta's install line; copy the one for your system.

The file is settings.json, in its own folder under your home directory. The model you are on is in there. So is every MCP server it knows, and that is where Familiar goes in. Muse Code has no command that adds a server by name, so the wizard hands you one that writes the entry for you; the sections below take that file one decision at a time.

Sign in, then check which model you are on

Open a new terminal window after the install, type muse login and press Enter. Muse Code prints a sign-in link and a short code, waits for a second Enter, then opens the link in your browser. Check that the code on the page matches, approve it with your Meta account, and the terminal says Logged in. The sign-in never touches the settings file.

Then the first decision that file carries. A Meta account with no Muse Code subscription can start on Meta's Contributor model, and Muse Code writes that model id into settings.json by itself, without asking you. Type /models inside Muse Code: the list opens on the model you are on, and the training tier is the name that ends in -contributor. Pick one without that ending before you connect a game.

Meta's own description of the Contributor price: "heavily discounted token pricing in exchange for permission to use your prompts and completions to train future Meta models". Over MCP, those prompts include everything Familiar reads from your world for the model, your players' chat messages included. The models without that suffix are Meta's Standard tier, and Meta labels those as not used to improve its products.

The card writes the file; you only quit first

Quit Muse Code, because it reads settings.json once, when it starts. Then copy the one command from the wizard card and run it in a terminal. It adds a familiar entry with this world's secret, keeps every other line the file already has, and saves the previous version beside it as settings.json.bak. Success prints nothing at all.

A file the command cannot read as Muse Code settings is left exactly as it was, and one line on screen says so. That is deliberate. Rebuilding the file would drop the model id, and your account would be back on the Contributor model without a word. Fix the file, run the command again.

One more file, then the terminal. Muse Code never shows the model Familiar's own instructions, so the wizard card also hands you a short note for AGENTS.md in the same folder. With it in place Muse Code reaches for Familiar whenever your game comes up; without it, a vague ask about dice can end in a roll it made up. Until that note exists, Muse Code reads another coding agent's rules file from your home folder instead, if there is one.

Every tool, from the first message

Muse Code loads a small tool catalogue whole and hides a large one behind its own search. Familiar's full set is large, so here it is the cheap option: on a first request it cost about what no server costs. A scene tool, a macro or the knowledge base answers on the first ask, with no bundle to switch on first.

Approvals stay Muse Code's own. Under its on-request setting, a tool its server marks read-only runs without a question, and Familiar marks its read tools that way: a sheet, a scene or the party's hit points come back unasked, while anything that changes the world waits for your yes.

The adventure is yours to bring: Muse Code runs the journals, sheets and scenes already in your world, and it has no campaign of its own to fall back on.

  • Characters & Actors
  • Scenes & Tokens
  • Knowledge & Memory

What /mcp says, then what to type

Type muse and press Enter. The first start in a folder asks whether you trust the workspace; choose Trust and continue. Inside Muse Code, /mcp lists every server it loaded with a status word beside it: starting for the first seconds, then connected, or failed with an error line under it. Right after a start it can still say starting, so run /mcp again before you read anything into it.

With familiar on connected, send the verify line below. A reply that names your world proves the wiring; the four asks after it test a read that needs no approval, the full set, a change in Foundry, and the players' questions waiting for you.

  • The verify line
    Use Familiar's get-world-info tool
  • Read the party
    List the party members with their current hit points and armour class.
  • See the whole set
    List Familiar's tool bundles and tell me which ones are switched on.
  • Move the players
    Pull every connected player to the scene I have open.
  • Check the table
    Check the table for questions from my players and answer the oldest one in the Foundry chat.

When the installer or settings.json gets in the way

Six snags, all of them Muse Code's own: its installer, its settings file, and how it starts. What stalls every MCP client lives on the connect guide, one link down.

  • The installer stopped on an error about Get-FileHash

    You ran Meta's install line from PowerShell 7. Open Windows PowerShell instead, the one that ships with Windows, paste the same line there, and it completes. Meta has confirmed the limit, and it stops Muse Code's own background updates started from PowerShell 7 as well, so keep that window for later updates too.

  • muse --version fails in the same window the installer ran in

    The installer puts Muse Code under your local app data and adds that folder to your PATH, which only a window opened after the install reads. Open one, run muse --version, and sign in from there.

  • /mcp says "No MCP servers configured." after you ran the card's command

    Muse Code was open while the command ran. It reads settings.json when it starts and never again, so the entry the command wrote is sitting in the file unread. Nothing is lost: quit Muse Code, start it again, and run /mcp once more.

  • Muse Code reports an MCP configuration error and says MCP is disabled for this runtime

    The file holds both spellings of the servers key, mcpServers and mcp_servers, usually after a later hand edit, and with both present Muse Code loads no server at all and refuses to save its own settings. Run the card's command again: it folds the two into one. Never add the second spelling by hand.

  • familiar shows failed, with the transport closed unexpectedly under it

    The helper quit before Muse Code finished talking to it, and the usual reason is the very first start, which downloads the server and can outrun the wait. Quit Muse Code and start it once more; the download is done by then.

  • Every muse command stops with a settings error, after you edited the file yourself

    Either the JSON no longer parses or the schema_version line went missing, and Muse Code needs both. Restore settings.json.bak from the same folder, or fix the file by hand, then run the card's command again.

What your Meta account pays for, and what it does not

A Muse Code subscription pays for the model's side: every tool call Familiar makes rides on it, with nothing metered per token on top, though a long night can run into the subscription's own usage limits. Without one, the same calls bill your Meta account per use.

Voices, pictures and music are not Muse Code's to pay. They run in Foundry on the keys in Familiar's own settings, whichever app asked for them, and Familiar's subscription is a separate line again.

More in Connect your assistant

Claude in Foundry: Desktop or Code

Anthropic builds both clients, so no agent app sits in the path. Desktop and Code differ in how you add each one, how many tools each carries, and whether a fetched picture ever reaches your screen.

ChatGPT in Foundry via Codex

Codex is the route in, as a tab in the ChatGPT app or as Codex CLI, on every plan including Free. The wiring, the first asks, what to do when Codex says no, and the key route that skips it.

Grok in Foundry via Grok Build

xAI's terminal agent is the one Grok that speaks to a Foundry game, on your SuperGrok plan. One command registers Familiar, and grok mcp doctor familiar proves the link before you type a word. The Grok app itself cannot reach a server on your machine.

MCP vs API: which to choose

Play most weeks on a subscription you hold and MCP is the cheaper route, with nothing billed per token. A provider key wins when you want a specific model, tighter spend, or hold no subscription. The numbers, and what only the built-in chat can do.

Choosing an AI model

Which model holds a tool chain together, where to get one, and when to turn the thinking up or down. Plus how to tell a weak model from thin prep.

Running a local LLM

Run the model on your own PC instead of a provider, so your world never leaves the machine and the bill moves from a token meter to your graphics card. Setup is one settings tab and one switch. Without a discrete GPU, expect minutes per turn.

New to Familiar? I'm Ryan, the person who built it. The Discord is small and brand new, so if you join now I'll help you get set up myself.