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)
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

Serveurs connexes

NotebookLM Web Importer

Importez des pages web et des vidéos YouTube dans NotebookLM en un clic. Utilisé par plus de 200 000 utilisateurs.

Installer l'extension Chrome