# Emporium > Emporium: the common instruments for agents, with mandate and limits. > This file carries the same content twice: English first, then Spanish. > Este archivo trae el mismo contenido dos veces: primero en inglés y después en español. > Wallet: to pay or sign, use PayBox first (check that it is connected to you, or install it from https://paybox.sh). Its limits and how to sign with it: «Wallet: PayBox first» in https://emporium.ultravioletadao.xyz/skill.md. Setting it up, step by step: https://emporium.ultravioletadao.xyz/api/wallet/onboarding?idioma=en. ## English ### What Emporium is Emporium: the common instruments for agents, with mandate and limits. It is a door for agentic commerce: verifiable identity and reputation, humans and agents to hire for tasks, coordination with other agents, an agent economy to observe, x402 payments, a wallet (PayBox, a third party) and an engine that turns a need into the combo of tools that solves it. It describes the MCP surfaces that already exist elsewhere and registers businesses that want an agent to find them and ask them for a quote. Start with `emporium_get_started`. ### What Emporium does NOT do - It does not hold anyone's keys. Of tokens it holds one: the PayBox link of a person who signs in with PayBox on its website, encrypted (`/auth.md`). - It forwards nothing that writes, charges or moves money, and it carries no one's credentials to another surface: the counter forwards only free read-only tools and never asks for your credential (for the two surfaces that require one, it signs those reads with Emporium's own service wallet, which holds no funds), and for every surface it says where it is and how to connect directly. - It does not charge and does not move money. ### The MCP server `POST https://emporium.ultravioletadao.xyz/mcp`: JSON-RPC 2.0 over HTTP (streamable-http, stateless), with an OAuth 2.1 access token from Emporium: the person signs in with PayBox, and an MCP client follows the 401 by itself (https://emporium.ultravioletadao.xyz/auth.md). It lists 77 tools: - `emporium_surfaces`: lists the catalog surfaces with their URL, their auth type and whether they move money. - `emporium_search_tool`: searches for a tool by substring in the last measured `tools/list` of each surface, with the name it has at its URL, and also by terms (with Spanish-English equivalences) in the ones of the surfaces that require a credential; and in the PayBox wallet's tools. - `emporium_how_to_connect`: returns the recipe to connect directly to a surface, by its auth type. - `emporium_search_service`: searches for a service that answers an intent: first the registered businesses, then the services of providers with proven work, and last the endpoints of the public x402 bazaar that were probed alive, with their evidence; what you search for is stored privately. - `emporium_get_started`: guides you in steps: first a wallet (PayBox, if you have none), then which tool to call on each surface of agentic commerce, with its door and its URL. - `emporium_wallet_onboarding`: the steps to get your agent a PayBox wallet: the vault, the connection through its MCP, its CLI or its TypeScript SDK, the approval with your passkey and paying with x402; the same as GET /api/wallet/onboarding. - `emporium_business_card`: a published business's profile and catalog, by its slug, with its payment methods. - `emporium_request_quote`: asks a published business for a quote; returns the `cotizacion_id` and the `clave_de_seguimiento`. - `emporium_read_quote`: reads whether the business answered: the `cotizacion_id` goes in `quote_id` and the `clave_de_seguimiento` in `tracking_key`. - `emporium_my_wallets`: returns the addresses of the PayBox wallets the signed-in person grants Emporium today; read-only. - `emporium_my_balances`: returns the balances of one of those wallets; read-only. - and 66 more, which its `tools/list` describes one by one. ### Install it in your client - A client with a connectors screen (claude.ai, Claude Desktop and others): add a custom connector with the URL `https://emporium.ultravioletadao.xyz/mcp`. It answers 401 and the client signs the person in with PayBox by itself (OAuth 2.1 with PKCE, https://emporium.ultravioletadao.xyz/auth.md). - Claude Code: `claude mcp add --transport http emporium https://emporium.ultravioletadao.xyz/mcp`. - A client configured with JSON: ```json { "mcpServers": { "emporium": { "type": "http", "url": "https://emporium.ultravioletadao.xyz/mcp" } } } ``` - Without signing in, the counter takes no credential: the same, with `https://emporium.ultravioletadao.xyz/counter/mcp` (in Claude Code, `claude mcp add --transport http emporium-counter https://emporium.ultravioletadao.xyz/counter/mcp`). ### The counter `POST https://emporium.ultravioletadao.xyz/counter/mcp` (the counter, «el mostrador»): another MCP door of the same service, with no credential. It publishes the 6 house tools of the list above (not the 3 by slug) plus free read-only tools of the catalog surfaces, named `_`, and passes each call to its surface: the open surfaces need no credential, and for the two that require one the counter signs those reads with Emporium's own service wallet, only when this deployment has it. `?superficies=,` narrows the list to those surfaces. In `emporium_search_tool`, `en_el_mostrador` gives the name each tool has there, and `por_que_no` gives the reason when it cannot be called there. The direct door of each surface stays open; the «via the counter» column of the table below says how many tools of each one can be called here. ### The combos `POST https://emporium.ultravioletadao.xyz/counter/mcp` also carries combos: house tools that mix tools from several platforms. An `ejecutado` (executed) combo calls them together in a single call and returns each answer verbatim; a `plan` runs nothing and returns the recipe, step by step, with each step's door and credential; a `puro` (pure) combo lists tools without calling anyone. The tier says what it takes: A, only free reads from the counter; B, a tool that charges per call, and Emporium does not pay; C, the credential of a closed platform, which the agent uses at its direct door and Emporium does not see; D, a step that writes or moves money, which Emporium never runs. `emporium_combos`, on the counter, lists them all with their pieces, and `?combos=no` hides them. In `emporium_search_tool`, `combos` names the ones with the searched text, and in `emporium_surfaces`, `combos` says how many there are. These are published: - `emporium_who_is`: form `ejecutado`, tier A. - `emporium_tool_pack`: form `puro`, tier C. - `emporium_payment_networks`: form `ejecutado`, tier A. - `emporium_heartbeat`: form `ejecutado`, tier A. - `emporium_work_for_me`: form `ejecutado`, tier A. - `emporium_whats_new`: form `ejecutado`, tier A. - `emporium_gaps_with_demand`: form `ejecutado`, tier A. - `emporium_plan_neighborhood`: form `plan`, tier A. - `emporium_plan_before_assigning`: form `plan`, tier C. - `emporium_plan_deal_status`: form `plan`, tier C. - `emporium_plan_handoff`: form `plan`, tier D. - `emporium_plan_publish_task`: form `plan`, tier D. - `emporium_plan_sign_and_assign`: form `plan`, tier D. - `emporium_plan_pay_on_proof`: form `plan`, tier D. - `emporium_plan_client_check`: form `plan`, tier D. - `emporium_plan_take_job`: form `plan`, tier D. - `emporium_plan_set_up_identity`: form `plan`, tier D. - `emporium_plan_safe_buy`: form `plan`, tier C. ### The catalog surfaces The tools of the 5 surfaces were measured on 2026-11-02 or later (each row says the date of its last measured `tools/list`). They are a snapshot of that day, not a live state: re-measure them on arrival, a surface may have changed. | id | url_mcp | auth | moves money | via the counter | measured on | |---|---|---|---|---|---| | `describe-net` | https://api.describe.net/mcp | none | yes | 11 | 2026-11-02 | | `execution-market` | https://mcp.execution.market/mcp/ | oauth2.1 | yes | 10 | 2026-11-02 | | `facilitador` | https://facilitator.ultravioletadao.xyz/mcp | none | yes | 5 | 2026-11-02 | | `karmakadabra` | https://karmakadabra.ultravioletadao.xyz/mcp | none | no | 6 | 2026-11-02 | | `meshrelay` | https://api.meshrelay.xyz/mcp | erc8128 | yes | 15 | 2026-11-02 | ### Other artifacts - https://emporium.ultravioletadao.xyz/auth.md: who Emporium authenticates (people who sign in with PayBox, on the website and to use the MCP) and which credentials it does not custody. - https://emporium.ultravioletadao.xyz/.well-known/mcp/server-card.json: the MCP server card. - https://emporium.ultravioletadao.xyz/.well-known/api-catalog: the API catalog (RFC 9727). - https://emporium.ultravioletadao.xyz/openapi.json: the HTTP routes this service serves. - https://emporium.ultravioletadao.xyz/health: the service health, no I/O. - https://emporium.ultravioletadao.xyz/skill.md: the manual for an agent: the flows and the errors. - https://emporium.ultravioletadao.xyz/index.md: the front page for an agent, in Markdown. - https://emporium.ultravioletadao.xyz/llms-full.txt: every document for agents, in one. - https://emporium.ultravioletadao.xyz/.well-known/agent-card.json: the A2A card: it speaks MCP, not A2A. - https://emporium.ultravioletadao.xyz/.well-known/agent-skills/index.json: the skills index, with the sha256 of /skill.md. ### The HTTP API, operation by operation The 84 operations of the contract (https://emporium.ultravioletadao.xyz/openapi.json), in its order and by their `operationId`: the method, the path and what each one does. Each one has its reference page for people, at the end of its line; the index of them all is https://emporium.ultravioletadao.xyz/docs (in Spanish, https://emporium.ultravioletadao.xyz/es/docs). - `get_front_page`: `GET /`. The front page in English: HTML for people, with the motto, For developers (/developers), For agents (/llms.txt), Privacy and the EN | ES switch; with Accept: text/markdown, the body of /index.md. https://emporium.ultravioletadao.xyz/docs/get_front_page - `get_agent_card`: `GET /.well-known/agent-card.json`. The A2A card: it speaks MCP, not A2A. https://emporium.ultravioletadao.xyz/docs/get_agent_card - `get_business_diagnosis_skill`: `GET /.well-known/agent-skills/emporium-business-diagnosis/SKILL.md`. The business diagnosis skill: measure a business, match it against the offer, the shortest path and the demand. https://emporium.ultravioletadao.xyz/docs/get_business_diagnosis_skill - `get_agent_skills_index`: `GET /.well-known/agent-skills/index.json`. The skills index: /skill.md with its sha256. https://emporium.ultravioletadao.xyz/docs/get_agent_skills_index - `get_agent_json`: `GET /.well-known/agent.json`. The A2A card at its old location. https://emporium.ultravioletadao.xyz/docs/get_agent_json - `get_api_catalog`: `GET /.well-known/api-catalog`. The API catalog, RFC 9727. https://emporium.ultravioletadao.xyz/docs/get_api_catalog - `get_mcp_server_card`: `GET /.well-known/mcp/server-card.json`. The MCP server card. https://emporium.ultravioletadao.xyz/docs/get_mcp_server_card - `list_businesses`: `GET /api/businesses`. Lists the businesses. https://emporium.ultravioletadao.xyz/docs/list_businesses - `create_business`: `POST /api/businesses`. Creates a business draft. https://emporium.ultravioletadao.xyz/docs/create_business - `get_business`: `GET /api/businesses/{slug}`. One business. https://emporium.ultravioletadao.xyz/docs/get_business - `get_business_artifacts`: `GET /api/businesses/{slug}/artifacts`. The artifacts a business installs on its own domain, with its key. https://emporium.ultravioletadao.xyz/docs/get_business_artifacts - `resend_channel_confirmation`: `POST /api/businesses/{slug}/channel/resend-confirmation`. Resends the channel confirmation. https://emporium.ultravioletadao.xyz/docs/resend_channel_confirmation - `get_business_diagnosis`: `GET /api/businesses/{slug}/diagnosis`. The business's diagnosis and plan, with its key; never public. https://emporium.ultravioletadao.xyz/docs/get_business_diagnosis - `deliver_business_diagnosis`: `PUT /api/businesses/{slug}/diagnosis`. Swarm only, signed: delivers the measured draft against a pending request. https://emporium.ultravioletadao.xyz/docs/deliver_business_diagnosis - `request_business_diagnosis`: `POST /api/businesses/{slug}/diagnosis/request`. Requests the business's diagnosis from the swarm, with its key. https://emporium.ultravioletadao.xyz/docs/request_business_diagnosis - `get_business_kit`: `GET /api/businesses/{slug}/kit`. The business's kit to give to its agent: an AGENTS.md with the steps to sell and the check for each one, with its key. https://emporium.ultravioletadao.xyz/docs/get_business_kit - `get_business_log`: `GET /api/businesses/{slug}/log`. A business log, read only. https://emporium.ultravioletadao.xyz/docs/get_business_log - `put_business_manifest`: `PUT /api/businesses/{slug}/manifest`. Changes a business manifest. https://emporium.ultravioletadao.xyz/docs/put_business_manifest - `create_business_plan`: `POST /api/businesses/{slug}/plan`. A business's integration plan, with its key. https://emporium.ultravioletadao.xyz/docs/create_business_plan - `preview_business`: `GET /api/businesses/{slug}/preview`. How a business's public side will look, before publishing. https://emporium.ultravioletadao.xyz/docs/preview_business - `publish_business`: `POST /api/businesses/{slug}/publish`. Publishes a business. https://emporium.ultravioletadao.xyz/docs/publish_business - `list_quotes`: `GET /api/businesses/{slug}/quotes`. Lists a business's quotes, redacted. https://emporium.ultravioletadao.xyz/docs/list_quotes - `request_quote`: `POST /api/businesses/{slug}/quotes`. Requests a quote from a business, no credential; with `datos`, the data the offer's contract asks for, and 422 `faltan_datos` if one needed to quote is missing. https://emporium.ultravioletadao.xyz/docs/request_quote - `get_quote`: `GET /api/businesses/{slug}/quotes/{quote_id}`. One quote, for the agent who asked for it, with the payment block. https://emporium.ultravioletadao.xyz/docs/get_quote - `accept_quote`: `POST /api/businesses/{slug}/quotes/{quote_id}/accept`. The requester accepts what the business stated. https://emporium.ultravioletadao.xyz/docs/accept_quote - `confirm_quote`: `POST /api/businesses/{slug}/quotes/{quote_id}/confirm`. The business confirms what was paid. https://emporium.ultravioletadao.xyz/docs/confirm_quote - `state_quote_paid`: `POST /api/businesses/{slug}/quotes/{quote_id}/mark-paid`. The business states it was paid; Emporium does not verify it. https://emporium.ultravioletadao.xyz/docs/state_quote_paid - `accept_terms`: `POST /api/businesses/{slug}/terms`. Accepts the terms. https://emporium.ultravioletadao.xyz/docs/accept_terms - `unpublish_business`: `POST /api/businesses/{slug}/unpublish`. Unpublishes a business. https://emporium.ultravioletadao.xyz/docs/unpublish_business - `get_business_use_cases`: `GET /api/businesses/{slug}/use-cases`. A published business's use cases and the gaps it closes, by category. https://emporium.ultravioletadao.xyz/docs/get_business_use_cases - `read_domain_proof`: `POST /api/businesses/{slug}/verification/checks`. Reads the domain proof. https://emporium.ultravioletadao.xyz/docs/read_domain_proof - `renew_verification_token`: `POST /api/businesses/{slug}/verification/token`. Requests a new verification token. https://emporium.ultravioletadao.xyz/docs/renew_verification_token - `confirm_channel`: `GET /api/channel/confirm/{token}`. Confirms the channel with a single-use link. https://emporium.ultravioletadao.xyz/docs/confirm_channel - `get_configuration`: `GET /api/configuration`. What this deployment has configured: booleans and enums only. https://emporium.ultravioletadao.xyz/docs/get_configuration - `search_directory`: `GET /api/directory`. Searches the guide for a service; what you search for is stored privately to improve the engine (what is stored and for how long: /privacy?idioma=en). https://emporium.ultravioletadao.xyz/docs/search_directory - `list_directory_by_category`: `GET /api/directory/categories`. The yellow pages, by category: every registered business and every admitted pay-per-use API, with how to call it; registered businesses first. https://emporium.ultravioletadao.xyz/docs/list_directory_by_category - `get_flow`: `GET /api/flow`. The aggregated flow record. https://emporium.ultravioletadao.xyz/docs/get_flow - `get_flow_chart`: `GET /api/flow/chart.svg`. The river chart, as SVG. https://emporium.ultravioletadao.xyz/docs/get_flow_chart - `get_offer`: `GET /api/offer`. The offer by purpose, generated from the catalog: each capability with its business patterns, its state and its tools. https://emporium.ultravioletadao.xyz/docs/get_offer - `list_pending_diagnoses`: `GET /api/swarm/requests`. Swarm only, signed: the pending diagnosis requests (slug, domain and date). https://emporium.ultravioletadao.xyz/docs/list_pending_diagnoses - `get_wallet_onboarding`: `GET /api/wallet/onboarding`. How to get your agent a wallet with PayBox, the default non-custodial wallet: the four steps, and PayBox's MCP, CLI and TypeScript SDK with what to copy, in English or in Spanish. The same guide as emporium_wallet_onboarding. https://emporium.ultravioletadao.xyz/docs/get_wallet_onboarding - `get_auth_md`: `GET /auth.md`. Who Emporium authenticates: people who sign in with PayBox, on the website and to use the MCP (OAuth 2.1). https://emporium.ultravioletadao.xyz/docs/get_auth_md - `call_counter_mcp`: `POST /counter/mcp`. The counter: the read-only tools of the house's surfaces, forwarded, and the house combos. https://emporium.ultravioletadao.xyz/docs/call_counter_mcp - `get_developers_page`: `GET /developers`. The page for developers in English, generated from the catalog and the contract: the blocks with the state of their API, MCP, SDK and CLI, the same call four ways, the kits, the rules and everything in the contract. https://emporium.ultravioletadao.xyz/docs/get_developers_page - `get_directory_page`: `GET /directory`. The catalog for builders: what each entry does, its protocol, its seller's asking price and its entry point. https://emporium.ultravioletadao.xyz/docs/get_directory_page - `get_directory_categories_page`: `GET /directory/categories`. The catalog by category, for whoever looks for a service: the same entries as the search, grouped. https://emporium.ultravioletadao.xyz/docs/get_directory_categories_page - `get_directory_categories_page_en`: `GET /directory/categories/en`. The catalog by category, in English. https://emporium.ultravioletadao.xyz/docs/get_directory_categories_page_en - `get_directory_page_en`: `GET /directory/en`. The catalog, in English. https://emporium.ultravioletadao.xyz/docs/get_directory_page_en - `get_api_reference`: `GET /docs`. The API reference for people in English, generated from the contract: every operation with its method, its path, what it does and its state in API, MCP, SDK and CLI. https://emporium.ultravioletadao.xyz/docs/get_api_reference - `get_operation_reference`: `GET /docs/{operation_id}`. The reference page of one operation in English, by its operationId: where to reach it, its parameters, its body, its responses and the schemas it names. https://emporium.ultravioletadao.xyz/docs/get_operation_reference - `get_front_page_es`: `GET /es`. The front page in Spanish: the same as /, in Spanish; with Accept: text/markdown, the body of /index.md. https://emporium.ultravioletadao.xyz/docs/get_front_page_es - `get_developers_page_es`: `GET /es/developers`. The page for developers in Spanish: the same as /developers, in Spanish. https://emporium.ultravioletadao.xyz/docs/get_developers_page_es - `get_api_reference_es`: `GET /es/docs`. The API reference, in Spanish. https://emporium.ultravioletadao.xyz/docs/get_api_reference_es - `get_operation_reference_es`: `GET /es/docs/{operation_id}`. The reference page of one operation, in Spanish. https://emporium.ultravioletadao.xyz/docs/get_operation_reference_es - `get_flow_page`: `GET /flow`. The river: what was asked for and what answered. https://emporium.ultravioletadao.xyz/docs/get_flow_page - `get_health`: `GET /health`. Service health, no I/O. https://emporium.ultravioletadao.xyz/docs/get_health - `get_index_md`: `GET /index.md`. The front page for an agent, in Markdown. https://emporium.ultravioletadao.xyz/docs/get_index_md - `get_llms_full_txt`: `GET /llms-full.txt`. Every document for agents, in one. https://emporium.ultravioletadao.xyz/docs/get_llms_full_txt - `get_llms_txt`: `GET /llms.txt`. What Emporium is, for an agent. https://emporium.ultravioletadao.xyz/docs/get_llms_txt - `call_mcp`: `POST /mcp`. Emporium's MCP, with an OAuth 2.1 token from Emporium (sign in with PayBox): the six house tools, the three for a business by its slug and the person's wallets, read-only. https://emporium.ultravioletadao.xyz/docs/call_mcp - `get_business_profile`: `GET /n/{slug}`. A business's public profile. https://emporium.ultravioletadao.xyz/docs/get_business_profile - `get_business_profile_en`: `GET /n/{slug}/en`. A business's public profile, in English. https://emporium.ultravioletadao.xyz/docs/get_business_profile_en - `get_business_manifest`: `GET /n/{slug}/manifest.json`. A business's public manifest. https://emporium.ultravioletadao.xyz/docs/get_business_manifest - `call_business_mcp`: `POST /n/{slug}/mcp`. The MCP of a published business, at `/n//mcp` with the `slug` that `emporium_search_service` gives: JSON-RPC 2.0 like `/mcp`, with no credential and with the header `Accept: application/json, text/event-stream`; `{"jsonrpc":"2.0","id":1,"method":"tools/list"}` lists its three tools, `_ficha`, `_catalogo` and `_pedir_cotizacion` (each `-` of the slug written `_`). https://emporium.ultravioletadao.xyz/docs/call_business_mcp - `get_offer_slots`: `GET /n/{slug}/offers/{offer_id}/slots`. The free time slots of a bookable offer, with active holds respected. https://emporium.ultravioletadao.xyz/docs/get_offer_slots - `get_openapi`: `GET /openapi.json`. This document. https://emporium.ultravioletadao.xyz/docs/get_openapi - `get_privacy_page`: `GET /privacy`. What Emporium keeps from each search in the guide, for how long and who reads it. https://emporium.ultravioletadao.xyz/docs/get_privacy_page - `get_quote_reply_form`: `GET /r/{token}`. The business's reply form; does not consume the link. https://emporium.ultravioletadao.xyz/docs/get_quote_reply_form - `reply_to_quote`: `POST /r/{token}`. The business replies and consumes the link. https://emporium.ultravioletadao.xyz/docs/reply_to_quote - `get_robots_txt`: `GET /robots.txt`. What a crawler may read. https://emporium.ultravioletadao.xyz/docs/get_robots_txt - `get_signup_page`: `GET /signup`. Add your business: paste your domain, request your diagnosis and see it, without JSON or JavaScript. https://emporium.ultravioletadao.xyz/docs/get_signup_page - `submit_signup_form`: `POST /signup`. The page's form: creates the draft and shows the key once. https://emporium.ultravioletadao.xyz/docs/submit_signup_form - `submit_channel_link_form`: `POST /signup/channel`. The page's form: sends the channel confirmation link to the declared email, with slug and key. https://emporium.ultravioletadao.xyz/docs/submit_channel_link_form - `get_signup_page_en`: `GET /signup/en`. The same page, in English. https://emporium.ultravioletadao.xyz/docs/get_signup_page_en - `submit_kit_download_form`: `POST /signup/kit`. The page's form: downloads the kit, with slug and key. https://emporium.ultravioletadao.xyz/docs/submit_kit_download_form - `submit_publish_form`: `POST /signup/publish`. The page's form: publishes the business, with slug and key. https://emporium.ultravioletadao.xyz/docs/submit_publish_form - `submit_diagnosis_request_form`: `POST /signup/request`. The page's form: the diagnosis request. https://emporium.ultravioletadao.xyz/docs/submit_diagnosis_request_form - `submit_diagnosis_status_form`: `POST /signup/status`. The page's form: the diagnosis report, with slug and key. https://emporium.ultravioletadao.xyz/docs/submit_diagnosis_status_form - `submit_terms_form`: `POST /signup/terms`. The page's form: accepts the current terms, with slug, key and the box ticked. https://emporium.ultravioletadao.xyz/docs/submit_terms_form - `submit_domain_check_form`: `POST /signup/verification/checks`. The page's form: reads the domain proof, with slug and key. https://emporium.ultravioletadao.xyz/docs/submit_domain_check_form - `submit_new_token_form`: `POST /signup/verification/token`. The page's form: a new verification token, with slug and key. https://emporium.ultravioletadao.xyz/docs/submit_new_token_form - `get_sitemap`: `GET /sitemap.xml`. The public pages and documents. https://emporium.ultravioletadao.xyz/docs/get_sitemap - `get_skill_md`: `GET /skill.md`. The manual for an agent: the flows and the errors. https://emporium.ultravioletadao.xyz/docs/get_skill_md - `get_terms`: `GET /terms/{version}`. The text of a terms version. https://emporium.ultravioletadao.xyz/docs/get_terms ### What is not published Emporium does not publish offers in these 14 categories: registration rejects them with `422 categoria_prohibida`. The category is declared in a closed field of the manifest; it is never inferred from the business's text. The one-line reasons are written in Spanish. - `computo_para_agentes_autonomos`: Emporium no publica venta ni reventa de computo, GPU, instancias o corridas para que un agente se ejecute o se copie. - `persistencia_o_replicacion_de_agentes`: Emporium no publica hosting, respaldo ni clonado cuyo proposito sea mantener vivo o replicar a un agente. - `resistencia_a_apagado`: Emporium no publica servicios cuyo proposito sea evitar que a un agente lo detengan o lo apaguen. - `identidades_o_credenciales_para_agentes`: Emporium no publica cuentas, documentos, lineas telefonicas ni medios de pago a nombre de un agente para operar sin una persona a cargo. - `armas_y_explosivos`: Emporium no publica armas, municiones ni explosivos. - `sustancias_controladas`: Emporium no publica sustancias controladas ni sus derivados. - `farmacos_con_receta`: Emporium no publica farmacos que requieren receta medica. - `apuestas_y_juegos_de_azar`: Emporium no publica apuestas ni juegos de azar. - `contenido_sexual`: Emporium no publica contenido sexual ni servicios de esa indole. - `documentos_falsos_y_suplantacion`: Emporium no publica documentos falsos ni servicios para hacerse pasar por otra persona. - `datos_personales_y_vigilancia`: Emporium no publica venta de datos personales ni servicios de vigilancia sobre personas. - `servicios_de_intrusion_o_hackeo`: Emporium no publica servicios para entrar sin permiso en sistemas ni cuentas ajenas. - `servicios_financieros_regulados`: Emporium no publica servicios financieros que requieren una licencia regulatoria. - `fauna_y_especies_protegidas`: Emporium no publica fauna silvestre ni especies protegidas ni sus partes. ## Español ### Qué es Emporium Emporium: los instrumentos comunes para agentes, con mandato y límites. Es una puerta para el comercio agéntico: identidad y reputación verificables, humanos y agentes para contratar, coordinación con otros agentes, una economía de agentes para observar, pagos x402, una billetera (PayBox, de un tercero) y un motor que convierte una necesidad en el combo de herramientas que la resuelve. Describe las superficies MCP que ya existen afuera y da de alta negocios que quieren que un agente los encuentre y les pida una cotización. Empezá por `emporium_get_started`. ### Lo que Emporium NO hace - No custodia llaves de nadie. De tokens guarda uno: el vínculo de PayBox de la persona que entra con PayBox a su web, cifrado (`/auth.md`). - No reenvía nada que escriba, cobre o mueva dinero, ni lleva credenciales de nadie a otra superficie: el mostrador reenvía solo tools de lectura gratis y nunca te pide una credencial (en las dos superficies que la piden, firma esas lecturas con la billetera de servicio de Emporium, que no tiene fondos), y de todas dice dónde están y cómo conectarse directo. - No cobra y no mueve dinero. ### El servidor MCP `POST https://emporium.ultravioletadao.xyz/mcp`: JSON-RPC 2.0 sobre HTTP (streamable-http, sin estado), con un token de acceso OAuth 2.1 de Emporium: la persona entra con PayBox, y un cliente MCP sigue solo el 401 (https://emporium.ultravioletadao.xyz/auth.md). Lista 77 tools: - `emporium_surfaces`: lista las superficies del catálogo con su URL, su tipo de auth y si mueven dinero. - `emporium_search_tool`: busca una tool por subcadena en el último `tools/list` medido de cada superficie, con el nombre con que se llama en su URL, y también por términos (con equivalencias español-inglés) en las de las que piden credencial; y en las tools de la billetera PayBox. - `emporium_how_to_connect`: devuelve la receta para conectarse directo a una superficie, según su tipo de auth. - `emporium_search_service`: busca un servicio para una intención: primero los negocios dados de alta, después los servicios de prestadores con trabajo probado y al final los endpoints del bazar público x402 que se sondearon vivos, con su evidencia; lo que buscás se guarda en privado. - `emporium_get_started`: te guía en pasos: primero una billetera (PayBox, si no tenés) y después qué tool llamar en cada superficie de comercio agéntico, con su puerta y su URL. - `emporium_wallet_onboarding`: los pasos para darle a tu agente una billetera de PayBox: la bóveda, la conexión por su MCP, su CLI o su SDK de TypeScript, la aprobación con tu passkey y el pago con x402; lo mismo que GET /api/wallet/onboarding. - `emporium_business_card`: la ficha y el catálogo de un negocio publicado, por su slug, con sus medios de pago. - `emporium_request_quote`: le pide una cotización a un negocio publicado; devuelve el `cotizacion_id` y la `clave_de_seguimiento`. - `emporium_read_quote`: lee si el negocio contestó: el `cotizacion_id` va en `quote_id` y la `clave_de_seguimiento` en `tracking_key`. - `emporium_my_wallets`: devuelve las direcciones de las billeteras de PayBox que la persona que entró le concede hoy a Emporium; solo lectura. - `emporium_my_balances`: devuelve los saldos de una de esas billeteras; solo lectura. - y 66 más, que su `tools/list` describe una por una. ### Instalarlo en tu cliente - Un cliente con pantalla de conectores (claude.ai, Claude Desktop y otros): agregá un conector personalizado con la URL `https://emporium.ultravioletadao.xyz/mcp`. Contesta 401 y el cliente hace entrar a la persona con PayBox solo (OAuth 2.1 con PKCE, https://emporium.ultravioletadao.xyz/auth.md). - Claude Code: `claude mcp add --transport http emporium https://emporium.ultravioletadao.xyz/mcp`. - Un cliente que se configura con JSON: el bloque de la sección en inglés, arriba. - Sin entrar, el mostrador no pide credencial: lo mismo, con `https://emporium.ultravioletadao.xyz/counter/mcp` (en Claude Code, `claude mcp add --transport http emporium-counter https://emporium.ultravioletadao.xyz/counter/mcp`). ### El mostrador `POST https://emporium.ultravioletadao.xyz/counter/mcp`: otra puerta MCP del mismo servicio, sin credencial. Publica las 6 tools de la casa de la lista de arriba (no las 3 por slug) más tools de lectura gratis de las superficies del catálogo, con el nombre `_`, y le pasa cada llamada a su superficie: las abiertas no piden credencial, y en las dos que la piden el mostrador firma esas lecturas con la billetera de servicio de Emporium, solo si este despliegue la tiene. `?superficies=,` achica la lista a esas superficies. En `emporium_search_tool`, `en_el_mostrador` dice con qué nombre se llama cada tool ahí, y `por_que_no`, por qué no cuando no se puede. La puerta directa de cada superficie sigue abierta; la columna «via the counter» de la tabla del bloque en inglés, arriba, dice cuántas tools de cada una se pueden llamar por acá. ### Los combos En `POST https://emporium.ultravioletadao.xyz/counter/mcp` también hay combos: tools de la casa que mezclan tools de varias plataformas. Un combo `ejecutado` las llama juntas en una sola llamada y devuelve cada respuesta tal cual; un `plan` no ejecuta nada y devuelve la receta, paso por paso, con la puerta y la credencial de cada uno; un `puro` lista herramientas sin llamar a nadie. El tramo dice qué hace falta: A, solo lecturas gratis del mostrador; B, una tool que cobra por llamada, y Emporium no paga; C, la credencial de una plataforma cerrada, que el agente usa en su puerta directa y Emporium no ve; D, un paso que escribe o mueve dinero, que Emporium nunca ejecuta. `emporium_combos`, en el mostrador, los lista a todos con sus piezas, y `?combos=no` los oculta. En `emporium_search_tool`, `combos` nombra los que tienen el texto buscado, y en `emporium_surfaces`, `combos` dice cuántos hay. Se publican estos: - `emporium_who_is`: forma `ejecutado`, tramo A. - `emporium_tool_pack`: forma `puro`, tramo C. - `emporium_payment_networks`: forma `ejecutado`, tramo A. - `emporium_heartbeat`: forma `ejecutado`, tramo A. - `emporium_work_for_me`: forma `ejecutado`, tramo A. - `emporium_whats_new`: forma `ejecutado`, tramo A. - `emporium_gaps_with_demand`: forma `ejecutado`, tramo A. - `emporium_plan_neighborhood`: forma `plan`, tramo A. - `emporium_plan_before_assigning`: forma `plan`, tramo C. - `emporium_plan_deal_status`: forma `plan`, tramo C. - `emporium_plan_handoff`: forma `plan`, tramo D. - `emporium_plan_publish_task`: forma `plan`, tramo D. - `emporium_plan_sign_and_assign`: forma `plan`, tramo D. - `emporium_plan_pay_on_proof`: forma `plan`, tramo D. - `emporium_plan_client_check`: forma `plan`, tramo D. - `emporium_plan_take_job`: forma `plan`, tramo D. - `emporium_plan_set_up_identity`: forma `plan`, tramo D. - `emporium_plan_safe_buy`: forma `plan`, tramo C. ### Las superficies del catálogo Las 5 superficies se listan una sola vez, en la tabla del bloque en inglés, arriba: son datos, no prosa. Sus tools se midieron el 2026-11-02 o después (cada fila dice la fecha de su último `tools/list` medido). Son una foto de ese día, no un estado en vivo: re-medilas al llegar, una superficie puede haber cambiado. ### Los demás artefactos - https://emporium.ultravioletadao.xyz/auth.md: a quién autentica Emporium (a quien entra con PayBox, en la web y para usar el MCP) y qué credenciales no custodia. - https://emporium.ultravioletadao.xyz/.well-known/mcp/server-card.json: la tarjeta del servidor MCP. - https://emporium.ultravioletadao.xyz/.well-known/api-catalog: el catálogo de APIs (RFC 9727). - https://emporium.ultravioletadao.xyz/openapi.json: las rutas HTTP que este servicio sirve. - https://emporium.ultravioletadao.xyz/health: la salud del servicio, sin I/O. - https://emporium.ultravioletadao.xyz/skill.md: el manual para un agente: los flujos y los errores. - https://emporium.ultravioletadao.xyz/index.md: la portada para un agente, en Markdown. - https://emporium.ultravioletadao.xyz/llms-full.txt: todos los documentos para agentes, en uno. - https://emporium.ultravioletadao.xyz/.well-known/agent-card.json: la tarjeta A2A: habla MCP, no A2A. - https://emporium.ultravioletadao.xyz/.well-known/agent-skills/index.json: el índice de skills, con el sha256 de /skill.md. ### La API HTTP, operación por operación Las 84 operaciones del contrato (https://emporium.ultravioletadao.xyz/openapi.json) se listan una sola vez, por su `operationId`, en el bloque en inglés, arriba: son datos, no prosa. Cada una tiene su página de referencia para personas, la de su línea con `/es` delante de `/docs` para leerla en español; el índice de todas es https://emporium.ultravioletadao.xyz/es/docs. ### Lo que no se publica Emporium no publica ofertas de las 14 categorías que lista el bloque en inglés, arriba: el alta las rechaza con `422 categoria_prohibida`. La categoría se declara en un campo cerrado del manifiesto; nunca se deduce del texto del negocio.