Skip to content

Publish and list the MCP servers on Smithery / Claude / Cursor with reproducible manifests #27

Description

@harrymove-ctrl

Context

docs/marketplace-listings.md has finished copy for Smithery, Claude Desktop, and Cursor, but submissions are pending, the repo isn't public, there is no machine-readable manifest (server.json / smithery.yaml), and the write toolset is clone-only — packages/mcp/package.json is "private": true with no bin. Only the hosted read MCP is npx/mcp-remote friendly. The roadmap §5/§6 calls for one-command install and registry manifests so listings are reproducible.

Goal / user story

As a developer discovering ContextMEM on Smithery/Claude/Cursor, I want to install it in one command and have the listing reflect the real, current tool set (the extract/recall/remember triad), so I can connect it to my agent in under a minute.

Acceptance criteria

  • packages/mcp is publishable as @contextmem/mcp (remove private: true, add a bin entry + build output) so npx @contextmem/mcp starts the local/write stdio server; env requirements (MEMWAL_*, TATUM_API_KEY, CONTEXTMEM_RUNS_DIR) are documented.
  • A server.json (MCP registry schema) and smithery.yaml are committed describing both the stdio (write) server and the hosted (read) URL server, listing the triad tools with descriptions.
  • The Claude/Cursor/Smithery install snippets in docs/marketplace-listings.md are verified against the live hosted URL and the new npx command; the hosted snippet keeps the Authorization: Bearer <read-token> header.
  • The share-page / Publish install snippet bug is fixed: private-namespace snippets must include --header Authorization: Bearer <read-token> (today's ShareMcpInstall omits it → silent 401); add a one-line note that public namespaces need no token.
  • A short docs/ install page (or section) documents both paths: hosted read via mcp-remote, full triad via npx @contextmem/mcp, with copy-paste blocks for Claude Desktop, Cursor, and Smithery.
  • Submission steps are captured but gated behind explicit human approval (per the existing note at the top of marketplace-listings.md); repo-public flip is a documented prerequisite, not done automatically.

Implementation notes

  • Touch packages/mcp/package.json (publish config, bin, build script — it currently only typechecks), add server.json + smithery.yaml at repo or package root, and update docs/marketplace-listings.md.
  • Reuse the install-snippet shape from PublishPanel (apps/web main.tsx:449-456) when fixing ShareMcpInstall (main.tsx:2028).
  • Smithery hosted URL is already https://contextmem-hosted-namespace-mcp.petlofi.workers.dev/mcp?namespace=<namespace>; verify it still resolves and that server.json points at it.
  • Gotcha: the write server needs Node (Tatum/tar/packProofBundle); make the npx package clearly the Node path and keep the hosted URL as the zero-install read path.
  • Do not change repo visibility or actually submit — leave those as a checklist for a human, matching the existing approval note.

Sui Overflow angle

Discoverability is how a hackathon project becomes ecosystem infrastructure: being installable from Smithery/Claude/Cursor lets any Sui agent builder pull in Walrus-backed context + Sui-anchored receipts with one command, amplifying the Sui-native story beyond the demo and seeding adoption of the extract/recall/remember triad as a reusable Nexus node.

Dependencies

Soft-depends on the canonical triad issue (listings should describe the triad). Independent of the on-chain receipt work.

Part of the ContextMEM roadmap (#4) • Sui Overflow build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Post-demo: distribution, polish, and reliabilitymcpModel Context Protocol servers and toolsonboardingUser and developer onboarding / first-run experienceplatformBackend platform plumbing: Worker, D1, queues, secrets, metering

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions