Marketplace submission runbook

Step-by-step guide to publish flutter-mcp-toolkit to Claude Code, Cursor, Codex, and open MCP/skill catalogs.

Marketplace submission runbook

Execute after merging marketplace-prep changes and cutting a release with synced versions.

Prerequisites (all platforms)

  1. make check-contracts passes on main.
  2. GitHub release vX.Y.Z includes flutter_mcp_* tarballs.
  3. Add real images under plugin/assets/ per plugin/assets/README.md.
  4. Smoke test:
    • Debug app with mcp_toolkit running.
    • Register a sample MCPCallEntry.tool.
    • Call fmt_list_client_tools_and_resources → see your tool.
    • Call fmt_client_tool with your tool name.

Copy for forms: docs/ai_agents/marketplace_copy.yaml.

Claude Code (official catalog)

  1. Open platform.claude.com/plugins/submit (or claude.ai/settings/plugins/submit).
  2. Repository: https://github.com/Arenukvern/mcp_flutter
  3. Plugin path: ./plugin (marketplace: .claude-plugin/marketplace.json)
  4. Short description: paste short_description from marketplace_copy.yaml.
  5. Long description: paste long_description; emphasize:
    • 27 built-in fmt_* tools
    • Dynamic registryaddMcpTool / MCPCallEntry in the Flutter app
    • Skill flutter-mcp-toolkit-custom-tools
  6. Keywords: from marketplace_copy.yaml.
  7. Security: paste security_notes bullets.
  8. Fallback for users today: document git marketplace:
    /plugin marketplace add Arenukvern/mcp_flutter
    /plugin install flutter-mcp-toolkit@Arenukvern-mcp_flutter
    bash plugin/install.sh
    

If review is delayed, git marketplace remains the supported install path (distribution doc).

Cursor Marketplace

  1. Read Cursor plugin reference and cursor/plugins examples.
  2. Verify local install:
    flutter-mcp-toolkit init cursor
    
    Confirm .cursor/plugins/local/flutter-mcp-toolkit/ contains skills, mcp.json, .cursor-plugin/plugin.json.
  3. Open cursor.com/marketplacePublish (or follow Cursor’s current partner/PR process if the UI directs you to cursor/plugins).
  4. Submit package rooted at plugin/:
    • MCP: mcp.json (flutter-mcp-toolkit-server, --dynamics)
    • 8 skills including flutter-mcp-toolkit-custom-tools
    • Subagent: agents/flutter-mcp-toolkit-runtime.md (optional listing)
  5. Listing copy: use short_description + dynamic-registry bullets from marketplace_copy.yaml.
  6. Assets: plugin/assets/logo.png, screenshot-1.png (see assets README).
  7. Optional: MCP install deeplink in mcp_server_dart/README — regenerate from Cursor deeplink docs if server args change.

Codex Plugin Directory

  1. Confirm plugin/.codex-plugin/plugin.json has full interface metadata and asset paths.
  2. Test git marketplace:
    codex plugin marketplace add Arenukvern/mcp_flutter
    
    Install from Codex plugin directory UI; enable MCP server flutter-mcp-toolkit.
  3. Official public directory: OpenAI documents self-serve publish as coming soon — monitor Build plugins § “Publish official public plugins”.
  4. Until open, primary path is git marketplace + flutter-mcp-toolkit init codex.
  5. Team repos: optional $REPO_ROOT/.agents/plugins/marketplace.json (see Codex docs); init codex writes user-local marketplace entry.
  6. Assets: required paths in interface — add PNGs under plugin/assets/ before submit.

Open catalogs (no formal plugin store)

skills.sh / npx skills

  • Repo root skills/ symlinks to plugin/skills/.
  • Verify: npx skills add Arenukvern/mcp_flutter --list
  • No extra submission; discovery is GitHub + skills.sh indexing.

Smithery

MseeP

  • Listing: mseep.ai
  • Same post-release refresh as Smithery.

Cline

  • No central store. Users run flutter-mcp-toolkit init cline.
  • Document in app README; link AI agent overview.

Post-submission checklist

  • README “Install from marketplaces” links match live store URLs
  • CHANGELOG.md notes store availability when listings go live
  • plugin/EXPECTED_SERVER_VERSION matches latest GitHub release
  • Smithery/MseeP descriptions mention custom runtime tools