MCP.Market

Argo MCP server

online · 100% uptime
by Argo-RPG-Platform·io.github.Argo-RPG-Platform/argo-mcp·v1.0.3·1 stars

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

A87/100grade A
What users say
No reviews yet
Be the first
Safety scan
A87/100

full report

Adoption
Growing

1 stars64 downloads/wk

Reviews

Write one

Nobody has reviewed Argo yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Argo tools (62, 32 write)

write = sends, deletes, buys or posts
  • accept_friend_requestFree

    Accept an incoming friend request from the given user.

  • add_campaign_to_guildFree

    Add a campaign to a guild. Any active member of the guild can do this; the calling user must be the campaign's GM (enforced server-side).

  • add_co_gmwrite actionFree

    Send a user an assistant GM (co-GM) offer for a campaign. This does NOT add them immediately: the target must accept the offer before they become an assistant GM. Owner-only — the calling user must be the campaign's primary GM. Maximum 5 co-GMs per campaign.

  • add_guild_calendar_eventFree

    Add a new event to the guild's shared calendar. Owner/Admin only. startDateTime / endDateTime are ISO-8601 (e.g. 2026-06-12T19:00:00).

  • cancel_friend_requestwrite actionFree

    Cancel a friend request you previously sent.

  • create_archive_mnemonswrite actionFree

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

  • create_campaignwrite actionFree

    Create a new Argo campaign. The current user becomes GM and the calling token gains read+write access to the new campaign immediately (no re-consent needed). Requires the campaign.create OAuth scope, granted at consent time.

  • create_custom_mnemonswrite actionFree

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

  • create_journal_mnemonswrite actionFree

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

  • create_location_mnemonswrite actionFree

    Create Location mnemons (places — cities, dungeons, taverns). Use create_mnemon_relationship with PARENT_OF to nest larger places under one another after creation. Players may not call this — GM/co-GM only.

  • create_lore_mnemonswrite actionFree

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

  • create_mnemon_relationshipwrite actionFree

    Create a relationship between two mnemon entries. The label decides everything: its kind (containment or association) and how it reads (one_way or mutual) belong to the word itself — never send a per-edge override. All 14 labels: MEMBER (NPC ∈ Faction, mutual), ALLY (mutual), ENEMY (one-way), RIVAL (one-way), PARENT_OF (Location hierarchy — sourceEntryId is the outer/larger place, e.g. Region → City → District → Tavern), CONTAINS (Location → NPC present there), LOCATED_IN (NPC → Location; inverse of CONTAINS), HAS_SUBQUEST (Quest → subquest Quest), QUEST_RELATED_NPC (Quest → NPC), QUEST_RELATED_LOCATION (Quest → Location), SESSION_ATTENDEE_CHARACTER (SessionSummary → CHARACTER-kind Player), SESSION_ATTENDEE_NPC (SessionSummary → NPC), SESSION_FEATURED_QUEST (SessionSummary → Quest), SESSION_FEATURED_LOCATION (SessionSummary → Location). sourceEntryId is the 'from' side; targetEntryId is the 'to' side — which end is which matters. Call describe_mnemon_types for the full valid (sourceType, label, targetType) matrix. For faction membership prefer memberNpcEntryIds / affiliationEntryIds on the NPC itself; for quest links prefer subQuestEntryIds / relatedNpcEntryIds / relatedLocationEntryIds on the quest. Session-summary links have no array equivalent — the SESSION_* labels are the only way to set them.

  • create_npc_mnemonswrite actionFree

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

  • create_player_mnemonswrite actionFree

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

  • create_quest_mnemonswrite actionFree

    Create Quest mnemons. questStatus is one of active|completed|failed. Players may not call this — GM/co-GM only.

  • create_sessionwrite actionFree

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

  • create_session_summary_mnemonswrite actionFree

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

  • delete_mnemonwrite actionFree

    Permanently delete a mnemon entry and every relationship that touches it. GM-only on the backend. This cannot be undone — confirm with the user before calling. entryId accepts a hex id or an exact title.

  • delete_mnemon_relationshipwrite actionFree

    Delete a relationship by id.

  • describe_mnemon_typesFree

    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_topicwrite actionFree

    Create a new forum topic (bug report, feature request, or general discussion). Always call forum_search first to check for duplicates. Call forum_list_categories to get the correct categoryId.

  • forum_get_latest_topicsFree

    Get the latest active topics across all forum categories.

  • forum_get_notificationsFree

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

  • forum_get_user_postsFree

    List topics created by the current user on the forum.

  • forum_list_categoriesFree

    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_topicsFree

    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_topicFree

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

  • forum_replyFree

    Reply to an existing forum topic.

  • forum_searchFree

    Search forum topics and posts. Supports Discourse search syntax: #category-slug to filter by category, @username to filter by author. Always search before creating a bug report or feature request to avoid duplicates.

  • get_campaignFree

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

  • get_guildFree

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

  • get_mnemonFree

    Get the full details of a specific mnemon entry (title, blocks, type properties).

  • get_sessionFree

    Get details of a single campaign session.

  • invite_guild_memberFree

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

  • list_campaignsFree

    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_gmsFree

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

  • list_friendsFree

    List the current user's accepted friends.

  • list_guild_membersFree

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

  • list_guildsFree

    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_relationshipsFree

    List the relationships of a mnemon entry, split into outgoing edges, incoming edges, and a flat list of linked entries (entryId/title/type/relationshipTypes). Use this to find members of a faction, allies/enemies of an NPC, etc.

  • list_mnemonsFree

    List mnemon (lore/memory) entries for an Argo campaign. Optional filters: `title` (case-insensitive substring on entry title only) and `type` (e.g. NPC, Location, Quest). To find entries by what they CONTAIN, use search_mnemons instead. Returns up to `limit` entries (default 100); when `hasMore` is true, call again with `offset` = the returned `nextOffset` to fetch the next page. Each entry includes both `title` and `entryId` (shown inline as `[id: …]` and in structuredContent.idMap). Use the `entryId` verbatim for any tool that takes one; refer to entries by `title` in prose to the user.

  • list_received_friend_requestsFree

    List incoming friend requests awaiting your response.

  • list_sent_friend_requestsFree

    List outgoing friend requests that are still pending.

  • list_sessionsFree

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

  • reject_friend_requestFree

    Reject an incoming friend request from the given user.

  • remove_co_gmwrite actionFree

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

  • remove_guild_memberwrite actionFree

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

  • search_mnemonsFree

    Full-text search across mnemon titles, tags, and body content (case-insensitive substring). Prefer this over list_mnemons when looking for entries by what they contain — e.g. "what do we know about the Red Oracle?". Each hit reports which fields matched (title/tags/content) and up to 3 body snippets; a snippet's blockId is the same block id get_mnemon returns, so you can target the matched block directly in update_mnemons_content. Only content visible to the current user is searched. Returns at most `limit` hits (default 20, max 50) plus `hasMore`.

  • send_friend_requestwrite actionFree

    Send a friend request to another Argo user.

  • set_guild_member_roleFree

    Change a guild member's role to Owner, Admin, or Member. Owner/Admin only. Note that promoting another user to Owner transfers the guild — confirm with the user first.

  • update_archive_mnemonswrite actionFree

    Update typed/meta fields of Archive mnemons.

  • update_campaignwrite actionFree

    Update a campaign's display name and/or description. Both fields optional — only supplied fields are changed; pass an empty string to clear the description. GMs and co-GMs can call this; rule-system swaps remain WebApp-only.

  • update_custom_mnemonswrite actionFree

    Update typed/meta fields of Custom-typed mnemons.

  • update_journal_mnemonswrite actionFree

    Update typed/meta fields of Journal mnemons.

  • update_location_mnemonswrite actionFree

    Update typed/meta fields of Location mnemons.

  • update_lore_mnemonswrite actionFree

    Update typed/meta fields of Lore mnemons.

  • update_mnemons_contentwrite actionFree

    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.

  • update_npc_mnemonswrite actionFree

    Update typed/meta fields of NPC mnemons (visibility, tags, npcType, faction membership, etc.). Does NOT modify content blocks — use update_mnemons_content for that. Set visibility=PUBLIC on multiple NPCs in a single call by listing them in items[].

  • update_player_mnemonswrite actionFree

    Update typed/meta fields of Player mnemons.

  • update_quest_mnemonswrite actionFree

    Update typed/meta fields of Quest mnemons (status transitions, expiry, related entries).

  • update_sessionwrite actionFree

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

  • update_session_summary_mnemonswrite actionFree

    Update typed/meta fields of SessionSummary mnemons.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

1 high
  • Code scan45 source files scanned25/25
  • Live reliabilityremote reachable in 389ms20/20
  • Tool poisoning62 tool descriptions checked15/15
  • Auth qualityopen endpoint exposes 32 write-action tools with no auth3/15
  • Maintenancelast push 22 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10

Findings (1)

  • highWrite-action tools reachable without authenticationauth.open-write
Overall 87/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Argo compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
87/100
higher than 73% of 48,255 servers
Tools
62
the typical server has 7
Tools that change things
52%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
204 ms
faster than 63% of 30,031 servers
GitHub stars
1
more than 65% of 28,688 servers
Downloads a week
64
more than 51% of 12,191 servers with a package

What its tools let an agent do: 26 read · 15 create · 14 change · 5 delete · 2 send or post

Install Argo in Claude Code, Cursor or VS Code

claude mcp add --transport http argo-mcp https://mcp.argo.games/mcp
Add to Cursor

What the publisher says

From the Argo repository's README, as published. We do not edit it. Read it on GitHub

Argo MCP Server

Connects AI assistants to your Argo campaigns via the Model Context Protocol. Once configured, your AI assistant can read and write campaign lore, look up character details, and interact with Argo data directly from the chat interface.

Supported clients: Claude Code, Claude Desktop, OpenAI Codex, VS Code (1.103+), and any MCP-compatible host.

One-click install

Clicking either button hands a vscode:mcp/install URL to your editor with this config:

{ "type": "http", "url": "https://mcp.argo.games/mcp" }

VS Code stores the entry in your user-level mcp.json, then negotiates OAuth on first connect via Dynamic Client Registration against the Argo authorization server. No tokens are embedded in the URL — VS Code stores the resulting access and refresh tokens in your OS keychain.

Linux / Flatpak / Snap note: If clicking the button doesn't open VS Code, the vscode: URL handler isn't registered. This is common on:

  • Flatpak / Snap VS Code — the sandbox isolates the install from the host, so the host browser can't find the protocol handler.
  • Tarball / manual installs — no postinst hook runs update-desktop-database. Either run xdg-mime default code.desktop x-scheme-handler/vscode once, or use the manual fallback below.

Manual fallback: copy the JSON from the VS Code (one-click, recommended) section below into your VS Code mcp.json config.

The same install button is rendered on the Argo install page at https://app.argo.games/docs/mcp/install.

Prerequisites

  • Node.js 20 or later
  • An Argo account with at least one campaign
  • A Game Master must authorize the AI assistant via the OAuth2 consent flow (see Getting a token)

Quick start

There are three supported ways to use the Argo MCP server. Pick the one that matches your client.

ChatGPT (remote)

Use the hosted endpoint — do not install the npx package. Add this MCP server URL to ChatGPT:

https://mcp.argo.games/mcp

ChatGPT will walk you through OAuth on first connect via dynamic client registration.

Local MCP clients (Claude Code, Claude Desktop, Codex, etc.) — recommended

Sign in once on the machine that runs the MCP client:

npx -y argo-mcp auth login

The command prints the consent URL, opens nothing, and asks you to paste the access token (and optionally the refresh token) from the consent page. Tokens are saved locally:

  • Windows: %APPDATA%\argo-mcp\tokens.json
  • macOS: ~/Library/Application Support/argo-mcp/tokens.json
  • Linux: ${XDGCONFIGHOME:-~/.config}/argo-mcp/tokens.json

Then configure the MCP server with no env vars:

{
  "mcpServers": {
    "argo": { "command": "npx", "args": ["-y", "argo-mcp"] }
  }
}

Other auth commands:

npx -y argo-mcp auth status   # show whether you are signed in
npx -y argo-mcp auth logout   # forget locally stored tokens

Local stdio mode does not use OAuth Dynamic Client Registration. DCR is only used by the hosted HTTP server at https://mcp.argo.games.

Advanced — environment variables

For CI, Docker, or anyone who prefers explicit env config, you can skip auth login and pass tokens directly. OAUTH_TOKEN always wins over the local token store.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Argo: common questions

Is Argo MCP server safe?
Yes, by our scan: it is graded A (87/100). Read the Argo safety report
How do I install Argo?
It runs remotely at mcp.argo.games. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Argo need an API key?
Yes. The registry entry asks for OAUTH_TOKEN, REFRESH_TOKEN.
Is Argo maintained?
The last commit was 59 days ago (2026-09-06). The latest release is v1.0.3.
Is Argo up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Argo compare with other MCP servers?
safety score 87/100 (higher than 73% of 48,255 servers); tools 62 (the typical server has 7); tools that change things 52% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.