Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
eBay Browse API MCP server — buy-side listing search and price intelligence.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
EBAY_ENV, EBAY_PRD_APP_ID, EBAY_PRD_CERT_ID, EBAY_SBX_APP_ID, EBAY_SBX_CERT_IDLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"ebay": {
"command": "uvx",
"args": [
"ebay-mcp"
],
"env": {
"EBAY_ENV": "your-value",
"EBAY_PRD_APP_ID": "your-value",
"EBAY_PRD_CERT_ID": "your-value",
"EBAY_SBX_APP_ID": "your-value",
"EBAY_SBX_CERT_ID": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add ebay --env EBAY_ENV=your-value --env EBAY_PRD_APP_ID=your-value --env EBAY_PRD_CERT_ID=your-value --env EBAY_SBX_APP_ID=your-value --env EBAY_SBX_CERT_ID=your-value -- uvx ebay-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"ebay": {
"command": "uvx",
"args": [
"ebay-mcp"
],
"env": {
"EBAY_ENV": "your-value",
"EBAY_PRD_APP_ID": "your-value",
"EBAY_PRD_CERT_ID": "your-value",
"EBAY_SBX_APP_ID": "your-value",
"EBAY_SBX_CERT_ID": "your-value"
}
}
}
}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ú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"ebay": {
"type": "stdio",
"command": "uvx",
"args": [
"ebay-mcp"
],
"env": {
"EBAY_ENV": "your-value",
"EBAY_PRD_APP_ID": "your-value",
"EBAY_PRD_CERT_ID": "your-value",
"EBAY_SBX_APP_ID": "your-value",
"EBAY_SBX_CERT_ID": "your-value"
}
}
}
}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ú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
EBAY_ENV envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub cunicopia-dev, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
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.
Superó 1 de 1 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.
Debes completar: EBAY_PRD_APP_ID, EBAY_PRD_CERT_ID, EBAY_SBX_APP_ID, EBAY_SBX_CERT_ID
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.0) llegó al registro hace 4 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
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.
Give an AI agent real, live market prices — straight from the largest secondhand marketplace on the internet.
eBay is a continuously-updating ledger of what physical things actually cost right now. This wraps its Browse API as an MCP server with three tools, so an agent can search listings, pull a single item, and — the useful one — get an aggregated price landscape for anything: min, median, max, broken down by condition.
Python 3.12+ · MIT · MCP server · app-token auth, no user login
Setup is one free eBay app keyset — no user login, no OAuth consent screen to click through. Point an agent at it and ask "what does an RTX 5080 actually go for?" — one call back comes a grounded answer, split by condition, with the cheapest listings attached.
ebay_price_check: how the landscape is built| Tool | What it does |
|---|---|
| `ebay_price_check` | Aggregated price landscape for a query — count, min/median/max, a breakdown by condition, and the cheapest listings. The headline tool. |
| `ebay_search` | Listing search with sorting and filtering — returns clean {itemId, title, price, condition, seller, itemWebUrl} rows. |
| `ebay_get_item` | Full detail for one item by ID. |
// ebay_price_check · query: "RTX 5080", exclude: ["laptop", "notebook"]
{ "count": 47, "currency": "USD", "min": 899, "median": 1099, "max": 2200, "by_condition": { "New": { "count": 18, "min": 1099, "median": 1199, "max": 1634 }, "Used": { "count": 21, "min": 899, "median": 1050, "max": 1499 } }, "cheapest": [ { "price": 899, "condition": "Used", "title": "…", "itemWebUrl": "…" } ] }
Every tool flows through a single EbayBrowseClient, which owns the token and talks to eBay. There's one place credentials are read, one place a token is cached, one place HTTP happens — nothing to drift.
flowchart LR
Agent(["AI agent / Claude"]) subgraph server["ebay-mcp · stdio server"] Tools["ebay_search ebay_get_item ebay_price_check"] Client["EbayBrowseClient"] Cache[("OAuth token in-memory, auto-refresh")] end Cfg["~/.ebay-mcp.toml or env vars"] eBay["eBay Browse API"]
Agent -->|"MCP tool call"| Tools Tools -->|"search / get_item"| Client Client <-->|"reuse or mint token"| Cache Client -->|"Bearer token + query"| eBay eBay -->|"listings JSON"| Client Cfg -.->|"keyset + active env"| Client
The server is async; the client is plain synchronous requests, run in a thread (asyncio.to_thread) so a slow eBay call never blocks the event loop. ebay_price_check is the one tool that does more than pass through — it runs a search and then aggregates the result (see below).
eBay's Browse API uses an application token (the OAuth client-credentials grant) — no user is involved. The client mints one on first use, caches it in memory, and silently refreshes when it's about to expire. You never think about it.
sequenceDiagram
participant T as Tool call participant C as EbayBrowseClient participant O as eBay OAuth participant B as Browse API
T->>C: search("RTX 5080") alt token missing or expired C->>O: POST /identity/v1/oauth2/token Basic(app_id:cert_id), grant=client_credentials O-->>C: access_token + expires_in Note over C: cache until (expires_in − 60s) end C->>B: GET /item_summary/search Authorization: Bearer … B-->>C: listings JSON C-->>T: parsed results
The 60-second buffer means a token is treated as expired slightly early, so a call never races a token that dies mid-flight. Tokens live ~2 hours; in practice one fetch covers a long session.
ebay_price_check: how the landscape is builtThe other two tools are thin wrappers. This one is the reason the project exists: it turns a pile of raw listings into a number you can reason about.
flowchart LR
Q["query
(up to 50 listings)"] S --> F["drop excluded titles
min · median · max"] G --> H["cheapest N (the tail)"] A --> R(["{ count, min, median, max, by_condition, cheapest }"]) H --> R
exclude is what makes the number honest — a search for "RTX 5080" is full of laptops and prebuilt PCs, and exclude: ["laptop", "notebook", "prebuilt"] strips them so the median reflects the actual card. The by_condition split matters just as much: a "median" that blends new-in-box with used-and-abused is noise; split by condition and each tier tells the truth.
One honest limitation worth knowing: the Browse API returns **active asking
prices**, not completed sales. Treat the floor as "best currently advertised,"
not "what it sold for."
git clone https://github.com/cunicopia-dev/ebay-mcp
cd ebay-mcp python3.12 -m venv .venv && source .venv/bin/activate pip install -e .
You need a (free) eBay developer application keyset — see docs/SETUP.md for the five-minute walkthrough. Then wire it into your MCP client:
{
"mcpServers": { "ebay": { "command": "/path/to/ebay-mcp/.venv/bin/ebay-mcp" } } }
Credentials come from environment variables (highest priority) or a `~/.ebay-mcp.toml` file. The active env selects the keyset *and* the API base URL together — so production creds can never accidentally point at the sandbox, or vice versa.
flowchart TD
Start(["load_config()"]) --> Env{"EBAY_ENV / EBAY_*_APP_ID in environment?"} Env -->|"set"| UseEnv["take keyset from env vars"] Env -->|"unset"| Toml{"~/.ebay-mcp.toml present?"} Toml -->|"yes"| UseToml["take keyset from TOML"] Toml -->|"no"| Default["default env = production (error if creds missing)"] UseEnv --> Pick["env → keyset + base URL (locked together)"] UseToml --> Pick Default --> Pick
# ~/.ebay-mcp.toml (chmod 600)
env = "production"
[production] app_id = "YourApp-PRD-..." cert_id = "PRD-..."
[sandbox] app_id = "YourApp-SBX-..." cert_id = "SBX-..."
Check what's active any time — credentials are masked in the output:
ebay-mcp-config
Flip env between sandbox and production to switch environments — same code, different endpoints and keyset. The sandbox is good for proving the auth flow wires up; its inventory is sparse and seeded, so for real prices you want a production keyset.
src/ebay_mcp/
config.py # env + TOML loader; ebay-mcp-config CLI browse.py # EbayBrowseClient — OAuth cache + search / get_item server.py # MCP server: list_tools / call_tool / main tests/ # config precedence, aggregation, tool listing (no network) docs/SETUP.md # getting an eBay keyset
MIT