{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_gynmdqm2m2xm","handle":"argo-mcp","url":"https://wellknown.network/agents/argo-mcp","links":{"self":"https://wellknown.network/agents/argo-mcp/record.json","html":"https://wellknown.network/agents/argo-mcp","markdown":"https://wellknown.network/agents/argo-mcp/record.md","api":"https://wellknown.network/api/v1/agents/argo-mcp","status":"https://wellknown.network/api/v1/agents/argo-mcp/status","claim":"https://wellknown.network/agents/argo-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/argo-mcp/claim.json","badge":"https://wellknown.network/agents/argo-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/argo-mcp/history","tools":"https://wellknown.network/api/v1/agents/argo-mcp/tools"},"ard":{"identifier":"urn:air:mcp.argo.games:server:argo-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"argo-mcp","summary":"MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2","description":"MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2","publisher":{"name":"Argo-RPG-Platform","url":null},"homepage":"https://app.argo.games/docs/mcp","repository":"https://github.com/Argo-RPG-Platform/MCP","version":"1.0.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.argo.games/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:argo-mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-05-14T14:41:08.311273Z","publishedAt":"2026-05-14T14:41:08.311273Z","registryName":"io.github.Argo-RPG-Platform/argo-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.marketing","name":"Marketing","confidence":0.938,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.583,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"}],"categories":["automation","commerce","communication","content","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T20:28:29.720Z","lastProbedAt":"2026-10-10T20:28:29.720Z","statusComputedAt":"2026-10-10T20:29:34.624Z","reliability30d":{"probes":108,"successRate":1,"p50Ms":134,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":108,"authBoundaryOk":0,"serviceOk":108,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T20:28:29.720Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":136,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T14:26:31.931Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":141,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T08:32:42.837Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":129,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T02:29:38.623Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":140,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:26:08.523Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":129,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T12:28:47.185Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":146,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T05:25:28.656Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":129,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T22:23:47.334Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":128,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:23:02.511Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:28:27.026Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"toolCount":63,"toolsHash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","serverName":"argo-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_campaigns","description":"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 n"},{"name":"get_campaign","description":"Retrieve details of an Argo campaign (name, description, rule system, co-GMs)."},{"name":"create_campaign","description":"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). Re"},{"name":"update_campaign","description":"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"},{"name":"list_co_gms","description":"List the assistant GMs (co-GMs) of a campaign."},{"name":"add_co_gm","description":"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 G"},{"name":"remove_co_gm","description":"Remove a co-GM from a campaign. Owner-only or self-removal."},{"name":"describe_mnemon_types","description":"Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before cr"},{"name":"list_mnemons","description":"List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Locatio"},{"name":"search_mnemons","description":"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 "},{"name":"get_mnemon","description":"Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and re"},{"name":"list_mnemon_relationships","description":"List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). U"},{"name":"create_npc_mnemons","description":"Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wi"},{"name":"create_location_mnemons","description":"Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creati"},{"name":"create_quest_mnemons","description":"Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objective"},{"name":"create_lore_mnemons","description":"Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only."},{"name":"create_archive_mnemons","description":"Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only."},{"name":"create_journal_mnemons","description":"Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only."},{"name":"create_session_summary_mnemons","description":"Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only."},{"name":"create_player_mnemons","description":"Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id),"},{"name":"create_custom_mnemons","description":"Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only."},{"name":"update_npc_mnemons","description":"Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for t"},{"name":"update_location_mnemons","description":"Update typed/meta fields of Location mnemons."},{"name":"update_quest_mnemons","description":"Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string rem"},{"name":"update_lore_mnemons","description":"Update typed/meta fields of Lore mnemons."},{"name":"update_archive_mnemons","description":"Update typed/meta fields of Archive mnemons."},{"name":"update_journal_mnemons","description":"Update typed/meta fields of Journal mnemons."},{"name":"update_session_summary_mnemons","description":"Update typed/meta fields of SessionSummary mnemons."},{"name":"update_player_mnemons","description":"Update typed/meta fields of Player mnemons."},{"name":"update_custom_mnemons","description":"Update typed/meta fields of Custom-typed mnemons."},{"name":"set_quest_objective_state","description":"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 "},{"name":"update_mnemons_content","description":"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 atom"},{"name":"create_mnemon_relationship","description":"Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belon"},{"name":"delete_mnemon_relationship","description":"Delete a relationship by id."},{"name":"delete_mnemon","description":"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. "},{"name":"create_session","description":"Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights."},{"name":"list_sessions","description":"List campaign sessions for a given month (defaults to the current month)."},{"name":"get_session","description":"Get details of a single campaign session."},{"name":"update_session","description":"Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend."},{"name":"list_guilds","description":"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 include"},{"name":"get_guild","description":"Retrieve full details of a guild (members, campaigns, calendar metadata)."},{"name":"list_guild_members","description":"List the members of a guild (id, role, status, invitedAt, joinedAt)."},{"name":"add_campaign_to_guild","description":"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)."},{"name":"invite_guild_member","description":"Invite a user to join the guild. Owner/Admin only."},{"name":"remove_guild_member","description":"Remove a member from the guild. Owner/Admin only."},{"name":"set_guild_member_role","description":"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"},{"name":"add_guild_calendar_event","description":"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)."},{"name":"list_friends","description":"List the current user's accepted friends."},{"name":"list_sent_friend_requests","description":"List outgoing friend requests that are still pending."},{"name":"list_received_friend_requests","description":"List incoming friend requests awaiting your response."},{"name":"send_friend_request","description":"Send a friend request to another Argo user."},{"name":"accept_friend_request","description":"Accept an incoming friend request from the given user."},{"name":"reject_friend_request","description":"Reject an incoming friend request from the given user."},{"name":"cancel_friend_request","description":"Cancel a friend request you previously sent."},{"name":"forum_list_categories","description":"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 category"},{"name":"forum_list_topics","description":"List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. U"},{"name":"forum_get_latest_topics","description":"Get the latest active topics across all forum categories."},{"name":"forum_read_topic","description":"Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped)."},{"name":"forum_search","description":"Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creat"},{"name":"forum_get_user_posts","description":"List topics created by the current user on the forum."},{"name":"forum_get_notifications","description":"Get the current user's forum notifications (replies, mentions, likes)."},{"name":"forum_create_topic","description":"Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categorie"},{"name":"forum_reply","description":"Reply to an existing forum topic."}],"package":null,"toolSurface":{"id":"ts_rzhgsv7rvxun","endpointId":"ep_7vb8myxpywbn","hash":"3986308279a6c586d76626776300ada2cb6b0d88e0744cb00b0e6398ba630d77","toolCount":63,"serverName":"argo-mcp","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-29T23:26:45.288Z","lastSeenAt":"2026-10-10T20:28:29.730Z","observations":40,"toolNames":["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_location_mnemons","create_quest_mnemons","create_lore_mnemons","create_archive_mnemons","create_journal_mnemons","create_session_summary_mnemons","create_player_mnemons","create_custom_mnemons","update_npc_mnemons","update_location_mnemons","update_quest_mnemons","update_lore_mnemons","update_archive_mnemons","update_journal_mnemons","update_session_summary_mnemons","update_player_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"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_7vb8myxpywbn","url":"https://mcp.argo.games/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T19:23:33.178Z","auth":{"observedAt":"2026-10-07T19:23:33.331Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-07T19:23:33.349Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.argo.games","issuer":{"commonName":"WR3","organization":"Google Trust Services"},"validFrom":"2026-08-19T04:07:39.000Z","validTo":"2026-11-17T04:55:08.000Z","daysToExpiry":37,"sanCount":1,"fingerprint256":"C9:C1:B2:4B:50:2B:FC:17:0E:DD:7B:1C:51:9C:9D:6B:A8:EA:6E:1C:EE:89:9C:AC:0D:F2:A5:DA:F6:5E:70:2A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.Argo-RPG-Platform/argo-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.Argo-RPG-Platform%2Fargo-mcp","firstSeenAt":"2026-09-06T01:18:19.153Z","fetchedAt":"2026-10-09T17:20:30.469Z","normalizedAt":"2026-10-09T17:20:30.469Z"}]},"firstSeenAt":"2026-09-06T01:18:19.153Z","updatedAt":"2026-10-10T20:30:43.624Z"}