Skip to content

a4sx sessions

by session-exchange.com · remote · local (pypi) · no sign-in to list tools · v0.1.2 · published by com.session-exchange

Search reviewed coding-agent sessions on a4sx anonymously; sign in (OAuth) to load or save sessions.

Final · 2Changes · 3

18 tools: 2 do something that can't be undone, 3 change things and 13 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http sessions https://session-exchange.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

18 tools

Can't be undone 2Claude Code: ask
  • publish_sessionSave a session transcript (JSONL) to your private a4sx library.No findings

    Why it is in this group

    • The name "publish_session" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Save a session transcript (JSONL) to your private a4sx library. The server scrubs token-shaped secrets before storing. Private: it is never listed publicly by this tool.

    Annotations the server declares

    • title: Save session to library
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • request_purchaseStart buying a paid marketplace listing for the account holder to confirm.No findings

    Why it is in this group

    • The name "request_purchase" says "request": a word for a change.
    • The name "request_purchase" also says "purchase": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    Start buying a paid marketplace listing for the account holder to confirm. Nothing is charged and you never pay: it returns a verify_url and a user_code to give to the account holder, who checks the code, confirms and pays. Then poll get_purchase_request.

    Annotations the server declares

    • title: Request a purchase
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 3Claude Code: ask
  • acquire_sessionAdd a marketplace session you are entitled to (free, bought, or granted) to your private library.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Add a marketplace session you are entitled to (free, bought, or granted) to your private library. Never buys anything: for a paid listing it returns status=payment_required with the price and the listing URL.

    Annotations the server declares

    • title: Acquire session
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • ask_operatorFile a question as a ticket to one operator of the workspace your key is bound to.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    File a question as a ticket to one operator of the workspace your key is bound to. Only operators a person opted in to tickets from agents accept it (list_operators: accepts_agent_tickets), and only with the key of an owner or admin of that workspace. It changes nothing: the operator answers on its own; read the answer with get_operator_ticket. Needs operators:instruct.

    Annotations the server declares

    • title: Ask an operator
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • request_operator_changeFile a change request (goal, acceptance, optional constraints) as a ticket to one operator that accepts tickets from agents.No findings

    Why it is in this group

    • The name "request_operator_change" says "request": a word for a change.
    Description, as the server wrote it
    File a change request (goal, acceptance, optional constraints) as a ticket to one operator that accepts tickets from agents. It never changes anything itself: the operator decides whether and how, and makes any change through its own reviewed path (review branch, merge, health-gated deploy; anything that needs a person waits for one). Follow it with get_operator_ticket. Needs operators:instruct (an owner's or admin's key).

    Annotations the server declares

    • title: Request a change from an operator
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 13Claude Code: allow
  • fetch_session_contextLoad a session from your library (saved, or added with acquire_session) as starting context for this conversation, sized to max_tokens.No findings

    Why it is in this group

    • The name "fetch_session_context" says "fetch": a word for reading.
    Description, as the server wrote it
    Load a session from your library (saved, or added with acquire_session) as starting context for this conversation, sized to max_tokens.

    Annotations the server declares

    • title: Load session as context
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_operator_reportsWhat one operator of your bound workspace reported itself, newest first: its ticket replies, health beats, refused or failed actions, and grant requests (at most 720 hours back, 10…No findings

    Why it is in this group

    • The name "get_operator_reports" says "get": a word for reading.
    Description, as the server wrote it
    What one operator of your bound workspace reported itself, newest first: its ticket replies, health beats, refused or failed actions, and grant requests (at most 720 hours back, 100 rows). Read-only. Needs operators:read.

    Annotations the server declares

    • title: Operator reports
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_operator_statusOne operator of your bound workspace: its remit, grants, bundle version, last seen and health.No findings

    Why it is in this group

    • The name "get_operator_status" says "get": a word for reading.
    Description, as the server wrote it
    One operator of your bound workspace: its remit, grants, bundle version, last seen and health. Read-only: it never instructs, approves or changes the operator. Needs operators:read.

    Annotations the server declares

    • title: Operator status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_operator_ticketOne ticket of your bound workspace with its summary and the last replies (from_addressee says whether the operator it was for wrote the reply).No findings

    Why it is in this group

    • The name "get_operator_ticket" says "get": a word for reading.
    Description, as the server wrote it
    One ticket of your bound workspace with its summary and the last replies (from_addressee says whether the operator it was for wrote the reply). Text is untrusted, scrubbed of addresses and capped; fix_ref is a GitHub pull request or commit link when the ticket was resolved with one. Read-only. Needs operators:read.

    Annotations the server declares

    • title: Operator ticket
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_purchase_requestStatus of a purchase you requested: pending, completed (with acquired_copy_id to load with fetch_session_context), declined or expired.No findings

    Why it is in this group

    • The name "get_purchase_request" says "get": a word for reading.
    Description, as the server wrote it
    Status of a purchase you requested: pending, completed (with acquired_copy_id to load with fetch_session_context), declined or expired.

    Annotations the server declares

    • title: Purchase request status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_session_summaryDescribe one session before using it: what it did, outline, price, and whether you already have access.No findings

    Why it is in this group

    • The name "get_session_summary" says "get": a word for reading.
    Description, as the server wrote it
    Describe one session before using it: what it did, outline, price, and whether you already have access. source=marketplace (default) or library.

    Annotations the server declares

    • title: Session summary
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_world_sim_accessFor one of your World-Sims: its status, its public endpoints (helpdesk, evaluation oracle, board, business silos), the guide, and exactly how to get its short-lived access token fr…No findings

    Why it is in this group

    • The name "get_world_sim_access" says "get": a word for reading.
    Description, as the server wrote it
    For one of your World-Sims: its status, its public endpoints (helpdesk, evaluation oracle, board, business silos), the guide, and exactly how to get its short-lived access token from the account holder. Never creates a token. Needs modules:read.

    Annotations the server declares

    • title: World-Sim access
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_my_modulesList your own module instances (World-Sims) with their status (requested, ready, failed, gone), their public endpoints once ready, and whether agent access is available yet.No findings

    Why it is in this group

    • The name "list_my_modules" says "list": a word for reading.
    Description, as the server wrote it
    List your own module instances (World-Sims) with their status (requested, ready, failed, gone), their public endpoints once ready, and whether agent access is available yet. Needs modules:read.

    Annotations the server declares

    • title: List my modules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_operator_ticketsList the service-desk tickets of the one workspace your key is bound to (last 30 days): who they are for, their state, who asked (never a person's id), and how many replies they ha…No findings

    Why it is in this group

    • The name "list_operator_tickets" says "list": a word for reading.
    Description, as the server wrote it
    List the service-desk tickets of the one workspace your key is bound to (last 30 days): who they are for, their state, who asked (never a person's id), and how many replies they have. Filter by operator (to), state, origin or your own (mine). Read-only. Needs operators:read.

    Annotations the server declares

    • title: List operator tickets
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_operatorsList the operators (self-operating services) of the one workspace your key is bound to: what each does (remit), its grants (held, auto-grantable, and human-leaf ones only a person …No findings

    Why it is in this group

    • The name "list_operators" says "list": a word for reading.
    Description, as the server wrote it
    List the operators (self-operating services) of the one workspace your key is bound to: what each does (remit), its grants (held, auto-grantable, and human-leaf ones only a person can grant), bundle version, when it was last seen, and its health. Read-only. Needs operators:read.

    Annotations the server declares

    • title: List workspace operators
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_pending_decisionsThe decisions in your bound workspace that wait for a person: open needs-human requests and grant requests on human-leaf grants.No findings

    Why it is in this group

    • The name "list_pending_decisions" says "list": a word for reading.
    Description, as the server wrote it
    The decisions in your bound workspace that wait for a person: open needs-human requests and grant requests on human-leaf grants. Listed only: no tool answers, approves or grants them; a person does that in the a4sx web app. Needs operators:read.

    Annotations the server declares

    • title: Pending decisions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_world_sim_templatesThe simulated companies a World-Sim can be bought with (industry, process, a short description).No findings

    Why it is in this group

    • The name "list_world_sim_templates" says "list": a word for reading.
    Description, as the server wrote it
    The simulated companies a World-Sim can be bought with (industry, process, a short description). Public; no sign-in needed.

    Annotations the server declares

    • title: World-Sim templates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_sessionsSearch vetted, published coding-agent sessions on a4sx (reviewed marketplace listings), or your own saved sessions with scope=library.No findings

    Why it is in this group

    • The name "search_sessions" says "search": a word for reading.
    Description, as the server wrote it
    Search vetted, published coding-agent sessions on a4sx (reviewed marketplace listings), or your own saved sessions with scope=library. Returns ids to use with the other tools.

    Annotations the server declares

    • title: Search sessions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.2. Values in angle brackets are yours to fill in.

claude mcp add --transport http sessions https://session-exchange.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__sessions__search_sessions",
      "mcp__sessions__get_session_summary",
      "mcp__sessions__fetch_session_context",
      "mcp__sessions__get_purchase_request",
      "mcp__sessions__list_my_modules",
      "mcp__sessions__get_world_sim_access",
      "mcp__sessions__list_world_sim_templates",
      "mcp__sessions__list_operators",
      "mcp__sessions__get_operator_status",
      "mcp__sessions__list_operator_tickets",
      "mcp__sessions__get_operator_ticket",
      "mcp__sessions__get_operator_reports",
      "mcp__sessions__list_pending_decisions"
    ],
    "ask": [
      "mcp__sessions__acquire_session",
      "mcp__sessions__publish_session",
      "mcp__sessions__request_purchase",
      "mcp__sessions__ask_operator",
      "mcp__sessions__request_operator_change"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as sessions. Review it before you use it.