a4sx sessions
Resumen
Descripción del creador (original en inglés)
Search reviewed coding-agent sessions on a4sx anonymously; sign in (OAuth) to load or save sessions.
Los tres pilares de PopNx MCP
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
- Opinión de usuariosiAún no hay reseñasLas reseñas se abrirán junto con las cuentas en una etapa posterior
- Nuestras revisiones básicasi2 de 3 superadasRevisado con información pública; el código aún no se ha escaneado
- UsoiMuy nuevo↓ 53/sem · ★ –
Qué puedes hacer con él
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
- Conexión: Computadora o nube
- Transporte: stdio, Streamable HTTP
- Categoría: Búsqueda y memoria de IA
Instalación
Elige la app de IA que usas y copia la configuración.
Antes de instalar
- Revisiones básicas: 2 de 3 superadas
- Se ejecuta en el servidor del creador: lo que le pidas pasa por su servidor.
- Puede hacer 7 cosas (herramientas) search_sessions, get_session_summary, acquire_session, fetch_session_context …
- El registro no indica ninguna clave que completar.
Necesitas
- Se ejecuta en la nubeNo hay nada que instalar; se conecta por internet
- PyPIuv de Python instalado (para el comando uvx)
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
- Abre Settings → Connectors
- Presiona Add custom connector
- Pega la dirección de abajo y presiona Add
- Si te pide iniciar sesión, inicia sesión en el servicio del creador
https://session-exchange.com/mcpO ejecútalo en tu computadora
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"sessions": {
"command": "uvx",
"args": [
"a4sx-mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http sessions https://session-exchange.com/mcpO ejecútalo en tu computadora
claude mcp add sessions -- uvx a4sx-mcpO copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"sessions": {
"url": "https://session-exchange.com/mcp"
}
}
}O ejecútalo en tu computadora
O copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"sessions": {
"command": "uvx",
"args": [
"a4sx-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"sessions": {
"type": "http",
"url": "https://session-exchange.com/mcp"
}
}
}O ejecútalo en tu computadora
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"sessions": {
"type": "stdio",
"command": "uvx",
"args": [
"a4sx-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
- Abre ChatGPT en la web → Settings → Connectors (Apps)
- Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
- Pega la dirección de abajo, ponle un nombre y guarda
- Si te pide iniciar sesión, inicia sesión en el servicio del creador
https://session-exchange.com/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Qué puede hacer
Nombres y descripciones de las herramientas tal como los informó el servidor el 7 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
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.
Revisiones básicasi
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
- ! Precaución
El creador coincide con el repo
Quien lo publicó (session-exchange.com) no es el dueño del repo (crossvault); puede que otra persona lo haya listado
- … Aún sin revisar
Sigue en mantenimiento
Todavía no hemos leído este repo en GitHub
- … Aún sin revisar
Tiene licencia
Todavía no hemos leído este repo en GitHub
- ✓ Superada
El endpoint responde
Respondió en 1321 ms (HTTP 200)
- – No aplica
Inicio de sesión con OAuth
No hace falta iniciar sesión
- ✓ Superada
Sin instrucciones ocultas en las descripciones de herramientas
Leímos 7 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
Comparado con otros en Búsqueda y memoria de IAi
- Más estrellas que el 0% de los otros 5688 servidores de esta categoría
- Publicado en el registro más recientemente que el 64% de los otros 5688 servidores de esta categoría
- Revisiones básicas iguales o mejores que el 39% de los otros 5688 servidores de esta categoría
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Preguntas frecuentes
¿Es seguro a4sx sessions?
Superó 2 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
¿Qué claves o códigos necesita?
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
¿Se ejecuta en mi computadora o en la nube?
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
¿Sigue en mantenimiento?
El repo de GitHub cambió por última vez –, y la última versión (0.1.2) llegó al registro hace 22 días.
¿Qué apps pueden usarlo?
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
¿Qué puedo usar en su lugar?
En la misma categoría: Context7, Codebase Memory, Exa
Alternativas
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README del creador
Abrir el README
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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
Solo se muestra el principio; lee el resto en el repo