← All integrations

OpenSea MCP server

24 operations0 webhooks

Read collections, NFTs, listings, offers and marketplace events, and search OpenSea's catalogue.

Try OpenSea with your agent

Connect OpenSea, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.

Using Corsair, show me what you can do in OpenSea on my account, then run one read-only example and show me the result.

Runs once, when you ask

OpenSea tools and triggers

Tools are what your agent can do in OpenSea through Corsair's MCP server. Triggers are the OpenSea events a routine can start from.

Collections

  • Floor PricesRead-only

    Floor price over time for one collection, as points carrying a float unix timestamp, a USD string and a token-unit price. Narrow with `timeframe`, and set how many points come back with `resolution`.

    collections.floorPrices

  • GetRead-only

    One collection by slug, with its contract addresses, links and NFT counts. The answer is a bare object, not an array, and an unknown slug is a 404.

    collections.get

  • HoldersRead-only

    Wallet addresses holding one collection, with each amount and its share of supply as a fraction (`0.0127` is 1.27%). Sort by quantity either way. This route pages with `cursor`, not `next`.

    collections.holders

  • ListRead-only

    Collections, paged with the returned `next` cursor. Filter by chain, creator or hidden status, and sort with `order_by`. OpenSea defaults the page size to 50.

    collections.list

  • StatsRead-only

    Volume, sales, owner count and floor price for one collection, as an all-time total plus per-interval rows.

    collections.stats

  • TopRead-only

    Collections ranked by a metric, `one_day_volume` by default. This route pages with `cursor`, which is the previous response’s `next`.

    collections.top

  • TrendingRead-only

    Collections ranked by momentum over a window, `one_day` by default. Same page shape as `collections.top`, and it pages with `cursor` too.

    collections.trending

Offers

  • AllRead-only

    Every active offer on a collection, paged with `next`, including trait and per-token offers. Filter by `maker` for one bidder. `offers.collection` gives only the collection-wide ones.

    offers.all

  • BestRead-only

    The highest active offer on one token in a collection, as a single order object. Answers an empty or 404 result when nobody has bid on that token.

    offers.best

  • CollectionRead-only

    Active collection-wide offers, paged with `next`. Same order shape as listings, with `remaining_quantity` for how much of the offer is unfilled.

    offers.collection

Accounts

  • GetRead-only

    One OpenSea profile by wallet address or username, with its display name, bio, follower counts and verification flag. `is_agent` is a self-declaration, not a check by OpenSea.

    accounts.get

  • PortfolioRead-only

    USD value of one wallet’s NFTs and tokens, with profit and loss over a timeframe. Every figure is a string. `pnl_absolute` and `pnl_percentage` are absent, not zero, when the account has no history.

    accounts.portfolio

Connect OpenSea to Claude, ChatGPT or Cursor

  1. 1

    Connect OpenSea in Corsair

    Add your OpenSea API key once in Corsair. Corsair stores the credential encrypted and makes the OpenSea API calls for your agent, so it never goes into a prompt or a config file. Connect OpenSea

    If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs OpenSea. On a ChatGPT personal plan, connect OpenSea here first.

  2. 2

    Add Corsair's MCP server to your agent

    Every client uses the same address:

    https://mcp.corsair.dev/mcp
    Open Customize → Connectors → Add custom connector, paste the address, then select Connect.

    Codex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client

  3. 3

    Sign in and choose what needs your approval

    Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. Every OpenSea operation only reads data, so it runs right away in every mode.

FAQ

Install corsair and @corsair-dev/opensea, add the OpenSea plugin, and connect with an API key. Then call methods like corsair.opensea.api.accounts.get() from your app. Corsair keeps each tenant isolated.

Yes. OpenSea requires an API key from your OpenSea account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.

Yes. One Corsair client can hit OpenSea, GitHub, Notion, Stripe, and the rest. Trigger OpenSea from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.

Teams use Corsair for read collections, NFTs, listings, offers and marketplace events, and search OpenSea's catalogue. Common builds include sync jobs, admin tooling, and agents that call OpenSea APIs from your backend.

The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per OpenSea API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.

We maintain @corsair-dev/opensea in the open repo. When OpenSea ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.

No. Corsair does not read your OpenSea data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store OpenSea data on your behalf.

Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.

Yes. Put OpenSea on a link in Strict mode and every write waits for your approval, while destructive actions are refused. Every OpenSea operation only reads data, so there are no changes to approve today. You can change a link's mode at hub.corsair.dev/me.