Connection check
verified live · 27h ago
argo-mcp
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Tools
62
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http, stdio
Last checked
27h ago
Tools & capabilities
62 toolsRead from the running server on 27h ago.
accept_friend_request
userId*
Accept an incoming friend request from the given user. Accept an incoming friend request from the given user.
add_campaign_to_guild
guildId*campaignId*
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). 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).
add_co_gm
userId*campaignId*
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… 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.
add_guild_calendar_event
title*guildId*descriptionendDateTimestartDateTime*
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). 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).
cancel_friend_request
can modify data
userId*
Cancel a friend request you previously sent. Cancel a friend request you previously sent.
create_archive_mnemons
items*campaignId*
Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only. Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only.
create_campaign
ruleSystem*description*campaignName*gameSystemSlug
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 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.
create_custom_mnemons
items*campaignId*
Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only. Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only.
create_journal_mnemons
items*campaignId*
Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only. Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only.
create_location_mnemons
items*campaignId*
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… 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_lore_mnemons
items*campaignId*
Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only. Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only.
create_mnemon_relationship
colorlabel*directioncampaignId*sourceEntryId*targetEntryId*
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… 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 14 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_RELATED_NPC (Quest → NPC), QUEST_RELATED_LOCATION (Quest → Location), SESSION_ATTENDEE_CHARACTER (SessionSummary → CHARACTER-kind 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 / affiliationEntryIds on the NPC itself; for quest links prefer subQuestEntryIds / relatedNpcEntryIds / relatedLocationEntryIds on the quest. Session-summary links have no array equivalent — the SESSION_* labels are the only way to set them.
create_npc_mnemons
items*campaignId*
Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wire membership; the s… 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_player_mnemons
items*campaignId*
Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id), and characterId (Se… 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_quest_mnemons
items*campaignId*
Create Quest mnemons. questStatus is one of active|completed|failed. Players may not call this — GM/co-GM only. Create Quest mnemons. questStatus is one of active|completed|failed. Players may not call this — GM/co-GM only.
create_session
endAttitle*startAt*campaignId*descriptioninvitedUserIds
Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights. Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights.
create_session_summary_mnemons
items*campaignId*
Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only. Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only.
delete_mnemon
can modify data
entryId*campaignId*
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 he… 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.
delete_mnemon_relationship
can modify data
campaignId*relationshipId*
Delete a relationship by id. Delete a relationship by id.
describe_mnemon_types
read-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 creat… 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.
forum_create_topic
raw*title*categoryId*
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… 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_get_latest_topics
read-only
Get the latest active topics across all forum categories. Get the latest active topics across all forum categories.
forum_get_notifications
read-only
Get the current user's forum notifications (replies, mentions, likes). Get the current user's forum notifications (replies, mentions, likes).
forum_get_user_posts
read-only
List topics created by the current user on the forum. List topics created by the current user on the forum.
forum_list_categories
read-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… 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_topics
read-only
categoryIdcategorySlug
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_catego… 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_read_topic
read-only
topicId*
Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped). 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_reply
raw*topicId*
Reply to an existing forum topic. Reply to an existing forum topic.
forum_search
read-only
q*
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… 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.
get_campaign
read-only
campaignId*
Retrieve details of an Argo campaign (name, description, rule system, co-GMs). Retrieve details of an Argo campaign (name, description, rule system, co-GMs).
get_guild
read-only
guildId*
Retrieve full details of a guild (members, campaigns, calendar metadata). Retrieve full details of a guild (members, campaigns, calendar metadata).
get_mnemon
read-only
entryId*campaignId*
Get the full details of a specific mnemon entry (title, blocks, type properties). Get the full details of a specific mnemon entry (title, blocks, type properties).
get_session
read-only
sessionId*campaignId*
Get details of a single campaign session. Get details of a single campaign session.
invite_guild_member
userId*guildId*
Invite a user to join the guild. Owner/Admin only. Invite a user to join the guild. Owner/Admin only.
list_campaigns
read-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 campai… 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.
list_co_gms
read-only
campaignId*
List the assistant GMs (co-GMs) of a campaign. List the assistant GMs (co-GMs) of a campaign.
list_friends
read-only
List the current user's accepted friends. List the current user's accepted friends.
list_guild_members
read-only
guildId*
List the members of a guild (id, role, status, invitedAt, joinedAt). List the members of a guild (id, role, status, invitedAt, joinedAt).
list_guilds
read-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 `g… 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.
list_mnemon_relationships
read-only
entryId*campaignId*
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 memb… 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.
list_mnemons
read-only
typelimittitleoffsetcampaignId*
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 e… 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.
list_received_friend_requests
read-only
List incoming friend requests awaiting your response. List incoming friend requests awaiting your response.
list_sent_friend_requests
read-only
List outgoing friend requests that are still pending. List outgoing friend requests that are still pending.
list_sessions
read-only
yearmonthcampaignId*
List campaign sessions for a given month (defaults to the current month). List campaign sessions for a given month (defaults to the current month).
reject_friend_request
can modify data
userId*
Reject an incoming friend request from the given user. Reject an incoming friend request from the given user.
remove_co_gm
can modify data
userId*campaignId*
Remove a co-GM from a campaign. Owner-only or self-removal. Remove a co-GM from a campaign. Owner-only or self-removal.
remove_guild_member
can modify data
userId*guildId*
Remove a member from the guild. Owner/Admin only. Remove a member from the guild. Owner/Admin only.
search_mnemons
read-only
typelimitquery*campaignId*
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… 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`.
send_friend_request
userId*
Send a friend request to another Argo user. Send a friend request to another Argo user.
set_guild_member_role
role*userId*guildId*
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. 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.
update_archive_mnemons
items*campaignId*
Update typed/meta fields of Archive mnemons. Update typed/meta fields of Archive mnemons.
update_campaign
campaignId*campaignNamecampaignDescription
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… 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.
update_custom_mnemons
items*campaignId*
Update typed/meta fields of Custom-typed mnemons. Update typed/meta fields of Custom-typed mnemons.
update_journal_mnemons
items*campaignId*
Update typed/meta fields of Journal mnemons. Update typed/meta fields of Journal mnemons.
update_location_mnemons
items*campaignId*
Update typed/meta fields of Location mnemons. Update typed/meta fields of Location mnemons.
update_lore_mnemons
items*campaignId*
Update typed/meta fields of Lore mnemons. Update typed/meta fields of Lore mnemons.
update_mnemons_content
items*campaignId*
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… 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.
update_npc_mnemons
items*campaignId*
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=… 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_player_mnemons
items*campaignId*
Update typed/meta fields of Player mnemons. Update typed/meta fields of Player mnemons.
update_quest_mnemons
items*campaignId*
Update typed/meta fields of Quest mnemons (status transitions, expiry, related entries). Update typed/meta fields of Quest mnemons (status transitions, expiry, related entries).
update_session
endAttitlestartAtsessionId*campaignId*description
Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend. Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend.
update_session_summary_mnemons
items*campaignId*