ZBS Index What actually exists in applied AI, with the source next to it

mcp server

argo-mcp

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

Description as published by the maintainer. Source

  • version 1.0.3
  • active

active — Most recent push to the repository was 2026-08-06.

What this server can do

62 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

accept_friend_request(userId)
Accept an incoming friend request from the given user. Required: userId.
add_campaign_to_guild(guildId, campaignId)
Add a campaign to a guild. Any active member of the guild can do this; the calling user must be the campaign's GM (enforced server-side). Required: guildId, campaignId.
add_co_gm(userId, campaignId)
Send a user an assistant GM (co-GM) offer for a campaign. This does NOT add them immediately: the target must accept the offer before they become an assistant GM. Owner-only — the calling user must be the campaign's primary GM. Maximum 5 co-GMs per campaign. Required: campaignId, userId.
add_guild_calendar_event(title, guildId, description, endDateTime, startDateTime)
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). Required: guildId, title, startDateTime.
cancel_friend_request(userId)
Cancel a friend request you previously sent. Required: userId.
create_archive_mnemons(items, campaignId)
Create Archive mnemons (archived lore that is no longer current). Players may not call this — GM/co-GM only. Required: campaignId, items.
create_campaign(ruleSystem, description, campaignName, gameSystemSlug)
Create a new Argo campaign. The current user becomes GM and the calling token gains read+write access to the new campaign immediately (no re-consent needed). Requires the campaign.create OAuth scope, granted at consent time. Required: campaignName, description, ruleSystem.
create_custom_mnemons(items, campaignId)
Create custom-typed mnemons (any free-form entry that doesn't fit the other types). Players may not call this — GM/co-GM only. Required: campaignId, items.
create_journal_mnemons(items, campaignId)
Create Journal mnemons (log of in-world events). Players may not call this — GM/co-GM only. Required: campaignId, items.
create_location_mnemons(items, campaignId)
Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creation. Players may not call this — GM/co-GM only. Required: campaignId, items.
create_lore_mnemons(items, campaignId)
Create Lore mnemons (world background, factions' beliefs, history). Players may not call this — GM/co-GM only. Required: campaignId, items.
create_mnemon_relationship(color, label, direction, campaignId, sourceEntryId, targetEntryId)
Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belong to the word itself — never send a per-edge override. All 14 labels: MEMBER (NPC ∈ Faction, mutual), ALLY (mutual), ENEMY (one-way), RIVAL (one-way), PARENT_OF (Location hierarchy — sourceEntryId is the outer/larger place, e.g. Region → City → District → Tavern), CONTAINS (Location → NPC present there), LOCATED_IN (NPC → Location; inverse of CONTAINS), HAS_SUBQUEST (Quest → subquest Quest), QUEST_RELATED_NPC (Quest → NPC), QUEST_RELATED_LOCATION (Quest → Location), SESSION_ATTENDEE_CHARACTER (SessionSummary → CHARACTER-kind Player), SESSION_ATTENDEE_NPC (SessionSummary → NPC), SESSION_FEATURED_QUEST (SessionSummary → Quest), SESSION_FEATURED_LOCATION (SessionSummary → Location). sourceEntryId is the 'from' side; targetEntryId is the 'to' side — which end is which matters. Call describe_mnemon_types for the full valid (sourceType, label, targetType) matrix. For faction membership prefer memberNpcEntryIds / affiliationEntryIds on the NPC itself; for quest links prefer subQuestEntryIds / relatedNpcEntryIds / relatedLocationEntryIds on the quest. Session-summary links have no array equivalent — the SESSION_* labels are the only way to set them. Required: campaignId, sourceEntryId, targetEntryId, label.
create_npc_mnemons(items, campaignId)
Create NPC mnemons (FACTION or INDIVIDUAL). npcType is REQUIRED on each item. Use memberNpcEntryIds (on FACTIONs) and affiliationEntryIds (on INDIVIDUALs) to wire membership; the server projects into MEMBER relationships. Players may not call this — GM/co-GM only. Required: campaignId, items.
create_player_mnemons(items, campaignId)
Create Player mnemons (party root, character notes, party notes). For playerKind=CHARACTER, supply parentEntryId (the PARTY mnemon), partyId (CampaignParty.id), and characterId (SessionCharacter id) or the entry will be auto-detached. Players with campaign.write may call this for a party they belong to; GMs may call for any party. Required: campaignId, items.
create_quest_mnemons(items, campaignId)
Create Quest mnemons. questStatus is one of active|completed|failed. Players may not call this — GM/co-GM only. Required: campaignId, items.
create_session(endAt, title, startAt, campaignId, description, invitedUserIds)
Schedule a campaign session. Provide an ISO-8601 startAt; endAt is optional. Useful for laying out planned arcs or recurring play nights. Required: campaignId, title, startAt.
create_session_summary_mnemons(items, campaignId)
Create SessionSummary mnemons (structured summaries of game sessions). Players may not call this — GM/co-GM only. Required: campaignId, items.
delete_mnemon(entryId, campaignId)
Permanently delete a mnemon entry and every relationship that touches it. GM-only on the backend. This cannot be undone — confirm with the user before calling. entryId accepts a hex id or an exact title. Required: campaignId, entryId.
delete_mnemon_relationship(campaignId, relationshipId)
Delete a relationship by id. Required: campaignId, relationshipId.
describe_mnemon_types
Returns a catalog of all mnemon types, their type-specific fields, and the full valid relationship matrix (sourceType → label → targetType). Call this before create_mnemon or create_mnemon_relationship when you are unsure which type or label to use. NPC subtype is strictly FACTION | INDIVIDUAL.
forum_create_topic(raw, title, categoryId)
Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categories to get the correct categoryId. Required: title, raw, categoryId.
forum_get_latest_topics
Get the latest active topics across all forum categories.
forum_get_notifications
Get the current user's forum notifications (replies, mentions, likes).
forum_get_user_posts
List topics created by the current user on the forum.
forum_list_categories
List all Discourse forum categories at community.argo.games. Call this first when the user wants to post a bug report or feature request — you need the categoryId to create a topic.
forum_list_topics(categoryId, categorySlug)
List topics in a specific forum category. Provide categorySlug and/or categoryId — given only one, the other is resolved from the category list automatically. Use forum_list_categories to discover categories.
forum_read_topic(topicId)
Read the full content of a forum topic including all posts and replies. Post bodies are returned as plain text (HTML markup is stripped). Required: topicId.
forum_reply(raw, topicId)
Reply to an existing forum topic. Required: topicId, raw.
forum_search(q)
Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creating a bug report or feature request to avoid duplicates. Required: q.
get_campaign(campaignId)
Retrieve details of an Argo campaign (name, description, rule system, co-GMs). Required: campaignId.
get_guild(guildId)
Retrieve full details of a guild (members, campaigns, calendar metadata). Required: guildId.
get_mnemon(entryId, campaignId)
Get the full details of a specific mnemon entry (title, blocks, type properties). Required: campaignId, entryId.
get_session(sessionId, campaignId)
Get details of a single campaign session. Required: campaignId, sessionId.
invite_guild_member(userId, guildId)
Invite a user to join the guild. Owner/Admin only. Required: guildId, userId.
list_campaigns
List all Argo campaigns the current grant token has access to, including the access level ("read" or "read+write") for each. Call this first when the user has not provided a campaign ID. Each entry includes both `campaignName` and `id` (shown inline as `[id: …]` and also in structuredContent.idMap). Use the `id` verbatim for any subsequent tool call that takes a `campaignId`. In prose to the user, refer to campaigns by `campaignName`; do not print the raw `id` unless asked.
list_co_gms(campaignId)
List the assistant GMs (co-GMs) of a campaign. Required: campaignId.
list_friends
List the current user's accepted friends.
list_guild_members(guildId)
List the members of a guild (id, role, status, invitedAt, joinedAt). Required: guildId.
list_guilds
List the guilds the current user belongs to, with role (Owner/Admin/Member), member count, and campaign count. Requires the guild.read scope. Each entry includes both `name` and `guildId` (shown inline as `[id: …]` and in structuredContent.idMap). Use the `guildId` verbatim for any tool that takes one; refer to guilds by `name` in prose to the user.
list_mnemon_relationships(entryId, campaignId)
List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). Use this to find members of a faction, allies/enemies of an NPC, etc. Required: campaignId, entryId.
list_mnemons(type, limit, title, offset, campaignId)
List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Location, Quest). To find entries by what they CONTAIN, use search_mnemons instead. Returns up to `limit` entries (default 100); when `hasMore` is true, call again with `offset` = the returned `nextOffset` to fetch the next page. Each entry includes both `title` and `entryId` (shown inline as `[id: …]` and in structuredContent.idMap). Use the `entryId` verbatim for any tool that takes one; refer to entries by `title` in prose to the user. Required: campaignId.
list_received_friend_requests
List incoming friend requests awaiting your response.
list_sent_friend_requests
List outgoing friend requests that are still pending.
list_sessions(year, month, campaignId)
List campaign sessions for a given month (defaults to the current month). Required: campaignId.
reject_friend_request(userId)
Reject an incoming friend request from the given user. Required: userId.
remove_co_gm(userId, campaignId)
Remove a co-GM from a campaign. Owner-only or self-removal. Required: campaignId, userId.
remove_guild_member(userId, guildId)
Remove a member from the guild. Owner/Admin only. Required: guildId, userId.
search_mnemons(type, limit, query, campaignId)
Full-text search across mnemon titles, tags, and body content (case-insensitive substring). Prefer this over list_mnemons when looking for entries by what they contain — e.g. "what do we know about the Red Oracle?". Each hit reports which fields matched (title/tags/content) and up to 3 body snippets; a snippet's blockId is the same block id get_mnemon returns, so you can target the matched block directly in update_mnemons_content. Only content visible to the current user is searched. Returns at most `limit` hits (default 20, max 50) plus `hasMore`. Required: campaignId, query.
send_friend_request(userId)
Send a friend request to another Argo user. Required: userId.
set_guild_member_role(role, userId, guildId)
Change a guild member's role to Owner, Admin, or Member. Owner/Admin only. Note that promoting another user to Owner transfers the guild — confirm with the user first. Required: guildId, userId, role.
update_archive_mnemons(items, campaignId)
Update typed/meta fields of Archive mnemons. Required: campaignId, items.
update_campaign(campaignId, campaignName, campaignDescription)
Update a campaign's display name and/or description. Both fields optional — only supplied fields are changed; pass an empty string to clear the description. GMs and co-GMs can call this; rule-system swaps remain WebApp-only. Required: campaignId.
update_custom_mnemons(items, campaignId)
Update typed/meta fields of Custom-typed mnemons. Required: campaignId, items.
update_journal_mnemons(items, campaignId)
Update typed/meta fields of Journal mnemons. Required: campaignId, items.
update_location_mnemons(items, campaignId)
Update typed/meta fields of Location mnemons. Required: campaignId, items.
update_lore_mnemons(items, campaignId)
Update typed/meta fields of Lore mnemons. Required: campaignId, items.
update_mnemons_content(items, campaignId)
Edit the body content of one or more mnemon entries. Each item carries an entryId and an ordered list of ops (append, insertAfter, replace, remove) applied atomically per entry. Op content is authored as Markdown (headings, lists, quotes, code fences, bold/italic, links) — do NOT send HTML. Mentions: @[label](mnemon:<entryId>). Images: ![caption](asset:<assetId>@<campaignId>) — upload the asset first; inline base64 / data: URLs are not accepted. Node addressing: get body-node ids from get_mnemon, then target them in replace/remove/insertAfter. A single op's Markdown may produce several nodes; new nodes get fresh server-generated ids (replace keeps the original id on the first new node). On a bad op (missing blockId, unknown op, etc.) the whole entry's batch is rejected with the failedOpIndex; no partial mutation per entry. See describe_mnemon_types.blockOps for the full vocabulary. Required: campaignId, items.
update_npc_mnemons(items, campaignId)
Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for that. Set visibility=PUBLIC on multiple NPCs in a single call by listing them in items[]. Required: campaignId, items.
update_player_mnemons(items, campaignId)
Update typed/meta fields of Player mnemons. Required: campaignId, items.
update_quest_mnemons(items, campaignId)
Update typed/meta fields of Quest mnemons (status transitions, expiry, related entries). Required: campaignId, items.
update_session(endAt, title, startAt, sessionId, campaignId, description)
Reschedule a campaign session or edit its title/description. All fields optional. Owner-only on the backend. Required: campaignId, sessionId.
update_session_summary_mnemons(items, campaignId)
Update typed/meta fields of SessionSummary mnemons. Required: campaignId, items.

Last successful function declaration observed on . Source: https://mcp.argo.games/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://mcp.argo.games/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 1 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-08-06 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 2 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 1.0.3 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-05-14 When the registry record was last updated by its maintainer. point in time Model Context Protocol
License MIT Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. as of fetch GitHub
First listed in the MCP Registry 2026-05-14 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 62 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe mcp.argo.games
mcp endpoint status ok The server listed 62 functions when asked. as of probe mcp.argo.games

Where to get it

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. Argo-RPG-Platform/MCP on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://mcp.argo.games/mcp — mcp.argo.games, observed , trust tier 1.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.