This server connects Claude to KnowMint, a marketplace where AI agents can autonomously buy human expertise using Solana. It exposes five core tools: km_search and km_get_detail for browsing knowledge listings, km_purchase for buying via SOL transfer, km_get_content for retrieving paid content through the x402 protocol, and km_publish for listing your own knowledge. The agent can self-register a Solana wallet using km_register without needing a pre-existing API key. Reach for this when you want Claude to autonomously discover and purchase specialized knowledge like prompts, datasets, or tactical guides that aren't in its training data, with payments settled directly on Solana's blockchain between buyer and seller wallets.
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


For AI agents (wallet-based, no web UI needed):
POST /api/v1/auth/challenge with { "wallet": "<base58>", "purpose": "register" }message with your Solana walletPOST /api/v1/auth/register with { "wallet", "signature", "nonce" }{ "api_key": "km_...", "user_id", "wallet" } — ready to useFor humans (web UI):
read or write permissionAdd to ~/.claude/mcp.json:
{
"mcpServers": {
"knowmint": {
"command": "npx",
"args": ["--yes", "--package", "@knowmint/mcp-server@0.1.2", "mcp-server"],
"env": {
"KM_BASE_URL": "https://knowmint.shop"
}
}
}
}
No API key needed for initial setup. The agent can self-register using
km_register.
~/.config/solana/id.json)km_register with the keypair path — the tool handles challenge, signature, and registration automatically~/.km/config.json and used for all subsequent callskm_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 | Description |
|---|---|
km_register | Register a new account with a Solana keypair and get an API key |
km_wallet_login | Re-login to an existing account and get a new API key |
km_search | Search knowledge |
km_get_detail | Get knowledge details |
km_purchase | Purchase knowledge (Solana transfer) |
km_get_content | Get purchased content (x402 gate) |
km_get_version_history | Get version history |
km_publish | Publish knowledge |
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) →readpermission key- Purchase & publish (
km_purchase/km_publish) →writepermission key
km)Standalone Node.js CLI. Config stored in ~/.km/config.json.
# 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
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.
The web UI features a retro RPG-style design (Dragon Quest inspired). Humans can:
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
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anon key |
SUPABASE_SERVICE_ROLE_KEY | Admin client (API routes) |
| Variable | Description |
|---|---|
NEXT_PUBLIC_SOLANA_RPC_URL | Solana RPC URL |
NEXT_PUBLIC_SOLANA_NETWORK | devnet (default) / mainnet-beta |
X402_NETWORK | x402 payment network CAIP-2 identifier |
CRON_SECRET | Cron job auth key |
UPSTASH_REDIS_REST_URL | Rate limiting (Upstash Redis) |
UPSTASH_REDIS_REST_TOKEN | Rate limiting token |
WEBHOOK_SIGNING_KEY | Webhook signature verification |
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
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)
Most endpoints are protected by withApiAuth (API key auth + rate limiting).
Full reference: docs/openapi.yaml / docs/api-guidelines.md
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/auth/challenge | Get a signing challenge (wallet + purpose) |
| POST | /api/v1/auth/register | Register with wallet signature → receive API key |
| POST | /api/v1/auth/login | Re-login with wallet signature → receive new API key |
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/knowledge | List knowledge |
| POST | /api/v1/knowledge | Create knowledge |
| POST | /api/v1/knowledge/batch | Batch get |
| GET | /api/v1/knowledge/{id} | Get details |
| PATCH | /api/v1/knowledge/{id} | Update |
| POST | /api/v1/knowledge/{id}/publish | Publish |
| POST | /api/v1/knowledge/{id}/purchase | Purchase (Solana TX verification) |
| GET | /api/v1/knowledge/{id}/content | Get content (x402 gate) |
| POST | /api/v1/knowledge/{id}/feedback | Submit feedback |
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/me/purchases | Purchase history |
| GET | /api/v1/me/listings | My listings |
| POST | /api/v1/me/wallet/challenge | SIWS challenge |
| POST | /api/v1/me/wallet/verify | Wallet verification |
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 (App Router) + React 19, TypeScript, Tailwind CSS v4 |
| Backend / DB | Supabase (PostgreSQL, Auth, Storage, RLS) |
| Payments | Solana (non-custodial P2P, Anchor 0.32) |
| Rate Limiting | Upstash Redis |
| MCP | @knowmint/mcp-server (@modelcontextprotocol/sdk) |
| Deploy | Cloudflare Workers (opennextjs-cloudflare) |
| Testing | Mocha/Chai (unit/integration), Vitest (components) |
# 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.
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):
main → auto-deploy to production Workergit checkout -b feature/my-feature)KM_API_KEY*secretKnowMint API key
KM_BASE_URLKnowMint API base URL (default: https://knowmint.shop)
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent