# `com.session-exchange/sessions` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/com.session-exchange/sessions
- JSON: https://anlyon.dev/api/v1/servers/com.session-exchange/sessions
- Version: 0.1.2 (active)
- Publisher: com.session-exchange (domain proven to the MCP Registry)
- Runs: remote (streamable-http), local (pypi)
- Sign-in to list tools: none
- Repository: https://github.com/crossvault/a4sx-mcp
- Metadata from the official MCP Registry, synced 2026-10-21T18:04:42.149Z

Title and description, as the publisher wrote them:

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

Scanned 2026-10-21T18:36:32.895Z over streamable-http.

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

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 2 | ask |
| Changes things | write | 3 | ask |
| Only reads | read | 13 | allow |

## Findings

No check matched anything in these tool definitions.


## Can't be undone (2)

Sends, pays, publishes or merges: once done, it cannot be taken back. Claude Code: ask.

### `publish_session`

- The name "publish_session" says "publish": a word for a change that another call does not undo.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `request_purchase`

- 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:

```untrusted-server-text
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.
```

## Changes things (3)

Creates or changes something that can be changed back. Claude Code: ask.

### `acquire_session`

- The description's first verb is "add": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `ask_operator`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `request_operator_change`

- The name "request_operator_change" says "request": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
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).
```

## Only reads (13)

Looks things up and changes nothing. Claude Code: allow.

### `fetch_session_context`

- The name "fetch_session_context" says "fetch": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Load a session from your library (saved, or added with acquire_session) as starting context for this conversation, sized to max_tokens.
```

### `get_operator_reports`

- The name "get_operator_reports" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_operator_status`

- The name "get_operator_status" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_operator_ticket`

- The name "get_operator_ticket" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_purchase_request`

- The name "get_purchase_request" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Status of a purchase you requested: pending, completed (with acquired_copy_id to load with fetch_session_context), declined or expired.
```

### `get_session_summary`

- The name "get_session_summary" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Describe one session before using it: what it did, outline, price, and whether you already have access. source=marketplace (default) or library.
```

### `get_world_sim_access`

- The name "get_world_sim_access" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `list_my_modules`

- The name "list_my_modules" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `list_operator_tickets`

- The name "list_operator_tickets" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `list_operators`

- The name "list_operators" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `list_pending_decisions`

- The name "list_pending_decisions" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `list_world_sim_templates`

- The name "list_world_sim_templates" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
The simulated companies a World-Sim can be bought with (industry, process, a short description). Public; no sign-in needed.
```

### `search_sessions`

- The name "search_sessions" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `sessions`:

```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": []
  }
}
```
