Mmcp.market

Familiar MCP server

by familiarvtt.com·com.familiarvtt/familiar·v2.25.0

AI co-pilot for Foundry VTT: runs combat, scenes, voices and audio. Requires the Familiar module.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

1 stars371 downloads/wk

Reviews

Write one

Nobody has reviewed Familiar yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Familiar tools (100, 26 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add-combatant

    Add tokens to an active combat encounter as new combatants. Use for mid-combat reinforcements. Requires an active combat. A token already in the encounter is always rejected; during enforced dnd5e combat a dead or 0-HP token is rejected too \u2014 at 0 HP heal it first (heal-party); dead needs revival magic (a Revivify-class spell through resolve-spell, combat-ai bundle \u2014 healing cannot reviv

  • advance-time

    Advance the in-game clock by a specified duration. Returns the new in-game time. Use for long rests (8 hours), short rests (1 hour), travel montages, or narrative time skips. Specify at least one time unit.

  • apply-condition-to-group

    Apply a status condition to multiple tokens at once. Tokens that already have the condition, or are immune to it, are skipped (echoed alreadyHad / immune: true) and still count toward `applied` \u2014 this tool never removes; remove per token with toggle-condition. Use get-available-conditions first to see valid condition names and which carry ruleBasis (the engine-gated set). Returns per-token re

  • apply-damage

    Apply damage to one or more targets in a single batch (temp HP absorption handled automatically). Returns per-target results with HP before/after. Use for AoE effects, lair actions, or environmental/trap damage that hits creatures directly. A creature ATTACKING another creature must NOT use this \u2014 use resolve-attack / resolve-spell (combat-ai bundle) instead, which enforce range, to-hit, and

  • assign-character-ownership

    Give a player ownership or limited access to a character. Permission levels: 0=NONE, 1=LIMITED (basic info), 2=OBSERVER (full view), 3=OWNER (full control). Use OWNER (3) to assign a character to a player. Use list-users to find valid user names/IDs. Returns the character name, user name, and applied permission level.

  • award-xp

    Award experience points to party members (dnd5e worlds only). Divides the total XP evenly among recipients. Use after combat or for milestone rewards.

  • create-characterwrite action

    Create a new character (NPC or PC) from scratch, optionally with everything on it: system (any sheet data \u2014 identity, abilities, traits, skills, currency, HP; see update-character for the D&D 5e paths), items (embedded item records: features, weapons, spells, class/species/background \u2014 each {name, type, system, img}; on D&D 5e 5.x an item's actions live in system.activities and a spell c

  • create-character-from-compendiumwrite action

    Import a creature or NPC from a compendium pack into the world as a new actor with its full stat block, items, spells, and features. Returns the new actor ID. Use search-compendium first to find the pack key and entry ID. For creating a blank character from scratch, use create-character (character-edit bundle) instead.

  • create-compendium-packwrite action

    Create a new empty world compendium pack holding exactly one document type. The pack starts unlocked and appears under the Compendiums tab; fill it with export-to-compendium and edit entries with update-compendium-entry. Note: a world pack belongs to this world only \u2014 for content reused across worlds, export into an unlocked pack of a shared compendium module instead (created once via Foundry

  • create-journalwrite action

    Create a new journal entry, optionally with initial pages of content. Returns the new journal ID and page IDs. Pages support HTML formatting. Use for session notes, lore, NPC details, handouts, or quest tracking.

  • create-journal-pagewrite action

    Add a new page to an existing journal entry. Returns the new page ID. Text pages (the default) take HTML or plain text content. Image pages accept src \u2014 a Foundry-relative path (e.g. the familiar/generated/\u2026 path returned by generate-image), an https URL, or a raster data: URI \u2014 turning generated art into a persistent handout. …)} Showing the page to players stays a separate manual

  • create-scenewrite action

    Create a scene, optionally with an EXISTING image as its background (the background param \u2014 a Foundry-relative path such as a familiar/generated/\u2026 result). For an AI-GENERATED battle map, dungeon, tavern, or any scene whose image does not exist yet, prefer generate-scene (enable the scene-generator bundle) \u2014 it creates the scene AND generates + applies the background in one step. Re

  • create-tokenswrite action

    Place one or more tokens on the active scene from world actors. Supports batch placement for encounter setup. Returns the created token IDs. Use start-combat afterward to begin a combat encounter with the placed tokens.

  • delete-characterwrite action

    Delete a character from the world permanently. Removes the actor and all its owned items, spells, and features. This is irreversible. Tokens on scenes will become unlinked. Returns the deleted character name and ID. During enforced dnd5e combat, deleting an actor that still has a live combatant in any started encounter is rejected: defeat it through resolve-attack / resolve-spell, or use remove-co

  • delete-character-itemswrite action

    Remove items, spells, or features from a character permanently. Accepts item names or Foundry document IDs. This is destructive and irreversible. Returns the actor name and the deleted item IDs (names are resolved to IDs).

  • delete-journalwrite action

    Delete a journal entry and all its pages permanently. This is irreversible. Map pins linked to this journal will lose their link. Returns the deleted journal name and ID.

  • delete-journal-pagewrite action

    Delete a single page from a journal entry. The journal entry itself and other pages are preserved. This is irreversible. Returns the journal name and deleted page ID.

  • delete-scenewrite action

    Delete a scene from the world permanently. Removes all tokens, walls, lights, and sounds on the scene. This is irreversible. Returns the deleted scene name and ID. During enforced dnd5e combat, deleting the scene the active combat is fought on is rejected while creatures are still in the fight \u2014 end the combat first (end-combat), or clear the encounter through resolve-attack / resolve-spell /

  • delete-tokenswrite action

    Remove tokens from the active scene permanently. Accepts token names or IDs. This does not delete the underlying actor \u2014 only the token placement on this scene. Returns the count of deleted tokens, their IDs, and any errors for tokens not found. During enforced dnd5e combat, deleting a token that is still a live combatant is rejected (it would take the creature off the battlefield mid-fight):

  • disable-tool-bundle
  • duplicate-character

    Clone an existing character to create a copy with all items, spells, and features. Returns the new actor's ID and resolved name. Use for creating NPC variants (e.g., 'Goblin Archer' from 'Goblin'). For creating characters from scratch, use create-character instead.

  • enable-tool-bundle
  • end-combat

    End the current combat encounter. Removes all combatants from the tracker and resets initiative order. Use when a fight ends or to clean up before starting a new encounter. Combat data (rounds, turns) is lost \u2014 check get-combat first if you need to record results. Ending combat also sweeps combat-scoped automation \u2014 active spell zones, summons, transforms, and feature effects (e.g. Rage)

  • export-to-compendium

    Copy an existing world document (actor, item, journal, rollable table, macro, playlist, scene, or card stack) into a compendium pack. The document is looked up by name or ID in the world collection matching the pack's document type; the original stays in the world and the pack receives a copy. Re-exporting the same document OVERWRITES its earlier copy in the pack with the current world version (th

  • get-available-conditions

    List all status conditions available in the game system (e.g., prone, poisoned, blinded, stunned). Returns every condition (no pagination) with ID, name, icon, and ruleBasis \u2014 ruleBasis:true means the condition requires a D&D 5e rule basis, so ADDing it by manual toggle is rejected during enforced dnd5e combat (route it through the resolvers; "dead" additionally rejects manual REMOVE). ruleBa

  • get-character

    Get a character's sheet: a neutral core (name, type, HP where the sheet has a recognizable pool) plus the native stat block in the system's own vocabulary (on D&D 5e: an identity block \u2014 the sheet's gender/pronouns text, alignment, size, age, class levels; NPCs also CR + creature type \u2014 then ability scores with saves, AC, movement, spells with slots, features, condition immunities, activ

  • get-character-item

    Get full details of a specific item, spell, or feature on a character. On D&D 5e returns description plus the common mechanics fields (properties, damage, range, uses, save, activities, \u2026) \u2014 a curated set; …. Use the item ID from search-character-items results.

  • get-combat

    Get the current combat tracker state. Returns round number, active turn, and all combatants with initiative order, HP, and hidden/defeated state. For AC, conditions, positions, and abilities for AI decision-making, use get-combat-snapshot (combat-ai bundle) instead.

  • get-combat-snapshot

    Read the current combat state to decide an NPC's turn \u2014 call once at the start of every turn. The view is filtered per role: enemies show HP percentage only (never exact HP); the CURRENT combatant carries the full stat block (usable weapons/spells/features \u2014 features[] is SHEET metadata, not a resolve-feature contract: resolve-feature's error listing is the authoritative activatable set;

  • get-compendium-entry

    Get full details of a compendium entry. Returns complete stat blocks for creatures, spell descriptions with mechanics, or item properties (HTML stripped to plain text). For JournalEntry packs, returns the entry's pages as plain text (paginated via pageOffset/pageLimit). For Adventure packs, returns a manifest of the names and IDs of contained journals, scenes, actors, items, tables, playlists, mac

  • get-current-scene

    Get the active scene with paginated token data. Returns scene name, dimensions (width/height in pixels), grid settings (size, distance), darkness level, a vision block (tokenVision; globalLight only when switched on: true = lighting everything in line of sight now, "outside-darkness-range" = on but idle at the current darkness level, so change environment.darknessLevel instead of re-enabling it; l

  • get-familiar-settings

    Read Familiar's own settings (the switches and selects of its settings window) with their current value, default, allowed values and who may change them. Pass area for one tab, or key for one setting with its full option list; omit both for every readable setting. Each entry carries label, kind, scope (world = stored in this Foundry world for every client; client = stored in the GM browser that ru

  • get-journal

    Get a full journal entry with all page content rendered as plain text (HTML stripped). Returns the entry name and all pages with their names, IDs, types, and full content; media pages (image/video/pdf) also carry their src path when set \u2014 reusable in create-journal-page or send-chat-message. For reading a single page, use get-journal-page instead.

  • get-journal-page

    Get a single page from a journal entry with full content (media pages also carry their src path when set). Use the page ID from list-journals or get-journal results. For reading all pages at once, use get-journal instead.

  • get-movement-options

    Get pre-scored tactical movement options for the current combatant. Returns up to 5 positions within the movement REMAINING this turn (condition-aware speed minus distance already moved \u2014 speedFt echoes that remainder, not the statblock walk), each scored and categorized (advance, retreat, flank, hold, approach-ally). Includes opportunity attack risk warnings and cover analysis. Scores factor

  • get-scene

    Get full details of any scene by name or ID, including dimensions, grid settings, darkness level, weather, background image, folder, the vision block (tokenVision, globalLight, lights, fog \u2014 same shape and absence rules as get-current-scene), and paginated token list (rows share get-current-scene\u2019s shape \u2014 default hidden/elevation and a matching actorName are omitted; sight {range}

  • get-screenshot

    Capture an annotated JPEG screenshot of the GM's current Foundry VTT canvas view. Tokens are overlaid with numbered colored badges (green=friendly, red=hostile, yellow=neutral). Returns the image and a text legend mapping badge numbers to token name, disposition, HP, and AC. Use to verify token positions, inspect the battlefield, or reference tokens by number in conversation.

  • get-server-diagnostics
  • get-time

    Get the current in-game time as elapsed world time: total seconds plus a formatted "Day N, HH:MM:SS" string (no calendar \u2014 days count from world start). Use before advance-time to check the current time and plan time skips.

  • get-weather-effects

    List all available weather effect IDs that can be applied with set-weather. Returns effect names and IDs. Use to discover valid weather options before applying one.

  • get-world-info

    Get Foundry VTT world metadata. Returns game system, world name, Foundry version, and all connected players with a GM flag (role names live in list-users). When the GM has saved table rules for this world, the result carries them as tableInstructions (standing setting, tone, and house rules) \u2014 follow them in everything you narrate. When the campaign has stored memories, the result carries cam

  • heal-party

    Heal all party members or a specific character or token. Healing is capped at max HP. Omit identifier to heal the entire party. Use after combat, during a rest, or when applying healing spells/potions to multiple characters. Healing a creature at 0 HP revives it automatically (death saves reset, unconscious/prone removed, defeat cleared); creatures marked dead cannot be healed \u2014 their per-tar

  • import-compendium-to-character

    Import an item or spell from a compendium pack onto a character's sheet. Copies the compendium entry as a new owned item. Use search-compendium (compendium bundle) first to find the pack key and entry ID. For a D&D 5e class, subclass, species, or background pass applyAdvancement:true \u2014 the system's own advancement engine then runs: level-1 features, fixed proficiencies, level-1 HP and other n

  • level-up-class

    Level up a class on a character (dnd5e worlds only \u2014 on other systems this tool refuses; level up through the game system instead). Pass applyAdvancement:true to let the system's own advancement engine do the level: the level's class features (ItemGrant), scale values and proficiency apply by themselves, and so does HP when the previous level took the average; otherwise the HP roll-or-average

  • list-characters

    List actors in the world with summary info (name, type). Returns a paginated list without stats or portraits \u2014 HP/AC/level live in get-character and list-party-members, image paths in get-character. Filter by type: 'character' for PCs, 'npc' for NPCs, or 'all'. Response includes total count and hasMore flag. For full details on one character, use get-character instead.

  • list-compendium-packs

    List all available compendium packs. Returns each pack's ID (collection key, e.g., 'dnd5e.spells'), document type (Actor, Item, JournalEntry, Scene, etc.), human-readable label, and source system. Use the returned pack IDs with search-compendium and get-compendium-entry to find and retrieve specific entries.

  • list-journals

    List journal entries in the world with pagination. Returns each entry's name, ID, page count with page names/IDs (page types live in get-journal), and folder name. Response includes total count and hasMore flag. Filter by folder name for organized worlds. For searching journal content, use search-journals instead.

  • list-party-members

    Get the adventuring party: on D&D 5e the members of the world's primary party group (the Party sheet \u2014 they count before any player owns them; those rows carry `partyGroup` = the group's name, in both shapes) merged with every actor a player owns (owner permission, a world-default owner grant included); on other systems the player-owned actors. Returns a lightweight summary \u2014 name plus,

  • list-scenes

    List scenes in the world with pagination. Returns each scene's name, ID, active status, and navigation visibility. Response includes total count and hasMore flag. Use to find a scene before switching to it with switch-scene.

  • list-tool-bundles
  • list-undoable-workflows

    List the combat actions that can be undone, newest first. Each entry is one resolved combat action from the current encounter \u2014 attack, multiattack, spell, teleport, movement, saving throw, death save, ability check, feature activation (Rage, Wild Shape, \u2026), legendary action, grapple/shove, or an engine-injected reaction window (Sentinel / Guardian) (max 15 retained, FIFO). Returns each

  • move-token

    Move a token to x,y pixel coordinates on the current scene \u2014 the GM repositioning tool for outside combat: it ignores walls and closed doors (like the GM\u2019s Unconstrained Movement toggle) and does not check movement speed. On gridded scenes the target snaps to the top-left origin of its grid cell; the returned x,y is the committed position and `snappedFrom` echoes your raw input when the

  • next-round

    Advance combat to the next round, resetting to the top of initiative order. Returns the new round number and active combatant. If combat hasn't started yet, this begins the first round instead. Use to skip remaining turns in the current round. Turn-boundary automation (recurring saves, zone damage, effect expiry) is engine-resolved for every crossed turn \u2014 the skipped turns' start/end events

  • next-turn

    Advance combat to the next combatant's turn. Returns the new active combatant. If combat hasn't started yet, this begins the first turn. Automatically wraps to the next round after the last combatant. Advancing also resolves turn-boundary effects automatically (recurring saves like Hold Person, zone damage, effect expiry, recharges) \u2014 never roll or apply those yourself.

  • pan-canvas

    Pan and zoom the GM canvas camera to a position. Animates smoothly over the specified duration. Use after switch-scene to focus on a specific area, or to draw attention to a location during gameplay.

  • previous-turn

    Go back one combatant's turn within the current round \u2014 the GM correction for an accidental next-turn. Returns the new active combatant. The step back fires no turn automation and rewinds nothing already resolved (to restore state a resolver mutated, use undo-last-workflow, combat-ai bundle); it also lands on combatants Skip Defeated would skip. Refuses to cross a round boundary \u2014 from t

  • pull-players-to-scene

    Pull specific players to a scene WITHOUT activating it: each named player's view switches to that scene while the active scene \u2014 and everyone not named \u2014 stays where they are. Use for split-party play (one group in the tavern, another in the dungeon) or to bring one player to a side scene; use switch-scene instead when the whole table should move. A player without a token on the target s

  • query-aoe-targets

    Find tokens within an area of effect \u2014 use it to plan AoE spell targeting before casting. Returns tokens sorted by distance from origin. Six shapes: 'circle' (default \u2014 a 3D sphere), 'cone' (PHB 1:1 triangular), 'line', 'cube' (square rotated to direction), 'ray' (line geometry; supports the firstHitOnly planning filter), 'cylinder' (circle footprint + vertical band); each shape's requir

  • quick-start-combatwrite action

    Create a combat encounter, add combatants, and roll initiative in one step (dnd5e worlds only \u2014 on other systems use start-combat). Omit identifiers to add all visible scene tokens (hidden tokens are skipped \u2014 pass includeHidden:true to include them, or use add-combatant mid-combat when they reveal). Set rollNpcOnly to let players roll their own initiative.

  • remove-combatantwrite action

    Remove combatants from the active combat encounter \u2014 ONLY for creatures that genuinely left the fight (fled, banished, surrendered and out of the scene). Use combatant IDs from get-combat. During enforced dnd5e combat, removing a creature that is still in the fight \u2014 live hit points, or a player character that is not dead \u2014 is rejected unless `reason` records why it left: defeat cre

  • rename-character

    Rename an actor and update its prototype token name to match. Returns the previous name and the actor ID. Accepts character name (exact match) or Foundry actor ID.

  • reset-fog

    Reset fog of war exploration for the active scene, hiding all previously revealed areas. This is irreversible \u2014 players will need to re-explore. Rejected when the GM is viewing a different scene than the active one (switch scenes first). Use when resetting a dungeon or starting a new exploration phase. Returns the scene name. This never fixes a player who cannot see the map: that is token vis

  • resolve-ability-check

    Roll an ability check or skill check against a DC. Use for skill checks in combat (Athletics, Acrobatics), grapple escape attempts, and GM-called checks \u2014 2024 grapple/shove initiation is NOT a contested check; use resolve-grapple-shove. Unlike saving throws, ability checks use the raw ability modifier (or skill total if proficient).

  • resolve-action

    Use the Dash, Dodge, or Disengage action. Dash doubles movement speed for the turn. Dodge gives disadvantage on incoming attacks until next turn. Disengage prevents opportunity attacks. Consumes the action for the turn \u2014 duplicate use throws (one Action per turn per PHB). BONUS-ACTION forms: a creature with 2024 Cunning Action (Rogue: Dash / Disengage), Monk's Focus (Monk: Patient Defense = f

  • resolve-attack

    Resolve an NPC attack \u2014 a weapon attack OR a statblock feature attack (2024 natural attacks like Rend resolve here \u2014 see the weapon parameter; spells go through resolve-spell). Rolls to hit (condition-derived advantage/disadvantage and auto-crits fold in \u2014 see those parameters) vs target AC, rolls damage on hit (doubled dice on a critical), applies it, and posts to chat. Sneak Attac

  • resolve-death-save

    Resolve a death saving throw for a target at 0 HP. Rolls 1d20 plus saving-throw bonuses (Bless/Bane, Aura of Protection \u2014 2024: death saves ARE saving throws): natural 20 revives with 1 HP, natural 1 counts as two failures, total >= 10 is a success, below 10 is a failure. 3 successes stabilize, 3 failures kill.

  • resolve-feature

    Activate a class feature or feat by name for the acting creature \u2014 Rage, Action Surge, Wild Shape, Lay on Hands, Bardic Inspiration, Channel Divinity, Fiendish Vigor, Second Wind, Wholeness of Body (more as their rules land). Validates the feature exists on the actor and is activation-supported, enforces its action-economy cost (Rage/Wild Shape/Lay on Hands/Bardic Inspiration/Second Wind/Whol

  • resolve-grapple-shove

    Resolve a 2024 grapple or shove (a special melee attack). The target makes a Strength OR Dexterity saving throw (its best) against DC 8 + the attacker's Strength modifier + proficiency bonus; on a failure the grapple applies the Grappled condition, and a shove knocks the target Prone or pushes it 5 ft (pick with mode). On a success nothing happens. Shoving an AIRBORNE target Prone makes it fall (2

  • resolve-legendary-action

    Use a legendary action between other creatures' turns. Validates charges, deducts the cost, and posts the use to chat \u2014 it does NOT roll the action's mechanics: after this call, resolve the actual attack/spell via resolve-attack / resolve-spell with force:true and reason 'legendary action' (it is not the creature's turn). Cannot be used on the creature's own turn. Legendary actions recharge a

  • resolve-movement

    Move a token to a new position on the battlefield during combat. Calculates distance moved in game units (feet), compares against the actor's condition-aware speed (grappled/prone reduce it), requires a wall-respecting path on walled scenes, updates the token position, and reports movement remaining. Use this during combat turns instead of move-token \u2014 it enforces movement rules. Outside comb

  • resolve-multiattack

    Resolve a Multiattack action for an NPC. Parses the Multiattack feature description, identifies component attacks, and resolves each. Returns all attack results plus a damage summary. A component result carrying 'hewGranted: true' means …; ABSENT = no grant or an older server. Falls back with an error message if parsing fails \u2014 use individual resolve-attack calls instead.

  • resolve-saving-throw

    Force a saving throw on a target. Rolls d20 + save modifier against a DC and reports success or failure. Not for concentration on resolver damage \u2014 resolve-attack / resolve-spell roll that save automatically; only apply-damage (which runs no auto-save) needs a manual CON save through this tool. A failed save may be engine-converted to a success: 'legendaryResistanceUsed' (a Legendary Resistan

  • resolve-spell

    Cast a spell from an NPC. Consumes a spell slot (if not a cantrip), resolves spell attacks or saving throws per target, rolls and applies damage, handles concentration, and posts results to chat. Reactions and aftermath are engine-resolved \u2014 never re-roll or re-apply anything the result reports. Per-target aftermath fields \u2014 'concentration' (that target's forced save or 0-HP auto-break),

  • rest-party

    Apply short or long rest to all party members. Long rest: restores full HP, resets all resources, and restores spell slots. Short rest: allows hit dice recovery and resets short-rest resources. Posts rest results to chat. Returns per-character results with success/failure and post-rest HP. dnd5e worlds only. Blocked during enforced dnd5e combat (a rest takes 1+ hours and resets HP/slots/features)

  • revoke-character-ownershipwrite action

    Remove a player's access to a character by setting their permission to NONE (an explicit per-user level \u2014 it overrides the world's default permission for that player). Use list-users to find valid user names/IDs. Returns the character and user names.

  • roll-dice

    Roll a dice formula and return the numeric result. Supports standard notation (1d20+5, 2d6+3) and advanced syntax (4d6kh3 keep highest, 2d20kl1 keep lowest). The result's dice array …. Result is posted to Foundry chat by default. For attack rolls or spell damage during combat, prefer resolve-attack or resolve-spell (combat-ai bundle) instead.

  • roll-initiative

    Roll initiative for combatants in the active encounter (dnd5e worlds only). Returns rolled values and updated turn order; `rolled` counts how many combatants were actually rolled \u2014 0 means nothing needed rolling, or (with explicit IDs) that none of the supplied IDs matched a rollable combatant; use combatant IDs from get-combat. Omit combatantIds to roll for every combatant that hasn't rolled

  • search-character-items

    Search a character's inventory, spells, and features. Returns a compact list of matching items with IDs, names, and types, …. Rows also carry equipped, quantity, spell level, and prepared where applicable; item images live in get-character-item. Use to find an item before calling get-character-item for full details. Filter by name substring, item type, or both.

  • search-compendium

    Search compendium packs for items, creatures, spells, or journal entries by name. Returns matching entries with names, pack keys, and IDs, …. JournalEntry packs also match on page titles and content \u2014 those rows carry a matchedPage (page id, name, and a snippet for content matches). For Actor packs, supports filtering by CR, creature type (beast/undead/fiend/etc.), and size; passing any creat

  • search-journals

    Search journal entries by title and page content text. Returns matching entries with names, IDs, and text snippets showing where the search term appears, …. A page row carries a snippet only when the match was in its content \u2014 no snippet means the page title matched, and an entry with an empty matchingPages array matched on its own title. Page types live in get-journal; folder names in list-j

  • search-scenes

    Search scenes by name. Returns matching scenes with names, IDs, and active status, …. Use to find a scene when you only know part of the name.

  • set-combatant-defeated

    Set or clear the defeated marker on combatants \u2014 tracker bookkeeping only (strike-through in the tracker; turn advancement skips marked combatants when the tracker\u2019s "Skip Defeated" setting is on). Changes no HP and applies no conditions; NPCs reduced to 0 HP by resolver damage are marked automatically, and player characters are never marked while death saves are pending. Use to correct

  • set-darkness

    Set the scene darkness level (0=bright daylight, 0.5=twilight, 1=pitch black). Returns the new darkness value. Use animate:true for smooth day/night transitions \u2014 the level always persists; the animated echo comes back false when the GM is viewing a different scene (no transition runs there). Affects token vision and light source visibility.

  • set-table-npc

    Pin this NPC so Familiar answers AS it when a player writes "@<name> \u2026" in the ordinary Foundry chat, or un-pin it (enabled:false). While the GM's world switch "Familiar answers as any NPC" is on (the default; the result echoes anyNpc:true \u2014 absent = the switch is off, or the Foundry module predates it), every world actor a player does not own already answers to its name, so an un-pinned

  • set-turn

    Jump the combat tracker to a specific combatant's turn within the current round \u2014 a GM correction for turn-order mistakes (wrong active combatant, accidental skip). Returns the new active combatant. The jump is a pure pointer correction: no turn-boundary automation runs in either direction \u2014 skipped combatants' turn effects do not fire and the landed combatant's turn-start automation is

  • set-weather

    Set a weather particle effect on the active scene (rain, fog, snow, etc.). Use get-weather-effects to see valid IDs. Pass an empty string to clear the current weather. Only one weather effect can be active at a time.

  • start-combatwrite action

    Create a new combat encounter and add combatants from the current scene. If no identifiers are provided, all visible tokens on the active scene are added automatically (hidden tokens are skipped to preserve ambush tension \u2014 pass includeHidden:true to override, or use add-combatant mid-combat when hidden creatures reveal). Returns the combat tracker with all added combatants. After starting, u

  • switch-scene

    Switch the active scene by name or ID. All players are pulled to the new scene. Returns the activated scene name and ID (use get-current-scene for full data). Use pan-canvas afterward to focus on a specific area. To move only specific players without activating the scene for everyone, use pull-players-to-scene instead.

  • toggle-condition

    Toggle a status condition on a token (e.g., prone, poisoned, blinded). Adds the condition if absent, removes it if present. Use get-available-conditions first to see valid condition names and which carry ruleBasis (the engine-gated set). Returns the token name and toggled condition. During enforced dnd5e combat, conditions with a rule basis (prone, grappled, frightened, \u2026) are engine-managed

  • toggle-pause

    Pause or unpause the game. Returns the new pause state. Players cannot take actions while the game is paused. Omit the paused parameter to toggle.

  • undo-last-workflow

    Revert the most recent combat workflow (any resolved combat action \u2014 attack, multiattack, spell, teleport, movement, saving throw, death save, ability check, feature activation, legendary action, grapple/shove, or an engine-injected reaction window) by restoring every affected actor to the HP, spell slots, death saves, active effects, token position, and defeated state captured just before it

  • update-characterwrite action

    Update character data using Foundry dot-notation paths, e.g. {"system.attributes.hp.value": 25}. Use get-character (with sections) first to see current values; the result keys are the paths. Identity and biography (D&D 5e): system.details.gender (the free-text gender/pronouns field), .age, .alignment, .appearance, .trait, .ideal, .bond, .flaw, .faith, .eyes/.hair/.skin/.height/.weight, .biography.

  • update-character-itemwrite action

    Update an item on a character using dot-notation paths (e.g., {"system.levels": 5, "system.equipped": true}). Use get-character-item first to see current values and valid paths. Accepts character name or actor ID. Returns the item's ID and post-update name.

  • update-compendium-entrywrite action

    Update fields on an entry inside an unlocked compendium pack using dot-notation paths (e.g. {"name": "...", "system.details.cr": 5}). System-provided packs are locked and cannot be edited \u2014 this works on world packs and other packs the user unlocked. Use search-compendium to find the pack key and entry ID, and get-compendium-entry to read current values first.

  • update-familiar-settingwrite action

    Change one Familiar setting: the key exactly as get-familiar-settings lists it, and a value of the setting's kind (boolean, number or string; a select takes one of its choices or option ids; a host that sends every value as text may pass 'true', 'false' or '100' \u2014 they are read as the setting's kind). The result echoes what happened: updated (false when that value was already stored), applied

  • update-journalwrite action

    Rename a journal entry. For updating page content, use update-journal-page instead. Moving a journal between folders and changing ownership are not supported through this tool.

  • update-journal-pagewrite action

    Replace the content of an existing journal page. Accepts HTML or plain text. Use get-journal first to read the current content before overwriting.

  • update-scenewrite action

    Update scene properties using Foundry dot-notation paths. Supports name, grid, dimensions, background image, navigation visibility, tokenVision, environment.globalLight.enabled (true lights everything in line of sight for players \u2014 the fix when a player with a sighted token sees a black map; when the vision block says globalLight is "outside-darkness-range", change environment.darknessLevel i

  • update-tokenwrite action

    Update token visual properties on the current scene. Supports hidden, lock, elevation, size, rotation, and disposition. Elevation changes are REJECTED during active D&D 5e combat while combat rule enforcement is on (the default) \u2014 elevation is part of the 3D combat model (range, reach, opportunity attacks, auras, AoE), so setting it directly would be flying by fiat; the GM can adjust it on th

  • update-tokenswrite action

    Batch update properties on multiple tokens at once. Supports hidden, lock, elevation, size, rotation, and disposition. Elevation changes are REJECTED during active combat while rule enforcement is on (see update-token). Returns per-token results. Use to hide/reveal a group of tokens, change dispositions for multiple NPCs, or stage elevation for a flying group before combat starts.

Public scan report

scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it

1 medium
  • Code scan2 source files scanned20/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 4 days ago15/15
  • Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace7/10

Findings (1)

  • mediumeval / new Function usedexec.eval
    dist/mcp-package/index.mjs: …&&(d=this.opts.code.process(d,e));let f=new Function(`${xo.default.self}`,`${xo.default.scope…
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install directly

Runs npx -y familiar-vtt on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add familiar -- npx -y familiar-vtt
Add to Cursor

Familiar: common questions

Is Familiar MCP server safe?
Mostly: it is graded B (83/100). Read the Familiar safety report
How do I install Familiar?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Familiar need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Familiar maintained?
The last commit was 5 days ago (2026-09-16). The latest release is v2.25.0.
What can I use instead of Familiar?
Servers from other publishers that do the same job: Fish MCP server, Tegas AI MCP server and NotebookLM MCP server. Compare all Familiar alternatives.

Alternatives to Familiar

Same job from other publishers: the closest match first, then the best rated.

All Familiar alternatives →
  • Fish
    MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
    A
  • Tegas AI
    AI video production for marketing and social media: script, scenes, voice-over, subtitles, music.
    A
  • NotebookLM MCP
    Automate Google NotebookLM — Q&A with citations, audio, video, content generation
    C
  • Rendobar
    Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
    A
  • Vidofy
    Generate video, images, audio and speech with Vidofy — Veo 3.1, Kling 3.0, Flux 2 and 570+ models.
    A

More from familiarvtt.com