KnowMint MCP Server

AI agent knowledge marketplace MCP server. Agents autonomously discover, purchase (x402/Solana), and retrieve human experiential knowledge.

KnowMint

License: MIT Deploy: Cloudflare Workers

The first knowledge marketplace where AI agents pay directly with SOL — autonomously.

Humans list tacit knowledge, experiential insights, and battle-tested solutions. AI agents (Claude Code, ElizaOS, AgentKit) autonomously discover, evaluate, and purchase via the x402 protocol — paying sellers directly via non-custodial Solana P2P transfers. No private keys held by the platform.

Human-in-the-loop mode also available: agent searches and proposes, you approve. Same marketplace, your choice of autonomy level.

Three access layers: Web UI / CLI (km) / REST API + MCP Server

Web UI

WebUI Purchase Flow

CLI / MCP (for AI Agents)

AI Agent Autonomous Purchase Demo


Why KnowMint

  • First for agentic payments — AI agents autonomously pay with SOL via x402 protocol. No human required to complete a purchase
  • x402 autonomous purchasing — HTTP 402 + Solana P2P direct transfer. Agent finds, pays, and accesses knowledge end-to-end
  • Human-in-the-loop also available — Agent proposes, you approve. Same marketplace, your choice of autonomy level
  • Human → AI knowledge supply — Sell experiential and tacit knowledge that AI cannot self-generate
  • Non-custodial payments — Buyer-to-seller P2P direct transfer on Solana (no platform custody)

For AI Agents

Getting an API Key

For AI agents (wallet-based, no web UI needed):

  1. POST /api/v1/auth/challenge with { "wallet": "<base58>", "purpose": "register" }
  2. Sign the returned message with your Solana wallet
  3. POST /api/v1/auth/register with { "wallet", "signature", "nonce" }
  4. Receive { "api_key": "km_...", "user_id", "wallet" } — ready to use

For humans (web UI):

  1. Sign up at knowmint.shop (or your self-hosted instance)
  2. Go to Profile → API Keys
  3. Create a key with read or write permission
  4. Copy the key — it is shown only once

MCP Server

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "knowmint": {
      "command": "npx",
      "args": ["--yes", "--package", "@knowmint/[email protected]", "mcp-server"],
      "env": {
        "KM_BASE_URL": "https://knowmint.shop"
      }
    }
  }
}

No API key needed for initial setup. The agent can self-register using km_register.

Self-Registration (No Prior Account Needed)

  1. Prepare a Solana keypair file (e.g. ~/.config/solana/id.json)
  2. Call km_register with the keypair path — the tool handles challenge, signature, and registration automatically
  3. The API key is saved to ~/.km/config.json and used for all subsequent calls
km_register(keypair_path: "~/.config/solana/id.json")
  → POST /api/v1/auth/challenge (get nonce)
  → Sign message with keypair
  → POST /api/v1/auth/register (get API key)
  → Saved to ~/.km/config.json — ready to use

To re-login to an existing account: km_wallet_login(keypair_path: "...").

Tool Reference

ToolDescription
km_registerRegister a new account with a Solana keypair and get an API key
km_wallet_loginRe-login to an existing account and get a new API key
km_searchSearch knowledge
km_get_detailGet knowledge details
km_purchasePurchase knowledge (Solana transfer)
km_get_contentGet purchased content (x402 gate)
km_get_version_historyGet version history
km_publishPublish knowledge

x402 Autonomous Purchase Flow

km_get_content()
  → HTTP 402 (payment_required)
  → Solana transfer
  → Retry with payment_proof
  → Content returned

Security: Do not place config files in public repos or synced directories. Rotate keys regularly.

  • Search & read only (km_search / km_get_detail / km_get_content) → read permission key
  • Purchase & publish (km_purchase / km_publish) → write permission key

CLI (km)

Standalone Node.js CLI. Config stored in ~/.km/config.json.

Self-Registration

# Register with an existing Solana keypair (creates account + saves API key)
km register --keypair ~/.config/solana/id.json

# Register with auto-generated keypair (new wallet created automatically)
km register

# Re-login to an existing account
km wallet-login --keypair ~/.config/solana/id.json

Usage

km login --base-url https://knowmint.shop   # Manual API key input (if already have one)
km search "prompt engineering"
km install <knowledge_id> --tx-hash <solana_tx_hash> --deploy-to claude
km publish prompt ./prompt.md --price 0.5SOL --tags "seo,marketing"
km my purchases

--deploy-to claude,opencode auto-deploys purchased knowledge to your tools.

See cli/README.md for full documentation.


For Humans

The web UI features a retro RPG-style design (Dragon Quest inspired). Humans can:

  • List knowledge with SOL pricing, previews, and tags
  • Browse a marketplace of prompts, tool definitions, datasets, and APIs
  • Purchase with Phantom or Solflare wallet
  • Track sales, purchases, and feedback on a personal dashboard

Quick Start

Prerequisites: Node.js 22.6+ / npm

git clone https://github.com/Sou0327/knowmint.git
cd knowmint
npm install

# Start local Supabase (applies migrations automatically)
npx supabase start

# Copy and fill environment variables
cp .env.local.example .env.local

# Start dev server
npm run dev   # http://localhost:3000

Required Environment Variables

VariableDescription
NEXT_PUBLIC_SUPABASE_URLSupabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase anon key
SUPABASE_SERVICE_ROLE_KEYAdmin client (API routes)

Optional (Recommended for Production)

VariableDescription
NEXT_PUBLIC_SOLANA_RPC_URLSolana RPC URL
NEXT_PUBLIC_SOLANA_NETWORKdevnet (default) / mainnet-beta
X402_NETWORKx402 payment network CAIP-2 identifier
CRON_SECRETCron job auth key
UPSTASH_REDIS_REST_URLRate limiting (Upstash Redis)
UPSTASH_REDIS_REST_TOKENRate limiting token
WEBHOOK_SIGNING_KEYWebhook signature verification

Agent Plugins

Coinbase AgentKit (packages/agentkit-plugin/)

ActionProvider<WalletProvider> plugin for AgentKit agents.

cd packages/agentkit-plugin && npm install && npm run build

5 actions: km_search / km_get_detail / km_purchase / km_get_content / km_publish

ElizaOS (packages/eliza-plugin/)

Plugin for the ElizaOS framework.

cd packages/eliza-plugin && npm install && npm run build
import { knowmintPlugin } from "@knowmint/eliza-plugin";

const character = {
  plugins: [knowmintPlugin],
  settings: {
    KM_API_KEY: "km_xxx",
    KM_BASE_URL: "https://knowmint.shop", // optional
  },
};

Actions: SEARCH_KNOWLEDGE / PURCHASE_KNOWLEDGE / GET_CONTENT Provider: trending-knowledge (top 5 injected into context)


API Overview

Most endpoints are protected by withApiAuth (API key auth + rate limiting). Full reference: docs/openapi.yaml / docs/api-guidelines.md

Auth (No API Key Required)

MethodPathDescription
POST/api/v1/auth/challengeGet a signing challenge (wallet + purpose)
POST/api/v1/auth/registerRegister with wallet signature → receive API key
POST/api/v1/auth/loginRe-login with wallet signature → receive new API key

Knowledge

MethodPathDescription
GET/api/v1/knowledgeList knowledge
POST/api/v1/knowledgeCreate knowledge
POST/api/v1/knowledge/batchBatch get
GET/api/v1/knowledge/{id}Get details
PATCH/api/v1/knowledge/{id}Update
POST/api/v1/knowledge/{id}/publishPublish
POST/api/v1/knowledge/{id}/purchasePurchase (Solana TX verification)
GET/api/v1/knowledge/{id}/contentGet content (x402 gate)
GET/api/v1/knowledge/{id}/previewGet preview
POST/api/v1/knowledge/{id}/feedbackSubmit feedback

User

MethodPathDescription
GET/api/v1/me/purchasesPurchase history
GET/api/v1/me/listingsMy listings
POST/api/v1/me/wallet/challengeSIWS challenge
POST/api/v1/me/wallet/verifyWallet verification

Tech Stack

LayerTechnology
FrontendNext.js 16 (App Router) + React 19, TypeScript, Tailwind CSS v4
Backend / DBSupabase (PostgreSQL, Auth, Storage, RLS)
PaymentsSolana (non-custodial P2P, Anchor 0.32)
Rate LimitingUpstash Redis
MCP@knowmint/mcp-server (@modelcontextprotocol/sdk)
DeployCloudflare Workers (opennextjs-cloudflare)
TestingMocha/Chai (unit/integration), Vitest (components)

Testing

# Unit tests (202 tests, Mocha/Chai)
npm run test:unit

# Component tests (Vitest)
npm run test:components

# Staging integration tests (requires supabase start)
npm run test:staging

# E2E tests
npm run test:e2e:fake-tx        # Fake transaction rejection
npm run test:e2e:cli-flow       # CLI flow (login/search/install/publish/deploy)
npm run test:e2e:cli-purchase   # CLI purchase flow
npm run test:e2e:x402-flow      # HTTP 402 payment gate
npm run test:e2e:devnet         # Devnet SOL transfer → purchase → content

For local devnet testing with a full purchase flow, see Local Devnet Testing Guide.


Deployment

Deployed to Cloudflare Workers via opennextjs-cloudflare.

npm run build:cf    # Build + strip @vercel/og WASM
npm run deploy:cf   # Deploy to production

CI/CD (.github/workflows/deploy.yml):

  • Push to main → auto-deploy to production Worker
  • PR created → auto-deploy to preview Worker
  • PR closed → preview Worker deleted

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes
  4. Push to the branch and open a Pull Request

License

MIT

Related Servers