MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

io.github.Argo-RPG-Platform/argo-mcp

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

Checks passed
12 / 22

2 failed · 8 not measured

Median response
758 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
65

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 758 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name argo-mcp.

  • Pass
    Lists tools

    tools/list returned 65 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 758 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 758 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    75 of 128 parameters have a description (59%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Fail
    Recently updated

    Updated 2026-05-14T14:41:08.311273Z, which is older than 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using io.github.Argo-RPG-Platform/argo-mcp

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http io-github-argo-rpg-platform-argo-mcp https://mcp.argo.games/mcp

Capabilities

Tools 65

accept_friend_request

Accept an incoming friend request from the given user.

Discovered
add_campaign_to_guild

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

Discovered
add_co_gm

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.

Discovered
add_guild_calendar_event

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

Discovered
cancel_friend_request

Cancel a friend request you previously sent.

Discovered
create_archive_mnemons

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

Discovered
create_campaign

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

Discovered
create_custom_mnemons

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

Discovered
create_faction_mnemons

Create Faction mnemons (factions, guilds, cults, companies). Use memberNpcEntryIds to name each faction's NPC members; the server projects them into MEMBER relationships. Players may not call this — GM/co-GM only.

Discovered
create_journal_mnemons

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

Discovered
create_location_mnemons

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.

Discovered
create_lore_mnemons

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

Discovered
create_mnemon_relationship

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

Discovered
create_npc_mnemons

Create NPC mnemons (individual people). role is an optional free-text role or occupation. Use affiliationEntryIds to name the factions each NPC belongs to; the server projects them into MEMBER relationships. For a faction, guild or cult use create_faction_mnemons. Players may not call this — GM/co-GM only.

Discovered
create_quest_mnemons

Create Quest mnemons: a header (status, kind, playersCanTick, hook, and giverId / locationId / parentQuestId links) and a body of objectives (with sub-objectives), reward chips, a Markdown background and GM-only gmNotes. The server builds the quest the Argo app shows from these. Do not write objectives or rewards as Markdown; markdown alone becomes the Background. The retired quest board fields (steps, reward rows, issuer*, questStatus) are for quests the migration has not converted — see describe_mnemon_types.questBody. Players may not call this — GM/co-GM only.

Discovered
create_session

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

Discovered
create_session_summary_mnemons

Create SessionSummary mnemons (the memory of one played session): the story as the Markdown body, plus a short recap shown as "Previously on". Players may not call this — GM/co-GM only.

Discovered
delete_mnemon

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.

Discovered
delete_mnemon_relationship

Delete a relationship by id.

Discovered
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. A person is an NPC and a faction is a Faction; Player and PlayerParty are made only by the server and cannot be created.

Discovered
forum_create_topic

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.

Discovered
forum_get_latest_topics

Get the latest active topics across all forum categories.

Discovered
forum_get_notifications

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

Discovered
forum_get_user_posts

List topics created by the current user on the forum.

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

Discovered
forum_list_topics

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.

Discovered
forum_read_topic

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

Discovered
forum_reply

Reply to an existing forum topic.

Discovered
forum_search

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.

Discovered
get_campaign

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

Discovered
get_guild

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

Discovered
get_mnemon

Get the full details of a specific mnemon entry (title, blocks, type properties). For a quest, `quest` holds its status, kind, playersCanTick, objectives and reward chips (with their ids), progress and reward totals, as the current user may see them — read objectives and rewards there, not from blocks.

Discovered
get_session

Get details of a single campaign session.

Discovered
invite_guild_member

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

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

Discovered
list_co_gms

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

Discovered
list_friends

List the current user's accepted friends.

Discovered
list_guild_members

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

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

Discovered
list_mnemon_relationships

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.

Discovered
list_mnemons

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.

Discovered
list_received_friend_requests

List incoming friend requests awaiting your response.

Discovered
list_sent_friend_requests

List outgoing friend requests that are still pending.

Discovered
list_sessions

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

Discovered
reject_friend_request

Reject an incoming friend request from the given user.

Discovered
remove_co_gm

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

Discovered
remove_guild_member

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

Discovered
search_mnemons

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

Discovered
send_friend_request

Send a friend request to another Argo user.

Discovered
set_guild_member_role

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.

Discovered
set_quest_objective_state

Tick, fail or reopen one objective of a quest by its id (get_mnemon's quest.objectives[].id), at any depth, without rewriting the quest. A GM sets any state. A player may only tick an objective they can see done, or undo that, and only while the quest's playersCanTick is on. Returns the quest as get_mnemon shows it, its progress recounted.

Discovered
update_archive_mnemons

Update typed/meta fields of Archive mnemons.

Discovered
update_campaign

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.

Discovered
update_custom_mnemons

Update typed/meta fields of Custom-typed mnemons.

Discovered
update_faction_mnemons

Update typed/meta fields of Faction mnemons (visibility, tags, members). An entry that is not a Faction fails its item. Does NOT modify content blocks — use update_mnemons_content for that.

Discovered
update_journal_mnemons

Update typed/meta fields of Journal mnemons.

Discovered
update_location_mnemons

Update typed/meta fields of Location mnemons.

Discovered
update_lore_mnemons

Update typed/meta fields of Lore mnemons.

Discovered
update_mnemons_content

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.

Discovered
update_npc_mnemons

Update typed/meta fields of NPC mnemons (visibility, tags, role, faction membership, etc.). An entry that is not an NPC fails its item; use update_faction_mnemons for a faction. Does NOT modify content blocks — use update_mnemons_content for that. Set visibility=PUBLIC on multiple NPCs in a single call by listing them in items[].

Discovered
update_party_mnemons

Update typed/meta fields of PlayerParty mnemons — one per party in the campaign. PlayerParty mnemons cannot be created: the server makes one for each party. Who may edit an entry is decided by its own permissions.

Discovered
update_player_mnemons

Update typed/meta fields of Player mnemons — one per character in a party. Player mnemons cannot be created: the server makes one for each character that joins a party. Who may edit an entry is decided by its own permissions.

Discovered
update_quest_mnemons

Update Quest mnemons. A field left out is left as it is: status, kind, playersCanTick, hook, the giverId / locationId / parentQuestId links (an empty string removes one), and objectives, rewards, background or gmNotes, each of which replaces its part of the quest and keeps the rest. Name existing objectives and chips by the ids get_mnemon's `quest` returns so they keep what the GM wrote under them. To tick one objective, use set_quest_objective_state.

Discovered
update_session

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

Discovered
update_session_summary_mnemons

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

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected758 ms65