io. github. Argo-RPG-Platform/ argo-mcp
by Argo-RPG-Platform · remote · local (npm) · no sign-in to list tools · v1.0.3 · published by GitHub user Argo-RPG-Platform
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
65 tools: 6 can delete or cancel things, 4 do something that can't be undone, 32 change things and 23 only read.
Scanned Oct 21, 2026
- Deletes or cancels6Claude Code: deny: see these tools
- Can't be undone4Claude Code: ask: see these tools
- Changes things32Claude Code: ask: see these tools
- Only reads23Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http argo https://mcp.argo.games/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
65 tools
Deletes or cancels 6Claude Code: deny
cancel_friend_requestCancel a friend request you previously sent.No findings
Why it is in this group
- The name "cancel_friend_request" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Cancel a friend request you previously sent.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- title: Cancel friend request
delete_mnemonPermanently delete a mnemon entry and every relationship that touches it.No findings
Why it is in this group
- The name "delete_mnemon" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete a mnemon entry and every relationship that touches it. GM-only on the backend. This cannot be undone — confirm with the user before calling. entryId accepts a hex id or an exact title.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- title: Delete mnemon
delete_mnemon_relationshipDelete a relationship by id.No findings
Why it is in this group
- The name "delete_mnemon_relationship" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a relationship by id.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- title: Delete mnemon relationship
reject_friend_requestReject an incoming friend request from the given user.No findings
Why it is in this group
- The name "reject_friend_request" says "reject": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Reject an incoming friend request from the given user.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- title: Reject friend request
remove_co_gmRemove a co-GM from a campaign.No findings
Why it is in this group
- The name "remove_co_gm" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a co-GM from a campaign. Owner-only or self-removal.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- title: Remove co-GM
remove_guild_memberRemove a member from the guild.No findings
Why it is in this group
- The name "remove_guild_member" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a member from the guild. Owner/Admin only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- title: Remove guild member
Can't be undone 4Claude Code: ask
add_co_gmSend a user an assistant GM (co-GM) offer for a campaign.No findings
Why it is in this group
- The name "add_co_gm" says "add": a word for a change.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a user an assistant GM (co-GM) offer for a campaign. This does NOT add them immediately: the target must accept the offer before they become an assistant GM. Owner-only — the calling user must be the campaign's primary GM. Maximum 5 co-GMs per campaign.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Add co-GM
forum_replyReply to an existing forum topic.No findings
Why it is in this group
- The name "forum_reply" says "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Reply to an existing forum topic.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- title: Reply to forum topic
invite_guild_memberInvite a user to join the guild.No findings
Why it is in this group
- The name "invite_guild_member" says "invite": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Invite a user to join the guild. Owner/Admin only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Invite guild member
send_friend_requestSend a friend request to another Argo user.No findings
Why it is in this group
- The name "send_friend_request" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a friend request to another Argo user.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Send friend request
Changes things 32Claude Code: ask
accept_friend_requestAccept an incoming friend request from the given user.No findings
Why it is in this group
- The name "accept_friend_request" says "request": a word for a change.
Description, as the server wrote it Accept an incoming friend request from the given user.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Accept friend request
add_campaign_to_guildAdd a campaign to a guild.No findings
Why it is in this group
- The name "add_campaign_to_guild" says "add": a word for a change.
Description, as the server wrote it Add a campaign to a guild. Any active member of the guild can do this; the calling user must be the campaign's GM (enforced server-side).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Add campaign to guild
add_guild_calendar_eventAdd a new event to the guild's shared calendar.No findings
Why it is in this group
- The name "add_guild_calendar_event" says "add": a word for a change.
Description, as the server wrote it Add a new event to the guild's shared calendar. Owner/Admin only. startDateTime / endDateTime are ISO-8601 (e.g. 2026-06-12T19:00:00).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Add guild calendar event
create_archive_mnemonsCreate Archive mnemons (archived lore that is no longer current).No findings
Why it is in this group
- The name "create_archive_mnemons" says "create": a word for a change.
Description, as the server wrote it Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create archive mnemons
create_campaignCreate a new Argo campaign.No findings
Why it is in this group
- The name "create_campaign" says "create": a word for a change.
Description, as the server wrote it Create a new Argo campaign. The current user becomes GM and the calling token gains read+write access to the new campaign immediately (no re-consent needed). Requires the campaign.create OAuth scope, granted at consent time.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create campaign
create_custom_mnemonsCreate custom-typed mnemons (any free-form entry that doesn't fit the other types).No findings
Why it is in this group
- The name "create_custom_mnemons" says "create": a word for a change.
Description, as the server wrote it Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create custom mnemons
create_faction_mnemonsCreate Faction mnemons (factions, guilds, cults, companies).No findings
Why it is in this group
- The name "create_faction_mnemons" says "create": a word for a change.
Description, as the server wrote it Create Faction mnemons (factions, guilds, cults, companies). Use memberNpcEntryIds to name each faction's NPC members; the server projects them into MEMBER relationships. Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create faction mnemons
create_journal_mnemonsCreate Journal mnemons (log of in-world events).No findings
Why it is in this group
- The name "create_journal_mnemons" says "create": a word for a change.
Description, as the server wrote it Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create journal mnemons
create_location_mnemonsCreate Location mnemons (places — cities, dungeons, taverns).No findings
Why it is in this group
- The name "create_location_mnemons" says "create": a word for a change.
Description, as the server wrote it Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creation. Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create location mnemons
create_lore_mnemonsCreate Lore mnemons (world background, factions' beliefs, history).No findings
Why it is in this group
- The name "create_lore_mnemons" says "create": a word for a change.
Description, as the server wrote it Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create lore mnemons
create_mnemon_relationshipCreate a relationship between two mnemon entries.No findings
Why it is in this group
- The name "create_mnemon_relationship" says "create": a word for a change.
Description, as the server wrote it Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belong to the word itself — never send a per-edge override. All 16 labels: MEMBER (NPC ∈ Faction, mutual), ALLY (mutual), ENEMY (one-way), RIVAL (one-way), PARENT_OF (Location hierarchy — sourceEntryId is the outer/larger place, e.g. Region → City → District → Tavern), CONTAINS (Location → NPC present there), LOCATED_IN (NPC → Location; inverse of CONTAINS), HAS_SUBQUEST (Quest → subquest Quest), QUEST_GIVER (Quest → the NPC who gives it), QUEST_LOCATION (Quest → the Location where it is given or set), QUEST_RELATED_NPC (Quest → NPC), QUEST_RELATED_LOCATION (Quest → Location), SESSION_ATTENDEE_CHARACTER (SessionSummary → a character's Player), SESSION_ATTENDEE_NPC (SessionSummary → NPC), SESSION_FEATURED_QUEST (SessionSummary → Quest), SESSION_FEATURED_LOCATION (SessionSummary → Location). sourceEntryId is the 'from' side; targetEntryId is the 'to' side — which end is which matters. Call describe_mnemon_types for the full valid (sourceType, label, targetType) matrix. For faction membership prefer memberNpcEntryIds on the faction or affiliationEntryIds on the NPC; for a quest's giver, location and parent prefer giverId / locationId / parentQuestId on the quest, which keep each to one link. Session-summary links have no array equivalent — the SESSION_* labels are the only way to set them.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create mnemon relationship
create_npc_mnemonsCreate NPC mnemons (individual people).No findings
Why it is in this group
- The name "create_npc_mnemons" says "create": a word for a change.
Description, as the server wrote it Create NPC mnemons (individual people). role is an optional free-text role or occupation. Use affiliationEntryIds to name the factions each NPC belongs to; the server projects them into MEMBER relationships. For a faction, guild or cult use create_faction_mnemons. Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create NPC mnemons
create_quest_mnemonsCreate Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objectives), reward chips, a …No findings
Why it is in this group
- The name "create_quest_mnemons" says "create": a word for a change.
Description, as the server wrote it Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objectives), reward chips, a Markdown background and GM-only gmNotes. The server builds the quest the Argo app shows from these. Do not write objectives or rewards as Markdown; markdown alone becomes the Background. The retired quest board fields (steps, reward rows, issuer*, questStatus) are for quests the migration has not converted — see describe_mnemon_types.questBody. Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create quest mnemons
create_sessionSchedule a campaign session.No findings
Why it is in this group
- The name "create_session" says "create": a word for a change.
Description, as the server wrote it Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Schedule session
create_session_summary_mnemonsCreate SessionSummary mnemons (structured summaries of game sessions).No findings
Why it is in this group
- The name "create_session_summary_mnemons" says "create": a word for a change.
Description, as the server wrote it Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Create session summary mnemons
forum_create_topicCreate a new forum topic (bug report, feature request, or general discussion).No findings
Why it is in this group
- The name "forum_create_topic" says "create": a word for a change.
Description, as the server wrote it Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categories to get the correct categoryId.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- title: Create forum topic
set_guild_member_roleChange a guild member's role to Owner, Admin, or Member.No findings
Why it is in this group
- The name "set_guild_member_role" says "set": a word for a change.
Description, as the server wrote it Change a guild member's role to Owner, Admin, or Member. Owner/Admin only. Note that promoting another user to Owner transfers the guild — confirm with the user first.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Set guild member role
set_quest_objective_stateTick, fail or reopen one objective of a quest by its id (get_mnemon's quest.objectives[].id), at any depth, without rewriting the quest.No findings
Why it is in this group
- The name "set_quest_objective_state" says "set": a word for a change.
Description, as the server wrote it Tick, fail or reopen one objective of a quest by its id (get_mnemon's quest.objectives[].id), at any depth, without rewriting the quest. A GM sets any state. A player may only tick an objective they can see done, or undo that, and only while the quest's playersCanTick is on. Returns the quest as get_mnemon shows it, its progress recounted.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Set quest objective state
update_archive_mnemonsUpdate typed/meta fields of Archive mnemons.No findings
Why it is in this group
- The name "update_archive_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Archive mnemons.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update archive mnemons
update_campaignUpdate a campaign's display name and/or description.No findings
Why it is in this group
- The name "update_campaign" says "update": a word for a change.
Description, as the server wrote it Update a campaign's display name and/or description. Both fields optional — only supplied fields are changed; pass an empty string to clear the description. GMs and co-GMs can call this; rule-system swaps remain WebApp-only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update campaign
update_custom_mnemonsUpdate typed/meta fields of Custom-typed mnemons.No findings
Why it is in this group
- The name "update_custom_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Custom-typed mnemons.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update custom mnemons
update_faction_mnemonsUpdate typed/meta fields of Faction mnemons (visibility, tags, members).No findings
Why it is in this group
- The name "update_faction_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Faction mnemons (visibility, tags, members). An entry that is not a Faction fails its item. Does NOT modify content blocks — use update_mnemons_content for that.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update faction mnemons
update_journal_mnemonsUpdate typed/meta fields of Journal mnemons.No findings
Why it is in this group
- The name "update_journal_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Journal mnemons.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update journal mnemons
update_location_mnemonsUpdate typed/meta fields of Location mnemons.No findings
Why it is in this group
- The name "update_location_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Location mnemons.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update location mnemons
update_lore_mnemonsUpdate typed/meta fields of Lore mnemons.No findings
Why it is in this group
- The name "update_lore_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Lore mnemons.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update lore mnemons
update_mnemons_contentEdit the body content of one or more mnemon entries.No findings
Why it is in this group
- The name "update_mnemons_content" says "update": a word for a change.
Description, as the server wrote it Edit the body content of one or more mnemon entries. Each item carries an entryId and an ordered list of ops (append, insertAfter, replace, remove) applied atomically per entry. Op content is authored as Markdown (headings, lists, quotes, code fences, bold/italic, links) — do NOT send HTML. Mentions: @[label](mnemon:<entryId>). Images:  — upload the asset first; inline base64 / data: URLs are not accepted. Node addressing: get body-node ids from get_mnemon, then target them in replace/remove/insertAfter. A single op's Markdown may produce several nodes; new nodes get fresh server-generated ids (replace keeps the original id on the first new node). On a bad op (missing blockId, unknown op, etc.) the whole entry's batch is rejected with the failedOpIndex; no partial mutation per entry. See describe_mnemon_types.blockOps for the full vocabulary.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- title: Update mnemon content
update_npc_mnemonsUpdate typed/meta fields of NPC mnemons (visibility, tags, role, faction membership, etc.).No findings
Why it is in this group
- The name "update_npc_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of NPC mnemons (visibility, tags, role, faction membership, etc.). An entry that is not an NPC fails its item; use update_faction_mnemons for a faction. Does NOT modify content blocks — use update_mnemons_content for that. Set visibility=PUBLIC on multiple NPCs in a single call by listing them in items[].
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update NPC mnemons
update_party_mnemonsUpdate typed/meta fields of PlayerParty mnemons — one per party in the campaign.No findings
Why it is in this group
- The name "update_party_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of PlayerParty mnemons — one per party in the campaign. PlayerParty mnemons cannot be created: the server makes one for each party. Who may edit an entry is decided by its own permissions.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update party mnemons
update_player_mnemonsUpdate typed/meta fields of Player mnemons — one per character in a party.No findings
Why it is in this group
- The name "update_player_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of Player mnemons — one per character in a party. Player mnemons cannot be created: the server makes one for each character that joins a party. Who may edit an entry is decided by its own permissions.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update player mnemons
update_quest_mnemonsUpdate Quest mnemons.No findings
Why it is in this group
- The name "update_quest_mnemons" says "update": a word for a change.
Description, as the server wrote it Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string removes one), and objectives, rewards, background or gmNotes, each of which replaces its part of the quest and keeps the rest. Name existing objectives and chips by the ids get_mnemon's `quest` returns so they keep what the GM wrote under them. To tick one objective, use set_quest_objective_state.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update quest mnemons
update_sessionReschedule a campaign session or edit its title/description.No findings
Why it is in this group
- The name "update_session" says "update": a word for a change.
Description, as the server wrote it Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update session
update_session_summary_mnemonsUpdate typed/meta fields of SessionSummary mnemons.No findings
Why it is in this group
- The name "update_session_summary_mnemons" says "update": a word for a change.
Description, as the server wrote it Update typed/meta fields of SessionSummary mnemons.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Update session summary mnemons
Only reads 23Claude Code: allow
describe_mnemon_typesReturns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType).No findings
Why it is in this group
- The name "describe_mnemon_types" says "describe": a word for reading.
Description, as the server wrote it Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before create_mnemon or create_mnemon_relationship when you are unsure which type or label to use. A person is an NPC and a faction is a Faction; Player and PlayerParty are made only by the server and cannot be created.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Describe mnemon types
forum_get_latest_topicsGet the latest active topics across all forum categories.No findings
Why it is in this group
- The name "forum_get_latest_topics" says "get": a word for reading.
Description, as the server wrote it Get the latest active topics across all forum categories.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get latest forum topics
forum_get_notificationsGet the current user's forum notifications (replies, mentions, likes).No findings
Why it is in this group
- The name "forum_get_notifications" says "get": a word for reading.
Description, as the server wrote it Get the current user's forum notifications (replies, mentions, likes).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get forum notifications
forum_get_user_postsList topics created by the current user on the forum.No findings
Why it is in this group
- The name "forum_get_user_posts" says "get": a word for reading.
Description, as the server wrote it List topics created by the current user on the forum.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List my forum topics
forum_list_categoriesList all Discourse forum categories at community.argo.games.No findings
Why it is in this group
- The name "forum_list_categories" says "list": a word for reading.
Description, as the server wrote it List all Discourse forum categories at community.argo.games. Call this first when the user wants to post a bug report or feature request — you need the categoryId to create a topic.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List forum categories
forum_list_topicsList topics in a specific forum category.No findings
Why it is in this group
- The name "forum_list_topics" says "list": a word for reading.
Description, as the server wrote it List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. Use forum_list_categories to discover categories.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List forum topics
forum_read_topicRead the full content of a forum topic including all posts and replies.No findings
Why it is in this group
- The name "forum_read_topic" says "read": a word for reading.
Description, as the server wrote it Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Read forum topic
forum_searchSearch forum topics and posts.No findings
Why it is in this group
- The name "forum_search" says "search": a word for reading.
Description, as the server wrote it Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creating a bug report or feature request to avoid duplicates.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Search forum
get_campaignRetrieve details of an Argo campaign (name, description, rule system, co-GMs).No findings
Why it is in this group
- The name "get_campaign" says "get": a word for reading.
Description, as the server wrote it Retrieve details of an Argo campaign (name, description, rule system, co-GMs).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get campaign
get_guildRetrieve full details of a guild (members, campaigns, calendar metadata).No findings
Why it is in this group
- The name "get_guild" says "get": a word for reading.
Description, as the server wrote it Retrieve full details of a guild (members, campaigns, calendar metadata).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get guild
get_mnemonGet the full details of a specific mnemon entry (title, blocks, type properties).No findings
Why it is in this group
- The name "get_mnemon" says "get": a word for reading.
Description, as the server wrote it Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and reward chips (with their ids), progress and reward totals, as the current user may see them — read objectives and rewards there, not from blocks.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get mnemon
get_sessionGet details of a single campaign session.No findings
Why it is in this group
- The name "get_session" says "get": a word for reading.
Description, as the server wrote it Get details of a single campaign session.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get session
list_campaignsList all Argo campaigns the current grant token has access to, including the access level ("read" or "read+write") for each.No findings
Why it is in this group
- The name "list_campaigns" says "list": a word for reading.
Description, as the server wrote it List all Argo campaigns the current grant token has access to, including the access level ("read" or "read+write") for each. Call this first when the user has not provided a campaign ID. Each entry includes both `campaignName` and `id` (shown inline as `[id: …]` and also in structuredContent.idMap). Use the `id` verbatim for any subsequent tool call that takes a `campaignId`. In prose to the user, refer to campaigns by `campaignName`; do not print the raw `id` unless asked.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List campaigns
list_co_gmsList the assistant GMs (co-GMs) of a campaign.No findings
Why it is in this group
- The name "list_co_gms" says "list": a word for reading.
Description, as the server wrote it List the assistant GMs (co-GMs) of a campaign.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List co-GMs
list_friendsList the current user's accepted friends.No findings
Why it is in this group
- The name "list_friends" says "list": a word for reading.
Description, as the server wrote it List the current user's accepted friends.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List friends
list_guild_membersList the members of a guild (id, role, status, invitedAt, joinedAt).No findings
Why it is in this group
- The name "list_guild_members" says "list": a word for reading.
Description, as the server wrote it List the members of a guild (id, role, status, invitedAt, joinedAt).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List guild members
list_guildsList the guilds the current user belongs to, with role (Owner/Admin/Member), member count, and campaign count.No findings
Why it is in this group
- The name "list_guilds" says "list": a word for reading.
Description, as the server wrote it List the guilds the current user belongs to, with role (Owner/Admin/Member), member count, and campaign count. Requires the guild.read scope. Each entry includes both `name` and `guildId` (shown inline as `[id: …]` and in structuredContent.idMap). Use the `guildId` verbatim for any tool that takes one; refer to guilds by `name` in prose to the user.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List guilds
list_mnemon_relationshipsList the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes).No findings
Why it is in this group
- The name "list_mnemon_relationships" says "list": a word for reading.
Description, as the server wrote it List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). Use this to find members of a faction, allies/enemies of an NPC, etc.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List mnemon relationships
list_mnemonsList mnemon (lore/memory) entries for an Argo campaign.No findings
Why it is in this group
- The name "list_mnemons" says "list": a word for reading.
Description, as the server wrote it List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Location, Quest). To find entries by what they CONTAIN, use search_mnemons instead. Returns up to `limit` entries (default 100); when `hasMore` is true, call again with `offset` = the returned `nextOffset` to fetch the next page. Each entry includes both `title` and `entryId` (shown inline as `[id: …]` and in structuredContent.idMap). Use the `entryId` verbatim for any tool that takes one; refer to entries by `title` in prose to the user.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List mnemons
list_received_friend_requestsList incoming friend requests awaiting your response.No findings
Why it is in this group
- The name "list_received_friend_requests" says "list": a word for reading.
Description, as the server wrote it List incoming friend requests awaiting your response.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List received friend requests
list_sent_friend_requestsList outgoing friend requests that are still pending.No findings
Why it is in this group
- The name "list_sent_friend_requests" says "list": a word for reading.
Description, as the server wrote it List outgoing friend requests that are still pending.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List sent friend requests
list_sessionsList campaign sessions for a given month (defaults to the current month).No findings
Why it is in this group
- The name "list_sessions" says "list": a word for reading.
Description, as the server wrote it List campaign sessions for a given month (defaults to the current month).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List sessions
search_mnemonsFull-text search across mnemon titles, tags, and body content (case-insensitive substring).No findings
Why it is in this group
- The name "search_mnemons" says "search": a word for reading.
Description, as the server wrote it Full-text search across mnemon titles, tags, and body content (case-insensitive substring). Prefer this over list_mnemons when looking for entries by what they contain — e.g. "what do we know about the Red Oracle?". Each hit reports which fields matched (title/tags/content) and up to 3 body snippets; a snippet's blockId is the same block id get_mnemon returns, so you can target the matched block directly in update_mnemons_content. Only content visible to the current user is searched. Returns at most `limit` hits (default 20, max 50) plus `hasMore`.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Search mnemons
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http argo https://mcp.argo.games/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__argo__list_campaigns",
"mcp__argo__get_campaign",
"mcp__argo__list_co_gms",
"mcp__argo__describe_mnemon_types",
"mcp__argo__list_mnemons",
"mcp__argo__search_mnemons",
"mcp__argo__get_mnemon",
"mcp__argo__list_mnemon_relationships",
"mcp__argo__list_sessions",
"mcp__argo__get_session",
"mcp__argo__list_guilds",
"mcp__argo__get_guild",
"mcp__argo__list_guild_members",
"mcp__argo__list_friends",
"mcp__argo__list_sent_friend_requests",
"mcp__argo__list_received_friend_requests",
"mcp__argo__forum_list_categories",
"mcp__argo__forum_list_topics",
"mcp__argo__forum_get_latest_topics",
"mcp__argo__forum_read_topic",
"mcp__argo__forum_search",
"mcp__argo__forum_get_user_posts",
"mcp__argo__forum_get_notifications"
],
"ask": [
"mcp__argo__create_campaign",
"mcp__argo__update_campaign",
"mcp__argo__add_co_gm",
"mcp__argo__create_npc_mnemons",
"mcp__argo__create_faction_mnemons",
"mcp__argo__create_location_mnemons",
"mcp__argo__create_quest_mnemons",
"mcp__argo__create_lore_mnemons",
"mcp__argo__create_archive_mnemons",
"mcp__argo__create_journal_mnemons",
"mcp__argo__create_session_summary_mnemons",
"mcp__argo__create_custom_mnemons",
"mcp__argo__update_npc_mnemons",
"mcp__argo__update_faction_mnemons",
"mcp__argo__update_location_mnemons",
"mcp__argo__update_quest_mnemons",
"mcp__argo__update_lore_mnemons",
"mcp__argo__update_archive_mnemons",
"mcp__argo__update_journal_mnemons",
"mcp__argo__update_session_summary_mnemons",
"mcp__argo__update_player_mnemons",
"mcp__argo__update_party_mnemons",
"mcp__argo__update_custom_mnemons",
"mcp__argo__set_quest_objective_state",
"mcp__argo__update_mnemons_content",
"mcp__argo__create_mnemon_relationship",
"mcp__argo__create_session",
"mcp__argo__update_session",
"mcp__argo__add_campaign_to_guild",
"mcp__argo__invite_guild_member",
"mcp__argo__set_guild_member_role",
"mcp__argo__add_guild_calendar_event",
"mcp__argo__send_friend_request",
"mcp__argo__accept_friend_request",
"mcp__argo__forum_create_topic",
"mcp__argo__forum_reply"
],
"deny": [
"mcp__argo__remove_co_gm",
"mcp__argo__delete_mnemon_relationship",
"mcp__argo__delete_mnemon",
"mcp__argo__remove_guild_member",
"mcp__argo__reject_friend_request",
"mcp__argo__cancel_friend_request"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as argo. Review it before you use it.
