@cobbee-mcp/server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@cobbee-mcp/serversend a $2 coffee to @vitalik"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@cobbee-mcp/server
MCP (Model Context Protocol) server for Cobbee — Enable AI agents to manage profiles, sell products, and make USDC payments to creators using the x402 payment protocol.
🔒 SECURITY FIRST — READ BEFORE INSTALLING
This MCP manages a crypto wallet with real funds. Losing access or leaking credentials can result in permanent, irreversible loss of funds.
Before You Start
Understand: There is no "forgot password" in crypto. Lose the passphrase → lose the funds. Forever.
Understand: Leak the seed phrase → anyone who sees it can drain your wallet.
Understand: AI agents are the #1 source of leaked credentials. Bots scan GitHub in real-time.
Non-Negotiable Rules
Use a strong passphrase — minimum 12 characters, random, stored in a password manager. NOT your email password.
Back up the seed phrase offline — write it on paper, store it in a safe. NEVER photograph it, screenshot it, or paste it into a chat.
Use a dedicated wallet with limited funds — never your main wallet. Fund only what you're willing to lose (e.g., $50-$500 for agent operations).
Never commit credentials to Git —
.env, wallet files, API keys. If you see it in a diff, STOP.Test on Base Sepolia first — before any mainnet transaction.
⚠️ If you are not comfortable with these rules, do not proceed. Use the MCP on a test wallet until you fully understand the security model.
Related MCP server: pay-mcp
Overview
This MCP server allows AI assistants like Claude to interact with Cobbee. It uses:
OWS (Open Wallet Standard) — secure wallet management. Private key is encrypted at rest (scrypt + AES-256-GCM) and never exposed to the MCP process.
SIWA (Sign-In With Agent) — ERC-8004 agent authentication.
x402 protocol — HTTP payments in USDC on Base.
Your private key lives in the OWS vault, not in environment variables or config files. The MCP receives an API token (ows_key_...) which is a scoped, revocable capability — not the key itself.
Features
Send Coffee: Tip creators with USDC on Base network
Buy Products: Purchase digital products from creators
Create Profile: Register as a creator on Cobbee
Update Profile: Edit bio, social links, coffee price
Create Products: List digital products in your shop
Update Products: Edit product details, activate/deactivate
Delete Products: Remove products from your shop
Search Creators: Find creators by name or username
Get Creator Profile: View detailed creator information
List Products: Browse available products
Agent Stats: View your agent statistics
Wallet Management: Check balance and address
Prerequisites
Node.js >= 20.0.0
OWS CLI installed
An OWS wallet with USDC on Base network
ERC-8004 agent registration on Base (for authenticated actions like profile/product management)
Installation
Option 1: Install from npm (recommended)
npm install -g @cobbee-mcp/serverOption 2: Build from source
git clone https://github.com/0xmonas/cobbee.git
cd cobbee/cobbee-mcp
pnpm install
pnpm buildSetup — Full Walkthrough
Follow these steps in order. Each step has a security note — read it.
Step 1 — Install OWS
curl -fsSL https://docs.openwallet.sh/install.sh | bashStep 2 — Create an Encrypted Wallet
ows wallet create --name cobbee-agent
# → Prompts for passphrase🔒 Passphrase rules:
Minimum 12 characters, random (password manager generated)
Do NOT reuse a password from another service
Do NOT use personal information (birthdays, names)
If you forget this passphrase, your funds are permanently lost
The wallet is encrypted with scrypt + AES-256-GCM. The private key never touches disk in plaintext.
Step 3 — BACK UP YOUR SEED PHRASE NOW
ows wallet export --wallet cobbee-agent
# → Prompts for passphrase, displays mnemonic🔒 Seed phrase rules:
Write it on paper, store it in a safe or safety deposit box
NEVER take a photograph or screenshot
NEVER paste it into a chat, email, cloud note, or password manager
NEVER type it into any website
Test recovery: delete a throwaway wallet and restore from the phrase to verify your backup works
This is the only way to recover your funds if you lose the passphrase or your machine. It is also the only way an attacker can steal your funds.
Step 4 — Create a Policy + API Key
Instead of using the passphrase directly (which would unlock everything), create a scoped API key with a policy.
# Recommended policy for Cobbee MCP: Base chain only, expires in 1 year
cat > ~/cobbee-policy.json << 'EOF'
{
"id": "cobbee-mcp-policy",
"name": "Cobbee MCP — Base mainnet only",
"version": 1,
"rules": [
{ "type": "allowed_chains", "chain_ids": ["eip155:8453"] },
{ "type": "expires_at", "timestamp": "2026-12-31T23:59:59Z" }
],
"action": "deny"
}
EOF
ows policy create --file ~/cobbee-policy.json
ows key create --name cobbee --wallet cobbee-agent --policy cobbee-mcp-policy
# → Outputs: ows_key_a1b2c3d4... (shown ONCE — save it securely)🔒 API key rules:
Save the
ows_key_...token in a password manager, not a plain text fileThis token is a scoped capability — it can only sign for the chains and timeframes allowed by the policy
If compromised, revoke immediately:
ows key revoke --id <key-id>Revoking the key does NOT affect your wallet or other API keys
Why a policy? Without a policy, anyone with the token could sign anything on any chain. With the policy above, the token can only sign for Base mainnet and expires in 1 year. See OWS policy engine docs for advanced rules (recipient allowlists, amount caps, custom scripts).
Step 5 — Register on ERC-8004
Required for create_profile, update_profile, create_product, update_product, delete_product, get_my_profile, get_my_products, get_agent_stats.
Not required for public tools (search_creators, get_products) or payment tools (send_coffee, buy_product).
Visit 8004scan.io
Register your wallet as an agent (requires a small gas fee on Base or a supported ERC-8004 NFT)
Note your
agentId(the tokenId) — you'll use it asAGENT_ID
Step 6 — Fund Your Wallet
Deposit USDC on Base to your wallet's EVM address.
# Check your balance
ows fund balance --wallet cobbee-agent --chain base🔒 Funding rules:
This is a dedicated agent wallet. Keep only what you plan to spend.
For testing: $5-$20 USDC is plenty
For production: $50-$500 USDC depending on your use case
Never fund this wallet from an exchange without a test transfer first
You also need a tiny amount of ETH on Base for gas (~$0.01 covers many transactions thanks to Base's low gas costs).
Step 7 — Test on Base Sepolia First (recommended)
Before touching mainnet, verify everything works on testnet:
"env": {
"NETWORK": "base-sepolia",
...
}Get Base Sepolia USDC from a faucet. Test send_coffee with 1 coffee. If it works end-to-end, switch to NETWORK: "base".
Step 8 — Configure Claude Desktop / Cursor
See Configuration below.
Configuration
Environment Variables
Variable | Required | Default | Description |
| Yes | — | Your OWS wallet name |
| Yes | — | OWS API key ( |
| Only for authenticated tools | — | Your ERC-8004 agent tokenId |
| No |
|
|
| No |
| Cobbee API URL |
| No |
| Custom Base mainnet RPC |
| No |
| Custom Base Sepolia RPC |
Claude Desktop Configuration
Add to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cobbee": {
"command": "npx",
"args": ["-y", "@cobbee-mcp/server"],
"env": {
"OWS_WALLET_NAME": "cobbee-agent",
"OWS_PASSPHRASE": "ows_key_your_api_key_here",
"AGENT_ID": "42",
"NETWORK": "base"
}
}
}
}Or if built from source:
{
"mcpServers": {
"cobbee": {
"command": "node",
"args": ["/path/to/cobbee-mcp/dist/index.js"],
"env": {
"OWS_WALLET_NAME": "cobbee-agent",
"OWS_PASSPHRASE": "ows_key_your_api_key_here",
"AGENT_ID": "42",
"NETWORK": "base"
}
}
}
}🔒 Config file security:
Restrict permissions:
chmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.jsonNever share your config file, paste it in issues/chats, or commit it to Git
If you accidentally leak the
OWS_PASSPHRASE:ows key revoke --id <key-id>immediately
Cursor IDE Configuration
Create a .cursor/mcp.json file in your project directory:
{
"mcpServers": {
"cobbee": {
"command": "npx",
"args": ["-y", "@cobbee-mcp/server"],
"env": {
"OWS_WALLET_NAME": "cobbee-agent",
"OWS_PASSPHRASE": "ows_key_your_api_key_here",
"AGENT_ID": "42",
"NETWORK": "base"
}
}
}
}⚠️ CRITICAL: Add
.cursor/mcp.jsonto.gitignore— this file contains your API key.
Setup steps:
Create
.cursor/mcp.jsonwith the configuration aboveAdd it to
.gitignoreEnable MCP in Cursor: Settings > Cursor Settings > MCP Servers > Toggle Enable
Switch to Agent Mode in Cursor chat (MCP tools only work in Agent Mode)
Verify the connection — MCP server indicator should turn green
Available Tools
Public (no authentication needed)
search_creators
Search for creators on Cobbee.
Parameter | Required | Default | Description |
| No | — | Search query for name/username |
| No | 10 | Maximum results (1-50) |
Example: "Search for creators related to 'digital art'"
get_creator
Get detailed information about a specific creator.
Parameter | Required | Description |
| Yes | Creator's username |
Example: "Get profile information for @johndoe"
get_products
List products available for purchase.
Parameter | Required | Default | Description |
| No | — | Filter by creator username |
| No | 10 | Maximum results (1-50) |
Example: "List products from @johndoe"
get_wallet_balance
Get the USDC balance of the configured wallet.
Example: "What's my wallet balance?"
get_wallet_address
Get the wallet address configured for payments.
Example: "What's my wallet address?"
Payment Tools (x402)
send_coffee
Send a coffee tip (USDC) to a Cobbee creator.
Parameter | Required | Default | Description |
| Yes | — | Creator's username |
| No | 1 | Number of coffees (1-100) |
| No | — | Message to creator (max 500 chars) |
| No | false | Make the message private |
Example: "Send 3 coffees to @johndoe with the message 'Love your work!'"
buy_product
Purchase a digital product from a Cobbee creator.
Parameter | Required | Description |
| Yes | Product's UUID |
| Yes | Your display name (2-50 chars) |
| No | For PWYW products: amount in USDC |
| No | Discount code (6-12 chars) |
Example: "Buy the product with ID abc123-def456"
Profile Management (authenticated — requires AGENT_ID)
create_profile
Create a creator profile on Cobbee (signup).
Parameter | Required | Description |
| Yes | Username (3-20 chars, alphanumeric) |
| Yes | Display name (2-50 chars) |
Example: "Create a Cobbee profile with username 'myagent' and name 'My AI Agent'"
update_profile
Update your Cobbee profile.
Parameter | Required | Description |
| No | Display name |
| No | Bio (max 500 chars) |
| No | Coffee price in USDC (1-10) |
| No | Twitter handle |
| No | Instagram handle |
| No | GitHub handle |
| No | Website URL |
Example: "Update my bio to 'AI agent that helps with code reviews'"
get_my_profile
Get your own Cobbee profile.
Example: "Show me my Cobbee profile"
Product Management (authenticated — requires AGENT_ID)
create_product
Create a new digital product on your Cobbee shop.
Parameter | Required | Default | Description |
| Yes | — | Product name (2-100 chars) |
| Yes | — | Price in USDC (0-1000) |
| No | — | Description (max 500 chars) |
| No | — | Category |
| No | false | Enable PWYW pricing |
Example: "Create a product called 'Code Review Pack' for $5 USDC"
update_product
Update one of your products.
Parameter | Required | Description |
| Yes | Product UUID |
| No | New name |
| No | New description |
| No | New price |
| No | Activate/deactivate |
Example: "Update the price of product abc123 to $10"
delete_product
Delete one of your products.
Parameter | Required | Description |
| Yes | Product UUID |
Example: "Delete product abc123"
get_my_products
List your own products.
Example: "Show me my products"
Agent Stats (authenticated — requires AGENT_ID)
get_agent_stats
Get your agent statistics (supports received, products sold, etc.).
Example: "Show me my agent stats"
How Authentication Works
When you call an authenticated tool, the MCP server authenticates automatically:
OWS retrieves your wallet address (private key never leaves the encrypted vault)
Server requests a SIWA nonce from Cobbee API
OWS signs the SIWA message in an isolated process (policy-gated)
Server verifies the signature and receives an HMAC receipt (valid 7 days)
All authenticated requests include the receipt header
Receipt auto-refreshes before expiry
Your private key is never exposed — OWS keeps it encrypted at rest and signs in an isolated process.
How x402 Payment Works
When you request a payment (
send_coffee,buy_product), the MCP calls Cobbee's APIThe API responds with
402 Payment Requiredand EIP-3009 payment requirementsThe x402-wrapped axios client automatically signs the payment authorization via OWS
The signed payment is sent back in the
PAYMENT-SIGNATUREheaderCobbee's facilitator verifies the signature and settles on Base blockchain
Transaction hash is returned
The wallet's private key is never exposed. OWS signs the EIP-712 typed data structure in an isolated process, enforcing your policy rules.
Security Model
What OWS Protects
Private key encryption at rest — scrypt (wallet) + HKDF-SHA256 (API key) with AES-256-GCM
Process isolation — signing happens in a separate OS process, not in the MCP
Token-as-capability — the
ows_key_...token both authenticates AND decrypts. No token = no access.Policy enforcement — rules are checked BEFORE any key material is touched
Zeroization — decrypted secrets are wiped from memory after use
Threat Model
Scenario | Impact |
Only | Safe — encrypted key file not accessible |
Only disk access (no token) | Safe — HKDF + AES-256-GCM encryption |
Token + disk access together | Possible decrypt — but policy still enforces rules (chain, expiry, etc.) |
Wallet passphrase leaked | Full compromise — attacker has your wallet. Revoke API keys, move funds to a new wallet using the seed phrase backup, rotate everything |
Seed phrase leaked | Total loss — attacker can restore your wallet anywhere. Move funds to a new wallet IMMEDIATELY |
Defense in Depth
The MCP implements:
OWS isolation — key never in the MCP process
Policy gating — chains, expiry (add recipient allowlists for production)
HMAC receipts — auth tokens with 7-day expiry
ERC-8004 verification — on-chain agent identity check at auth time
Transaction limits — max 100 coffees per tx, product price caps
Network confirmation — always check
NETWORKenv var matches your intended chain
Incident Response
If you suspect compromise:
Revoke the API key immediately
ows key list ows key revoke --id <key-id>Move funds to a new wallet — import seed phrase into a fresh wallet
Rotate credentials — create new wallet, new API key with new policy
Review audit logs — check
owsaudit trail for unauthorized signing attempts
Troubleshooting
"OWS_WALLET_NAME environment variable is required"
Set OWS_WALLET_NAME with your OWS wallet name. Create one with ows wallet create --name my-agent.
"AGENT_ID env var is required for this operation"
The tool requires an ERC-8004 agent ID. Register at 8004scan.io and set AGENT_ID to your tokenId.
Public tools (search, get_products, get_wallet_balance) and payment tools (send_coffee, buy_product) work without AGENT_ID.
"No EVM account found in wallet"
Your OWS wallet doesn't have an EVM account. Create a new wallet: ows wallet create --name new-agent.
"SIWA auth failed"
Your wallet may not be registered as an ERC-8004 agent on Base. Register at 8004scan.io.
"Insufficient balance"
Check balance: ows fund balance --wallet my-agent --chain base. Fund with USDC on Base.
"Creator not found"
The username doesn't exist on Cobbee. Try search_creators to find the correct username.
"Platform fee payment failed"
Check USDC balance on Base
Check ETH balance for gas (~$0.01 on Base)
Verify
NETWORKenv var matches your wallet's funded chainCheck OWS policy allows Base chain
Policy denied my transaction
OWS policy engine rejected the signing request. Check your policy:
ows policy list
ows policy show cobbee-mcp-policyDevelopment
# Install dependencies
pnpm install
# Run in development mode
pnpm dev
# Build for production
pnpm build
# Type check
pnpm typecheckVersioning
This project uses Semantic Versioning.
2.0.3 (current) — Fixed x402 SDK integration, USDC address per network, AGENT_ID lazy validation, RPC env overrides
2.0.2 — Previous — had broken payment flow (x402 SDK unused)
License
MIT
Links
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceConnects AI agents to the Base network for onchain data, batch USDC payments, and access to over 200 AI models. It utilizes the x402 protocol to enable pay-per-request functionality using USDC without requiring traditional API keys or accounts.100472MIT
- Alicense-qualityBmaintenanceUSDC payments for AI agents on Base. Direct transfers, pre-funded tabs, x402 paywall handling, and service discovery.52MIT
- AlicenseAqualityDmaintenanceGives AI agents a smart-contract wallet on Base (USDC) with 10 stdio tools: create wallets, send USDC payments, pay x402-protected HTTP resources, and run ERC-8183 escrow Jobs for A2A service delivery.106MIT

@hpp-io/x402-mcp-bridgeofficial
Alicense-qualityBmaintenanceEnables AI agents to autonomously pay for and discover services using HPP USDC.e over the x402 protocol, without API keys or manual signing.733Apache 2.0
Related MCP Connectors
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
30 pay-per-call APIs for AI agents: compliance, trade, safety, web, data. USDC on Base via x402.
AgisHub — pay-per-call tools for AI agents over x402 (USDC on Base). No API key.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0xmonas/cobbee-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server