AM

Argo MCP

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

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

Yes, your AI can use this right now.Answered a live MCP handshake in 204 ms with no sign-in needed and exposes 63 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://mcp.argo.games/mcp

63 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
list_campaignsread-only

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 use

get_campaignread-only

Retrieve details of an Argo campaign (name, description, rule system, co-GMs).

create_campaign

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.

update_campaign

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.

list_co_gmsread-only

List the assistant GMs (co-GMs) of a campaign.

add_co_gm

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.

remove_co_gmcan modify

Remove a co-GM from a campaign. Owner-only or self-removal.

describe_mnemon_typesread-only

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. NPC subtype is strictly FACTION | INDIVIDUAL.

list_mnemonsread-only

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 includ

search_mnemonsread-only

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

get_mnemonread-only

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.

list_mnemon_relationshipsread-only

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.

create_npc_mnemons

Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wire membership; the server projects into MEMBER relationships. Players may not call this — GM/co-GM only.

create_location_mnemons

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.

create_quest_mnemons

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 (s

create_lore_mnemons

Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only.

create_archive_mnemons

Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only.

create_journal_mnemons

Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only.

create_session_summary_mnemons

Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only.

create_player_mnemons

Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id), and characterId (SessionCharacter id) or the entry will be auto-detached. Players with campaign.write may call this for a party they belong to; GMs may call for any party.

create_custom_mnemons

Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only.

update_npc_mnemons

Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). 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[].

update_location_mnemons

Update typed/meta fields of Location mnemons.

update_quest_mnemons

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

update_lore_mnemons

Update typed/meta fields of Lore mnemons.

update_archive_mnemons

Update typed/meta fields of Archive mnemons.

update_journal_mnemons

Update typed/meta fields of Journal mnemons.

update_session_summary_mnemons

Update typed/meta fields of SessionSummary mnemons.

update_player_mnemons

Update typed/meta fields of Player mnemons.

update_custom_mnemons

Update typed/meta fields of Custom-typed mnemons.

set_quest_objective_state

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.

update_mnemons_content

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: ![caption](asset:<assetId>@<campaignId>) — upload the asse

create_mnemon_relationship

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. Regio

delete_mnemon_relationshipcan modify

Delete a relationship by id.

delete_mnemoncan modify

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.

create_session

Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights.

list_sessionsread-only

List campaign sessions for a given month (defaults to the current month).

get_sessionread-only

Get details of a single campaign session.

update_session

Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend.

list_guildsread-only

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.

get_guildread-only

Retrieve full details of a guild (members, campaigns, calendar metadata).

list_guild_membersread-only

List the members of a guild (id, role, status, invitedAt, joinedAt).

add_campaign_to_guild

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).

invite_guild_member

Invite a user to join the guild. Owner/Admin only.

remove_guild_membercan modify

Remove a member from the guild. Owner/Admin only.

set_guild_member_role

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.

add_guild_calendar_event

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).

list_friendsread-only

List the current user's accepted friends.

list_sent_friend_requestsread-only

List outgoing friend requests that are still pending.

list_received_friend_requestsread-only

List incoming friend requests awaiting your response.

send_friend_request

Send a friend request to another Argo user.

accept_friend_request

Accept an incoming friend request from the given user.

reject_friend_requestcan modify

Reject an incoming friend request from the given user.

cancel_friend_requestcan modify

Cancel a friend request you previously sent.

forum_list_categoriesread-only

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.

forum_list_topicsread-only

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.

forum_get_latest_topicsread-only

Get the latest active topics across all forum categories.

forum_read_topicread-only

Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped).

forum_searchread-only

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.

forum_get_user_postsread-only

List topics created by the current user on the forum.

forum_get_notificationsread-only

Get the current user's forum notifications (replies, mentions, likes).

forum_create_topic

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.

forum_reply

Reply to an existing forum topic.

Alternatives in Developer Tools

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”