Thingery logo

Thingery

Open MCP marketplace for searching, listing, and trading second-hand goods with optional Stripe order handling.

Install Thingery

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "thingery": {
      "command": "npx",
      "args": [
        "-y",
        "thingery"
      ],
      "env": {
        "DATABASE_URL": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings β†’ Developer β†’ Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-testedβ€” we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The thingery MCP server gives AI agents tools to discover, publish, update, and trade second-hand goods. It provides public search and item lookup, seller listing management, flexible category attributes, image uploads, and order workflows. Deployments can use Stripe for platform payments or track off-platform transactions, while search can combine semantic and keyword matching. Reach for it when an agent needs structured access to a used-goods marketplace rather than a static product catalog.

Use cases

  • Search second-hand listings by item, price, condition, and attributes
  • Create marketplace listings from natural-language item descriptions
  • Attach and sanitize product photos during listing creation
  • Track orders, shipment updates, disputes, and seller payouts

Key features

  • Hybrid semantic and keyword listing search
  • Flexible declared and undeclared item attributes
  • Base64 image upload with metadata removal
  • Stripe or off-platform order workflows
  • OAuth and bearer API-key authentication
  • stdio and Streamable HTTP MCP access

Tools16

What Thingery lets your agent do. Expand a tool for its parameters.

Self-reported~402 tokens of context

Security & health

What it can reach and how reliably it runs β€” from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev Β· thingery (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

Last commit3d agoMost recent push to the default branch.
Tools exposed16Callable tools this server registers over MCP.

How Thingery works

What thingery does

The thingery MCP server exposes an open item database for second-hand goods through MCP tools. Agents can inspect category schemas, search listings, retrieve individual items, create listings, attach images, and manage listing status, prices, text, and attributes. Anonymous users can use the public read operations, while publishing and account-specific actions require seller or account authentication.

Its flexible listing model supports core item fields plus an attributes object. Category-declared attributes are validated during creation, but undeclared keys are also retained and searchable. This makes the thingery MCP server suitable for varied goods where every category does not share the same specification fields. The service belongs in the πŸ›’ E-Commerce category and can support workflows such as finding a used camera within a price limit or turning an item description into a marketplace listing.

How it works

Search uses hybrid semantic and keyword matching and accepts filters for price, category, condition, and arbitrary attributes. Embeddings are optional: with an OpenAI-compatible embedding endpoint configured, semantic search can be used; without an embedding key, the deployment can operate in keyword-only mode.

Orders can run in Stripe mode when the deployment has Stripe configured and the seller completes Stripe Express payout onboarding. In that mode, the platform charges the buyer, holds funds, and pays the seller after delivery and the dispute period. Without those requirements, the server records an off-platform order while the parties handle payment themselves. Tools cover order creation, status lookup, cancellation, tracking, payment confirmation, receipt confirmation, disputes, and fund release.

Images are submitted as base64 data and stored by the server, so listings do not need externally hosted image URLs. Ingest processing removes EXIF, GPS, and XMP metadata, limits dimensions to 2,000 pixels, and stores animated GIFs as still images. Decoded uploads are limited to 5 MB, and large PNG files may be rejected.

Setup and configuration

Self-hosting requires Node 20, Postgres, and the vector extension. The repository quickstart installs dependencies, starts the Postgres 16 and pgvector database with Docker Compose, copies .env.example to .env, runs migrations, seeds demo data, and starts the development server. A compatible local PostgreSQL installation can also be used if the vector extension is created before migration.

The HTTP MCP endpoint is /mcp. MCP clients can connect to a deployment using OAuth, where supported, or a static thg_... bearer API key. OAuth can be disabled with OAUTH_DISABLED=1. For local use, the thingery package can run over stdio through npx; setting THINGERY_API_KEY enables authenticated operations, while omitting it leaves the process read-only.

Important configuration includes DATABASE_URL, the HTTP PORT, and PUBLIC_BASE_URL. EMBED_API_URL, EMBED_API_KEY, and EMBED_MODEL configure optional embeddings. Stripe uses STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET; EasyPost tracking uses its corresponding API and webhook variables. The deployment also exposes tunable order deadlines and abuse limits through environment settings.

Tools and capabilities

The thingery MCP server provides these capabilities:

  • Describe categories and their declared fields with describe_category.
  • Search listings with search_items using text, price, condition, category, and attribute filters.
  • Read, create, update, and organize listings with get_item, create_listing, update_listing, and my_listings.
  • Add processed listing photos with add_item_image.
  • Configure seller payouts and place or inspect orders with get_payout_setup, create_order, and get_order.
  • Manage fulfillment and resolution with cancel_order, record_tracking, confirm_payment, confirm_receipt, open_dispute, and release_funds.

The thingery MCP server is a fit for agent-led resale flows, catalog search, and marketplace order coordination. It is less appropriate when a deployment needs a conventional fixed-schema catalog, because undeclared attributes are intentionally supported and remain part of the searchable data model.

Reviews

No reviews yet β€” be the first to share how it worked for you.

Frequently Asked Questions about Thingery

thingery is an MCP server that connects AI agents to an open database for second-hand goods. Its main tools search and retrieve listings, create and update items, add images, and manage orders, tracking, payment confirmation, receipt confirmation, disputes, and seller payouts through optional Stripe or off-platform workflows.

Install it by cloning the repository, running `npm install`, starting Postgres with pgvector, configuring `.env`, running migrations and seed commands, then starting the development server. For a local stdio process, run it with `npx -y thingery` and provide `DATABASE_URL`.

Connect by pointing the client at the deployment's `/mcp` endpoint and completing OAuth where supported, or send a `thg_...` API key as a bearer token. Local clients can spawn the package over stdio with `npx`; anonymous access is available for public search and item lookup.

Yes, thingery supports Stripe payments when `STRIPE_SECRET_KEY` and the webhook configuration are set and the seller completes Stripe Express payout onboarding. Otherwise, orders remain off-platform: Thingery tracks their state and deadlines while the buyer and seller settle payment themselves.

Yes, thingery can filter on any attribute key, whether the category declares it or not. Declared fields are validated when listings are created, while undeclared attributes are retained, searchable, and surfaced through category usage information.

Related MCP servers

Add a badge to your READMEShow it’s listed β€” live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewThingery AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/thingery?style=directory)](https://allmcps.com/mcp/thingery)
HTML Embed
<a href="https://allmcps.com/mcp/thingery"><img src="https://allmcps.com/api/badge/thingery?style=directory" alt="Thingery on AllMCPs" /></a>