io.github.Argo-RPG-Platform/argo-mcp

MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

Endpointhttps://mcp.argo.games/mcp (streamable-http)
Registry version1.0.3
Now65 tools · grade D (59) · pin ts_0eb7dd97e4adbd7fe66ab1739a7f2204 · protocol 2025-06-18
First / last listed2026-10-25 07:21 UTC / 2026-10-25 07:21 UTC
Grade over time2026-10-25: D (59), 65 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 07:21 UTC
65 tools, grade D (59)

Tools: list_campaigns get_campaign create_campaign update_campaign list_co_gms add_co_gm remove_co_gm describe_mnemon_types list_mnemons search_mnemons get_mnemon list_mnemon_relationships create_npc_mnemons create_faction_mnemons create_location_mnemons create_quest_mnemons create_lore_mnemons create_archive_mnemons create_journal_mnemons create_session_summary_mnemons create_custom_mnemons update_npc_mnemons update_faction_mnemons update_location_mnemons update_quest_mnemons update_lore_mnemons update_archive_mnemons update_journal_mnemons update_session_summary_mnemons update_player_mnemons update_party_mnemons update_custom_mnemons set_quest_objective_state update_mnemons_content create_mnemon_relationship delete_mnemon_relationship delete_mnemon create_session list_sessions get_session update_session list_guilds get_guild list_guild_members add_campaign_to_guild invite_guild_member remove_guild_member set_guild_member_role add_guild_calendar_event list_friends list_sent_friend_requests list_received_friend_requests send_friend_request accept_friend_request reject_friend_request cancel_friend_request forum_list_categories forum_list_topics forum_get_latest_topics forum_read_topic forum_search forum_get_user_posts forum_get_notifications forum_create_topic forum_reply

Current tools (65)

list_campaignsList 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,
params: none
get_campaignRetrieve details of an Argo campaign (name, description, rule system, co-GMs).
params: campaignId*
create_campaignCreate 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.
params: campaignName*, description*, ruleSystem*, gameSystemSlug
update_campaignUpdate 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.
params: campaignId*, campaignName, campaignDescription
list_co_gmsList the assistant GMs (co-GMs) of a campaign.
params: campaignId*
add_co_gmSend 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.
params: campaignId*, userId*
remove_co_gmRemove a co-GM from a campaign. Owner-only or self-removal.
params: campaignId*, userId*
describe_mnemon_typesReturns 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.
params: none
list_mnemonsList 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 includ
params: campaignId*, title, type, limit, offset
search_mnemonsFull-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 d
params: campaignId*, query*, type, limit
get_mnemonGet 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.
params: campaignId*, entryId*
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). Use this to find members of a faction, allies/enemies of an NPC, etc.
params: campaignId*, entryId*
create_npc_mnemonsCreate 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.
params: campaignId*, items*
create_faction_mnemonsCreate 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.
params: campaignId*, items*
create_location_mnemonsCreate 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.
params: campaignId*, items*
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 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 (s
params: campaignId*, items*
create_lore_mnemonsCreate Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only.
params: campaignId*, items*
create_archive_mnemonsCreate Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only.
params: campaignId*, items*
create_journal_mnemonsCreate Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only.
params: campaignId*, items*
create_session_summary_mnemonsCreate SessionSummary mnemons (the memory of one played session): the story as the Markdown body, plus a short recap shown as "Previously on". Players may not call this — GM/co-GM only.
params: campaignId*, items*
create_custom_mnemonsCreate custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only.
params: campaignId*, items*
update_npc_mnemonsUpdate 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[].
params: campaignId*, items*
update_faction_mnemonsUpdate 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.
params: campaignId*, items*
update_location_mnemonsUpdate typed/meta fields of Location mnemons.
params: campaignId*, items*
update_quest_mnemonsUpdate 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
params: campaignId*, items*
update_lore_mnemonsUpdate typed/meta fields of Lore mnemons.
params: campaignId*, items*
update_archive_mnemonsUpdate typed/meta fields of Archive mnemons.
params: campaignId*, items*
update_journal_mnemonsUpdate typed/meta fields of Journal mnemons.
params: campaignId*, items*
update_session_summary_mnemonsUpdate the recap, date, number and meta fields of SessionSummary mnemons. To change the story, use update_mnemons_content.
params: campaignId*, items*
update_player_mnemonsUpdate 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.
params: campaignId*, items*
update_party_mnemonsUpdate 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.
params: campaignId*, items*
update_custom_mnemonsUpdate typed/meta fields of Custom-typed mnemons.
params: campaignId*, items*
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. 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.
params: campaignId*, entryId*, objectiveId*, state*
update_mnemons_contentEdit 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: ![caption](asset:<assetId>@<campaignId>) — upload the asset fi
params: campaignId*, items*
create_mnemon_relationshipCreate 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 → Ci
params: campaignId*, sourceEntryId*, targetEntryId*, label*, color, direction
delete_mnemon_relationshipDelete a relationship by id.
params: campaignId*, relationshipId*
delete_mnemonPermanently 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.
params: campaignId*, entryId*
create_sessionSchedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights.
params: campaignId*, title*, description, startAt*, endAt, invitedUserIds
list_sessionsList campaign sessions for a given month (defaults to the current month).
params: campaignId*, year, month
get_sessionGet details of a single campaign session.
params: campaignId*, sessionId*
update_sessionReschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend.
params: campaignId*, sessionId*, title, description, startAt, endAt
list_guildsList 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.
params: none
get_guildRetrieve full details of a guild (members, campaigns, calendar metadata).
params: guildId*
list_guild_membersList the members of a guild (id, role, status, invitedAt, joinedAt).
params: guildId*
add_campaign_to_guildAdd 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).
params: guildId*, campaignId*
invite_guild_memberInvite a user to join the guild. Owner/Admin only.
params: guildId*, userId*
remove_guild_memberRemove a member from the guild. Owner/Admin only.
params: guildId*, userId*
set_guild_member_roleChange 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.
params: guildId*, userId*, role*
add_guild_calendar_eventAdd a new event to the guild's shared calendar. Owner/Admin only. startDateTime / endDateTime are ISO-8601 (e.g. 2026-06-12T19:00:00).
params: guildId*, title*, description, startDateTime*, endDateTime
list_friendsList the current user's accepted friends.
params: none
list_sent_friend_requestsList outgoing friend requests that are still pending.
params: none
list_received_friend_requestsList incoming friend requests awaiting your response.
params: none
send_friend_requestSend a friend request to another Argo user.
params: userId*
accept_friend_requestAccept an incoming friend request from the given user.
params: userId*
reject_friend_requestReject an incoming friend request from the given user.
params: userId*
cancel_friend_requestCancel a friend request you previously sent.
params: userId*
forum_list_categoriesList 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.
params: none
forum_list_topicsList 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.
params: categorySlug, categoryId
forum_get_latest_topicsGet the latest active topics across all forum categories.
params: none
forum_read_topicRead the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped).
params: topicId*
forum_searchSearch 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.
params: q*
forum_get_user_postsList topics created by the current user on the forum.
params: none
forum_get_notificationsGet the current user's forum notifications (replies, mentions, likes).
params: none
forum_create_topicCreate 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.
params: title*, raw*, categoryId*
forum_replyReply to an existing forum topic.
params: topicId*, raw*

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.