Skip to content

feat: add OpenSea plugin for swaps, marketplace, and drops#67

Open
CodySearsOS wants to merge 2 commits into
base:masterfrom
CodySearsOS:add-opensea-skill-2
Open

feat: add OpenSea plugin for swaps, marketplace, and drops#67
CodySearsOS wants to merge 2 commits into
base:masterfrom
CodySearsOS:add-opensea-skill-2

Conversation

@CodySearsOS
Copy link
Copy Markdown

No description provided.

devin-ai-integration Bot and others added 2 commits June 2, 2026 10:49
Adds OpenSea as a hybrid plugin for Base MCP covering:
- Token swaps via cross-chain DEX aggregator
- NFT drops/minting with direct calldata mapping
- NFT marketplace trading (buy, sell, cross-chain fulfill)

Uses CLI-first pattern (like Morpho/Avantis) with OpenSea MCP
fallback for read operations on no-shell surfaces. All endpoints
require API key - agent self-provisions via POST /api/v2/auth/keys.

Also adds OpenSea to the native plugins table in SKILL.md.

Co-Authored-By: cody.sears@opensea.io <cody.sears@opensea.io>
Restructures the OpenSea plugin to match the standardized plugin spec:
- Full YAML frontmatter (tags, name, version, integration, chains,
  requires, auth, risk)
- Canonical section names and ordering (Overview, Detection,
  Installation, Auth, Surface Routing, Commands, Orchestration,
  Submission, Example Prompts, Risks & Warnings, Notes)
- Separate Submission section naming send_calls with exact mappings
- Risks & Warnings with per-tag hazard/guardrail bullets
- Verified CLI commands and MCP tool params against latest
  opensea-devtools skill

Co-Authored-By: cody.sears@opensea.io <cody.sears@opensea.io>
@cb-heimdall
Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

Copy link
Copy Markdown
Collaborator

@stephancill stephancill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the submission. The plugin is well-structured and the Seaport fulfillment path maps into send_calls. A couple of correctness issues need to be addressed before merge:

Required

  • Revert the SKILL.md plugins-table row. Plugins shouldn't add themselves to the registry — maintainers will register them when the program is ready. Limit the PR to plugins/opensea.md plus the net-new tag-vocabulary additions noted below.
  • requires.allowlist is [], but the plugin makes direct HTTPS calls to api.opensea.io and uses the OpenSea MCP at mcp.opensea.io. Add both hosts so chat-only surfaces can reach them.
  • The REST fulfillment path returns decoded input_data (a struct) plus a function signature — not hex calldata. The documented curl POST /listings/fulfillment_data -> send_calls path therefore requires ABI-encoding fulfillAdvancedOrder before send_calls. Either document the encoding step explicitly, or restrict fulfillment to the CLI path (which encodes internally).

Minor

  • Tags nft, marketplace, drops are net-new; add them to the shared vocabulary list in skills/base-mcp/references/plugin-spec.md (the tags entry under "Choosing each field's value"), as the spec instructs when introducing a new tag.
  • cliPackage should be the full invocation (npx @opensea/cli@latest).
  • Free-tier rate limits are stated as 120/60/60; the API returns 60/5/5. Key creation via POST /api/v2/auth/keys is additionally limited to 1 key/hour, so on-demand minting will fail on repeat — document this.
  • get_collection_stats is stale relative to the live MCP tool catalog; verify tool names against the catalog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants