Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Argo-RPG-Platform/MCP
GitHub Stars
1
Server Listing
Argo RPG Platform MCP
ChatGPT
–
Claude
–

TDQS

A3.5/5.0

Scored across 65 tools

Disambiguation4/5

Most tools map to a distinct resource and action, and the many create_*_mnemons variants are clearly typed. The main ambiguity is between generic content editing (update_mnemons_content) and typed-field updates (update_*_mnemons), plus session vs. session-summary tools, but descriptions largely resolve it.

Naming Consistency4/5

The set overwhelmingly follows a snake_case verb_noun pattern (create_campaign, list_guilds, delete_mnemon). Minor deviations include the forum_ prefix and singular/plural inconsistency around mnemons, but the convention remains predictable.

Tool Count2/5

65 tools is far beyond a comfortable surface for an agent, spanning campaigns, guilds, friends, mnemon lore, sessions, and forum operations. The domains are coherent, but the sheer number makes discovery and selection heavy.

Completeness4/5

The mnemon and relationship lifecycle is especially complete, and friends, forum, and session workflows are well covered. Gaps remain for deleting campaigns, sessions, and guilds, plus forum topic/reply editing or deletion, though these may be intentional product limitations.

Available Tools

65 tools
accept_friend_requestAccept friend requestAInspect

Accept an incoming friend request from the given user.

Inputs: userId (required). Returns: id, status, senderId, createdAt, +2 more

add_campaign_to_guildAdd campaign to guildAInspect

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

Inputs: guildId (required), campaignId (required). Returns: guildId, success, campaignId

add_co_gmAdd co-GMAInspect

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.

Inputs: userId (required), campaignId (required). Returns: id, ruleSystem, campaignName, gameMasterId, +3 more

add_guild_calendar_eventAdd guild calendar eventAInspect

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

Inputs: title (required), guildId (required), startDateTime (required), description, +1 more. Returns: id

cancel_friend_requestCancel friend requestA
Destructive
Inspect

Cancel a friend request you previously sent.

Inputs: userId (required). Returns: id, status, senderId, createdAt, +2 more

create_archive_mnemonsCreate archive mnemonsBInspect

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

Inputs: items (required), campaignId (required). Returns: results

create_campaignCreate campaignAInspect

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.

Inputs: ruleSystem (required), description (required), campaignName (required), gameSystemSlug. Returns: id, ruleSystem, accessLevel, campaignName, +4 more

create_custom_mnemonsCreate custom mnemonsAInspect

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

Inputs: items (required), campaignId (required). Returns: results

create_faction_mnemonsCreate faction mnemonsAInspect

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.

Inputs: items (required), campaignId (required). Returns: results

create_journal_mnemonsCreate journal mnemonsCInspect

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

Inputs: items (required), campaignId (required). Returns: results

create_location_mnemonsCreate location mnemonsAInspect

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.

Inputs: items (required), campaignId (required). Returns: results

create_lore_mnemonsCreate lore mnemonsAInspect

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

Inputs: items (required), campaignId (required). Returns: results

create_mnemon_relationshipCreate mnemon relationshipAInspect

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.

Inputs: label (required), campaignId (required), sourceEntryId (required), targetEntryId (required), +2 more. Returns: kind, color, label, sourceId, +4 more

create_npc_mnemonsCreate NPC mnemonsAInspect

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.

Inputs: items (required), campaignId (required). Returns: results

create_quest_mnemonsCreate quest mnemonsAInspect

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.

Inputs: items (required), campaignId (required). Returns: results

create_sessionSchedule sessionAInspect

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

Inputs: title (required), startAt (required), campaignId (required), endAt, +2 more. Returns: id, endAt, title, guildId, +9 more

create_session_summary_mnemonsCreate session summary mnemonsAInspect

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

Inputs: items (required), campaignId (required). Returns: results

delete_mnemonDelete mnemonA
Destructive
Inspect

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.

Inputs: entryId (required), campaignId (required). Returns: entryId, success, campaignId

delete_mnemon_relationshipDelete mnemon relationshipC
Destructive
Inspect

Delete a relationship by id.

Inputs: campaignId (required), relationshipId (required). Returns: success, campaignId, relationshipId

describe_mnemon_typesDescribe mnemon typesA
Read-onlyIdempotent
Inspect

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.

Inputs: no named parameters. Returns: types, blockOps, questBody, commonFields, +4 more

forum_create_topicCreate forum topicAInspect

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.

Inputs: raw (required), title (required), categoryId (required). Returns: id, topic_id, username, topic_slug, +1 more

forum_get_latest_topicsGet latest forum topicsA
Read-onlyIdempotent
Inspect

Get the latest active topics across all forum categories.

Inputs: no named parameters. Returns: topic_list

forum_get_notificationsGet forum notificationsA
Read-onlyIdempotent
Inspect

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

Inputs: no named parameters. Returns: notifications

forum_get_user_postsList my forum topicsA
Read-onlyIdempotent
Inspect

List topics created by the current user on the forum.

Inputs: no named parameters. Returns: topic_list

forum_list_categoriesList forum categoriesA
Read-onlyIdempotent
Inspect

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.

Inputs: no named parameters. Returns: category_list

forum_list_topicsList forum topicsA
Read-onlyIdempotent
Inspect

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.

Inputs: categoryId, categorySlug. Returns: topic_list

forum_read_topicRead forum topicA
Read-onlyIdempotent
Inspect

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

Inputs: topicId (required). Returns: id, slug, title, post_stream

forum_replyReply to forum topicAInspect

Reply to an existing forum topic.

Inputs: raw (required), topicId (required). Returns: id, topic_id, username, topic_slug, +1 more

get_campaignGet campaignA
Read-onlyIdempotent
Inspect

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

Inputs: campaignId (required). Returns: id, ruleSystem, campaignName, gameMasterId, +3 more

get_guildGet guildA
Read-onlyIdempotent
Inspect

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

Inputs: guildId (required). Returns: id, members, ownerId, summary, +1 more

get_mnemonGet mnemonA
Read-onlyIdempotent
Inspect

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.

Inputs: entryId (required), campaignId (required). Returns: type, quest, title, blocks, +2 more

get_sessionGet sessionA
Read-onlyIdempotent
Inspect

Get details of a single campaign session.

Inputs: sessionId (required), campaignId (required). Returns: id, endAt, title, guildId, +9 more

invite_guild_memberInvite guild memberAInspect

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

Inputs: userId (required), guildId (required). Returns: userId, guildId, success

list_campaignsList campaignsA
Read-onlyIdempotent
Inspect

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.

Inputs: no named parameters. Returns: idMap, campaigns

list_co_gmsList co-GMsA
Read-onlyIdempotent
Inspect

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

Inputs: campaignId (required). Returns: items

list_friendsList friendsA
Read-onlyIdempotent
Inspect

List the current user's accepted friends.

Inputs: no named parameters. Returns: items

list_guild_membersList guild membersA
Read-onlyIdempotent
Inspect

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

Inputs: guildId (required). Returns: items

list_guildsList guildsA
Read-onlyIdempotent
Inspect

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.

Inputs: no named parameters. Returns: idMap, guilds

list_mnemon_relationshipsList mnemon relationshipsA
Read-onlyIdempotent
Inspect

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.

Inputs: entryId (required), campaignId (required). Returns: linked, incoming, outgoing

list_mnemonsList mnemonsA
Read-onlyIdempotent
Inspect

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.

Inputs: campaignId (required), type, limit, title, +1 more. Returns: idMap, entries, hasMore, nextOffset

list_received_friend_requestsList received friend requestsA
Read-onlyIdempotent
Inspect

List incoming friend requests awaiting your response.

Inputs: no named parameters. Returns: items

list_sent_friend_requestsList sent friend requestsA
Read-onlyIdempotent
Inspect

List outgoing friend requests that are still pending.

Inputs: no named parameters. Returns: items

list_sessionsList sessionsA
Read-onlyIdempotent
Inspect

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

Inputs: campaignId (required), year, month. Returns: items

reject_friend_requestReject friend requestA
Destructive
Inspect

Reject an incoming friend request from the given user.

Inputs: userId (required). Returns: id, status, senderId, createdAt, +2 more

remove_co_gmRemove co-GMA
Destructive
Inspect

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

Inputs: userId (required), campaignId (required). Returns: userId, success, campaignId

remove_guild_memberRemove guild memberA
Destructive
Inspect

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

Inputs: userId (required), guildId (required). Returns: userId, guildId, success

search_mnemonsSearch mnemonsA
Read-onlyIdempotent
Inspect

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.

Inputs: query (required), campaignId (required), type, limit. Returns: idMap, hasMore, results

send_friend_requestSend friend requestAInspect

Send a friend request to another Argo user.

Inputs: userId (required). Returns: id, status, senderId, createdAt, +2 more

set_guild_member_roleSet guild member roleA
Idempotent
Inspect

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.

Inputs: role (required), userId (required), guildId (required). Returns: role, userId, guildId, success

set_quest_objective_stateSet quest objective stateA
Idempotent
Inspect

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.

Inputs: state (required), entryId (required), campaignId (required), objectiveId (required). Returns: type, quest, title, blocks, +2 more

update_archive_mnemonsUpdate archive mnemonsC
Idempotent
Inspect

Update typed/meta fields of Archive mnemons.

Inputs: items (required), campaignId (required). Returns: results

update_campaignUpdate campaignA
Idempotent
Inspect

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.

Inputs: campaignId (required), campaignName, campaignDescription. Returns: id, ruleSystem, campaignName, gameMasterId, +3 more

update_custom_mnemonsUpdate custom mnemonsA
Idempotent
Inspect

Update typed/meta fields of Custom-typed mnemons.

Inputs: items (required), campaignId (required). Returns: results

update_faction_mnemonsUpdate faction mnemonsA
Idempotent
Inspect

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.

Inputs: items (required), campaignId (required). Returns: results

update_journal_mnemonsUpdate journal mnemonsB
Idempotent
Inspect

Update typed/meta fields of Journal mnemons.

Inputs: items (required), campaignId (required). Returns: results

update_location_mnemonsUpdate location mnemonsB
Idempotent
Inspect

Update typed/meta fields of Location mnemons.

Inputs: items (required), campaignId (required). Returns: results

update_lore_mnemonsUpdate lore mnemonsC
Idempotent
Inspect

Update typed/meta fields of Lore mnemons.

Inputs: items (required), campaignId (required). Returns: results

update_mnemons_contentUpdate mnemon contentAInspect

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. Images: caption — 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.

Inputs: items (required), campaignId (required). Returns: results

update_npc_mnemonsUpdate NPC mnemonsA
Idempotent
Inspect

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[].

Inputs: items (required), campaignId (required). Returns: results

update_party_mnemonsUpdate party mnemonsB
Idempotent
Inspect

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.

Inputs: items (required), campaignId (required). Returns: results

update_player_mnemonsUpdate player mnemonsB
Idempotent
Inspect

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.

Inputs: items (required), campaignId (required). Returns: results

update_quest_mnemonsUpdate quest mnemonsA
Idempotent
Inspect

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.

Inputs: items (required), campaignId (required). Returns: results

update_sessionUpdate sessionA
Idempotent
Inspect

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

Inputs: sessionId (required), campaignId (required), endAt, title, +2 more. Returns: id, endAt, title, guildId, +9 more

update_session_summary_mnemonsUpdate session summary mnemonsA
Idempotent
Inspect

Update the recap, date, number and meta fields of SessionSummary mnemons. To change the story, use update_mnemons_content.

Inputs: items (required), campaignId (required). Returns: results

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Private OAuth-backed MCP server for ChatGPT, supporting GPT Apps via MCP Streamable HTTP and GPT Actions via REST endpoints with OpenAPI 3.1.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      MCP server for managing Ory Kratos identities, sessions, and authentication flows, enabling AI assistants to perform identity management tasks via natural language.
      17 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for portable context management across AI assistants, providing tools to store and retrieve persistent context, instructions, and execute sandboxed bash commands with automatic git commits, using OAuth 2.1 and magic link authentication.
      1
      Apache 2.0
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.