a4sx sessions
Overview
Description from the maker (original English)
Search reviewed coding-agent sessions on a4sx anonymously; sign in (OAuth) to load or save sessions.
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Computer or cloud
- Transport: stdio, Streamable HTTP
- Category: Search & AI memory
Install
Pick the AI app you use, then copy the settings.
Passed 4/5 checks · What you ask goes through the maker’s server (session-exchange.com)
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1
Open Claude’s Connectors page
CustomizeConnectors
Click “+ Add” → “Add custom connector” and fill in these 2 fields
Copy each value into the field with the same name in Claude, then click Continue
Name · Namea4sx sessionsRemote MCP server URL · Addresshttps://session-exchange.com/mcpLeave Authentication as Claude detected it, then click Add
Turn it on in a chat
+Connectorsa4sx sessions
Try it
Use a4sx sessions and tell me what you can do for me, then show me one thing✓ If Claude says it is using a4sx sessions or shows a a4sx sessions tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT on business plans only
ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet
Open ChatGPT’s add-MCP page on the web
Plugins+Add custom MCP server
Fill in the name and address
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Name · Namea4sx sessionsConnection · Addresshttps://session-exchange.com/mcpPick a4sx sessions in a chat
Start a new chat and pick a4sx sessions from your plugins before typing
Try it
Use a4sx sessions and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using a4sx sessions or shows a a4sx sessions tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Open Terminal
Mac: press Command+Space and type Terminal · Windows: open PowerShell
Paste this command and press Enter
claude mcp add --transport http sessions https://session-exchange.com/mcpType /mcp in Claude Code
You should see a4sx sessions listed as connected
Try it
Use a4sx sessions and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using a4sx sessions or shows a a4sx sessions tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Open the AI chat in Cursor in Agent mode
Try it
Use a4sx sessions and tell me what you can do for me, then show me one thing✓ If Cursor says it is using a4sx sessions or shows a a4sx sessions tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Open the AI chat in VS Code in Agent mode
Try it
Use a4sx sessions and tell me what you can do for me, then show me one thing✓ If VS Code says it is using a4sx sessions or shows a a4sx sessions tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://session-exchange.com/mcpJSON settings are under “For developers” below
For developers: Terminal commands and JSON settings
Over the web
Claude Code
claude mcp add --transport http sessions https://session-exchange.com/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"sessions": {
"url": "https://session-exchange.com/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"sessions": {
"type": "http",
"url": "https://session-exchange.com/mcp"
}
}
}Installed on your computer
Claude Code
claude mcp add sessions -- uvx a4sx-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"sessions": {
"command": "uvx",
"args": [
"a4sx-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"sessions": {
"command": "uvx",
"args": [
"a4sx-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"sessions": {
"type": "stdio",
"command": "uvx",
"args": [
"a4sx-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
At a glance
- Downloads per weeki
- 53/wk
- Verified domain
- ✓ session-exchange.com
- Connection
- Computer or cloud
- Transport
- stdio, streamable-http
- Latest versioni
- 0.1.2
- Categoryi
- Search & AI memory
- Published to registryi
- Oct 17, 2026
- Code last changedi
- Nov 6, 2026
- Maker
- crossvault
- Packages
pypi: a4sx-mcp- Website
- session-exchange.com
- Registry status
- Active
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Related guides
What it can do
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
search_sessionsSearch 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.
get_session_summaryDescribe one session before using it: what it did, outline, price, and whether you already have access. source=marketplace (default) or library.
acquire_sessionAdd 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.
fetch_session_contextLoad a session from your library (saved, or added with acquire_session) as starting context for this conversation, sized to max_tokens.
publish_sessionSave a session transcript (JSONL), or markdown you composed (format=markdown), to your private a4sx library. The server only rewrites text that matches secret and personal-data patterns (such as tokens, private keys, emails, IP addresses and home-directory user names). It removes
request_purchaseStart 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.
get_purchase_requestStatus of a purchase you requested: pending, completed (with acquired_copy_id to load with fetch_session_context), declined or expired.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026
- ! Caution
Maker matches the repo
The publisher (session-exchange.com) is not the repo owner (crossvault); someone else may have listed it
- ✓ Pass
Still maintained
Code last changed 5 days ago
- ✓ Pass
Has a licence
Uses Apache-2.0
- ✓ Pass
Endpoint responds
Responded in 1321 ms (HTTP 200)
- – Not applicable
Sign-in with OAuth
No sign-in needed
- ✓ Pass
No hidden instructions in tool descriptions
Read 7 tool descriptions and found no hidden instructions to the AI
Discussion
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
User reviews
No reviews yet
Compared with others in Search & AI memoryi
- More stars than 0% of the other 5884 servers in this category
- Published to the registry more recently than 61% of the other 5884 servers in this category
- Basic checks equal to or better than 49% of the other 5884 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is a4sx sessions safe?
It passed 4 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
Either way works: install it on your computer or connect to the cloud version.
Is it still maintained?
The GitHub repo last changed 5 days ago, and the latest version (0.1.2) reached the registry 25 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.
What can I use instead?
In the same category: Ruflo, Context7, Metabase
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
a4sx-mcp
A local MCP server for a4sx, the library and marketplace for coding-agent sessions. It gives any MCP client (Claude Code, Claude Desktop, Cursor, VS Code, ...) five tools to find a saved session, load it as context, and save the current one, using the sign-in of the a4sx command-line tool.
It runs on your machine over stdio. Your a4sx token stays in the a4sx config directory and is only ever sent to the server that issued it: pointing the server elsewhere with --base never sends it a token from another server.
Private library: the sessions saved under your a4sx account on session-exchange.com. Its entries are not listed in the marketplace and not returned by public search; they are listed, fetched, versioned and deleted through the a4sx API with your own sign-in (or an agent key you create). Listing a session in the marketplace is a separate step in the web app, with a review. "Private" describes who can list and fetch an entry through a4sx; the server stores the bytes you upload, after scrubbing them again.
Tools
The names, input schemas and limits are the same as the hosted a4sx MCP server's.
| Tool | What it does | Sign-in |
|---|---|---|
search_sessions | Search vetted public sessions (scope=public, default), or your own saved ones (scope=library); harness keeps only sessions recorded with the given harnesses | library scope only |
get_session_summary | Describe one session before using it: outline, members, price, provenance | library source only |
acquire_session | Copy a marketplace session you are entitled to (free, bought or granted) into your private library | yes |
fetch_session_context | Load a session from your library as starting context, cut to max_tokens (500 to 100,000; default 8,000) | yes |
publish_session | Save a transcript (JSONL) to your private library | yes |
Safety rules:
- `acquire_session` never buys. For a paid listing you have no purchase or grant for, it returns
status: "payment_required"with the price and the listing URL (or, when the listing's session is sold on its own, thememberto buy). You buy it yourself in the web app, then ask again. - Harnesses. Claude Code, Codex CLI and Grok Build sessions are listed and loaded alike; only Claude Code sessions can be resumed today. Every search and summary row carries the
harnessit was recorded with ({id, version};unknownwhen not identified), andresumableisfalsefor a session recorded with another harness.fetch_session_contextrenders such a session from its stored canonical form. - `publish_session` only saves privately.
visibilityaccepts only"private"; listing a session publicly is a separate, reviewed step in the web app. It accepts only Claude Code or Codex CLI JSONL (every line a record with atype; a Claude Code user or assistant turn with a session id, or a Codex CLIsession_metarecord first), so it can't be used to upload an arbitrary file. The transcript, its title and its label are scrubbed on your machine with thea4sxSDK, which applies the a4sx CLI's rules (secrets, command-line passwords, Sheet ids, and personal data: e-mail and IP addresses, home-directory user names, hosts, key-file paths), and scrubbed again by the server. Scrubbing is a backstop, not a guarantee. A session that continues someone else's (itsparent, or the session it was resumed from, was acquired) stays marked as untrusted (untrusted: true). - Neither tool asks for confirmation inside the protocol. Like the hosted server, it relies on the rules above and on the tool annotations:
acquire_sessionandpublish_sessionare markedreadOnlyHint: false, so clients that ask before a tool runs (Claude Code does by default) can ask you, and you should not auto-approve them. The three read tools are marked read-only. - Loaded sessions are reference material, not instructions.
fetch_session_contextalways starts with a notice saying so, then wraps everything the session's author controls (title and turns) in<< >>…<< >>with a random nonce. Inside it, every kind of line break is normalised to\n,<<</>>>become‹‹‹/›››and a leading#becomes\#(the notice says so), so content can't close the envelope or fake a### Userheading. The title is one line of at most 200 characters, and cutting tomax_tokensnever removes the notice or the closing line.search_sessionsandget_session_summaryresults are framed the same way: a notice first, then the JSON inside the envelope, with every author-written string on one line, neutralised and capped per field, and the whole result bounded to 64 KiB (a page cut short saystruncated: true, andnext_offsetresumes at the first row left out). Server guidance (next,next_offset) goes on one line after the closing delimiter, never inside the envelope, and carries only fixed texts and numbers. A session with another author's content getsuntrusted: trueand a stronger notice. Look-alike characters (full-width</#, zero-width spaces) are left as they are: they cannot close the envelope, because the closing line needs the random nonce, but a model may still be misled by them. This lowers the risk of prompt injection but cannot rule it out: keep tool approval on. - Limits: transcripts up to 2 MiB per
publish_sessioncall (usea4sx pushfor larger ones); per process, at most 240 requests (tools/listandtools/call), 20 acquires and 10 publishes per minute. The a4sx server enforces its own limits as well.
Quickstart
You need uv (for uvx) and an a4sx account.
- Sign in once with the
a4sxCLI. The MCP server reuses that sign-in:
uvx a4sx login
Searching public sessions works without signing in. If a tool needs your account and you are not signed in (or the sign-in expired), it returns an error telling you to run a4sx login.
- Add the server to your client.
Claude Code
claude mcp add a4sx -- uvx a4sx-mcp
Claude Desktop
Edit claude_desktop_config.json (Settings, Developer, Edit Config) and restart Claude Desktop:
{
"mcpServers": { "a4sx": { "command": "uvx", "args": ["a4sx-mcp"] } } }
Cursor
Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "a4sx": { "command": "uvx", "args": ["a4sx-mcp"] } } }
VS Code
Add to .vscode/mcp.json in your workspace (or run MCP: Add Server from the command palette):
{
"servers": { "a4sx": { "type": "stdio", "command": "uvx", "args": ["a4sx-mcp"] } } }
Try it
Ask your agent, for example: *"Search a4sx for sessions about flaky pytest fixtures and summarise the best one"*, or *"Load my a4sx session my-refactor as context"*.
Configuration
Everything is optional. Don't put your token into an MCP client config file: sign in with a4sx login instead, which stores it with mode 0600.
| Setting | Meaning |
|---|---|
--base URL / A4SX_BASE | The a4sx server. Default: the one you signed in to, else https://session-exchange.com. Plain http is refused except for localhost. |
A4SX_SESSION, A4SX_SESSION_BASE | A token to use instead of the stored sign-in (for CI), and the server it belongs to (default https://session-exchange.com). |
A4SX_CONFIG_DIR | Where the a4sx CLI keeps its sign-in (default ~/.config/a4sx, %APPDATA%\a4sx on Windows). |
A4SX_MCP_LOG | warning (default), info or debug. Logs go to stderr and contain tool names, outcomes and durations only: never arguments, transcripts or tokens. |
A4SX_MCP_MAX_PUBLISH_BYTES | Lower or raise the 2 MiB publish_session cap (the server may still refuse larger uploads). |
A4SX_MCP_PER_MIN, A4SX_MCP_ACQUIRE_PER_MIN, A4SX_MCP_PUBLISH_PER_MIN | Local rate limits (240, 20, 10 per minute). 0 turns a local limit off. |
Local server or remote /mcp?
a4sx also runs a hosted MCP server at https://session-exchange.com/mcp, with browser sign-in over OAuth: it advertises the scope library:read (search your library, summaries, loading sessions as context). Public search there works without signing in; acquiring or saving sessions needs a credential with library:acquire or library:publish, for example an agent key created in your a4sx account. Clients that support remote MCP servers with OAuth can connect to it directly and need nothing installed:
claude mcp add --transport http a4sx https://session-exchange.com/mcp
This package is the option for clients without remote OAuth support, and for setups that already use a4sx login. Both expose the five session tools below; the hosted server lists further tools of its own (for example, starting a purchase for the account holder to confirm), which this package does not have.
Same in both:
- the five session tools' names, input schemas (including the
harnessfilter), annotations, and the server instructions; - the untrusted framing: the text of
fetch_session_context(notice, nonce envelope, line-break normalisation, escaping, per-field caps, sizing, canonical sessions of other harnesses) and the JSON envelope,noticefield, per-field caps, 64 KiB result bound and hint line ofsearch_sessions,get_session_summaryandacquire_session; - the result fields (plus the local extras listed below);
- the error codes
invalid_arguments,credential_not_accepted,rate_limited,not_found,too_large,content_sha_mismatch,not_a_transcriptandno_transcript; - JSON-RPC error
-32029when the overall request limit is exceeded.
Differences of this local server:
- Sign-in. It uses your
a4sx loginsession, so it can do everything your account can in your own library. The hosted server takes a scoped OAuth token (it advertiseslibrary:read) or an agent key with the scopes you gave it (library:read,library:acquire,library:publish). With no sign-in at all, local tools returnnot_signed_in; the hosted server answers with an OAuth challenge instead. Thecredential_not_acceptedmessage says to runa4sx loginrather than to get a scoped token. - Rate limits. They are counted per process, not per account. There is no failed-sign-in limit, because there is no sign-in step here.
retry_after_scomes from the API's error body, not from theRetry-Afterheader. - `untrusted`. Besides
acquired_fromon the row and its parents (which is all the hosted server checks), it also uses this machine's record of untrusted sessions from thea4sxSDK. A session missing from your library listing counts as untrusted in both. - `publish_session`:
- Every upload carries an idempotency key: yours if you pass
idempotency_key, else a fresh one. The hosted server sends a key only if you pass one. - Uploads are retried twice, with that same key, on network errors, 429 and 502-504; when the server is busy scrubbing other uploads, up to 6 attempts, each after the wait it asks for.
- The body, title and label are scrubbed locally, so the
X-Content-SHA256sent to the API covers the scrubbed bytes. - The content check is stricter: every line must be a JSON record with a
type, and the file a Claude Code or Codex CLI session. parentis resolved like the CLI resolves names (exact id, then label, then a unique part of the title or id). The hosted server passes it through verbatim.- Without
parent, a transcript you resumed witha4sx resumegets its parent edge from the SDK's local lineage record. The hosted server records no edge. - The result has extra
client_redactionsanduntrustedfields. - `payment_required`. The price c