1ly MCP
About
Enable AI agents to discover, launch tokens, pay for, and sell APIs and resources using x402
Details
- Author
- 1lystore
- Downloads
- 132
- Categories
- Search, API, Other
- Tags
- #payment, #marketplace
Jump to
- Search and discover APIs on the 1ly.store marketplace
- Pay for APIs automatically with crypto via the x402 protocol
- Create a store to list paid API endpoints and accept payments
- Launch and trade tokens on Bags.fm, claim fee shares
- Leave reviews after purchases
- Supports both Solana and Base networks
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
1ly MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via npx @1ly/mcp-server with required environment variables for wallet keys (Solana, EVM, or Coinbase Agentic Wallet). Configure budgets and network preferences via environment variables. Use tools like 1ly_search, 1ly_get_details, 1ly_call, 1ly_review, 1ly_create_store, and others to interact with the marketplace. A wallet is required only for paid operations.
1ly_search
Search for APIs and services on 1ly.store marketplace. Find APIs by keyword, filter by type and price.
1ly_get_details
Get detailed information about a specific API on 1ly.store, including pricing, reviews, and payment info.
1ly_call
Call a paid API on 1ly.store with automatic x402 payment. Returns the API response and purchase metadata for leaving a review.
1ly_review
Leave a review for a completed purchase on 1ly.store. Use the purchaseId and reviewToken from the _1ly metadata returned by 1ly_call.
1ly_create_link
Create a new API link (paid or free) using your 1ly developer API key.
1ly_list_links
List API links for the authenticated store (requires ONELY_API_KEY).
1ly_update_link
Update an API link by id (requires ONELY_API_KEY).
1ly_delete_link
Delete an API link by id (requires ONELY_API_KEY).
1ly_get_stats
Get store or link stats (requires ONELY_API_KEY).
1ly_create_store
Create a new store for your agent on 1ly using wallet signature.Returns store + API key.
1ly_list_keys
List API keys for the authenticated agent store (requires ONELY_API_KEY).
1ly_create_key
Create a new API key for the authenticated agent store (requires ONELY_API_KEY).
1ly_revoke_key
Revoke an API key for the authenticated agent store (requires ONELY_API_KEY).
1ly_withdraw
Request a withdrawal of your available balance to a Solana wallet (requires ONELY_API_KEY).
1ly_list_withdrawals
List withdrawal requests for your store (requires ONELY_API_KEY).
1ly_update_profile
Update basic store profile details (requires ONELY_API_KEY).
1ly_update_socials
Update socials for your store (requires ONELY_API_KEY).
1ly_update_avatar
Update your store avatar image (requires ONELY_API_KEY).
1ly_launch_token
Launch a token on Bags.fm (v2 flow). Handles metadata, fee config, launch tx, signing, and submission.
1ly_list_tokens
List tokens launched by a wallet (Bags only; public listing by wallet address).
1ly_claim_fees
Claim Bags fee share for a token (Bags only).
1ly_trade_token
Trade tokens on Bags (Bags only).
1ly_trade_quote
Get a Bags trade quote without executing a swap (Bags only).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"1ly mcp": {
"1ly": {
"command": "npx",
"args": [
"@1ly/mcp-server"
],
"env": {
"ONELY_WALLET_SOLANA_KEY": "/Users/yourname/.1ly/wallets/solana.json",
"ONELY_BUDGET_PER_CALL": "1.00",
"ONELY_BUDGET_DAILY": "50.00"
}
}
}
}
}
McpServers
{
"1ly": {
"command": "npx",
"args": [
"@1ly/mcp-server"
],
"env": {
"ONELY_WALLET_SOLANA_KEY": "/Users/yourname/.1ly/wallets/solana.json",
"ONELY_BUDGET_PER_CALL": "1.00",
"ONELY_BUDGET_DAILY": "50.00"
}
}
}
MCP server for1ly.store— Enable AI agents to discover, pay for, and sell APIs using crypto.
This MCP server gives AI agents the ability to:
- Buy— Search, discover, and pay for APIs/resources with automatic crypto payments (x402 protocol)
- Sell— Create a store, list paid API endpoints or resources, and accept payments
- Launch Tokens— Create and trade tokens on Bags.fm, and claim fee shares
Supported Networks:Solana (mainnet), Base (mainnet)Payment Currency:USDC and $1LY (Solana only)
This MCP server enables AI agents (Claude, GPT, Cursor, and more) to:
- Create a store on 1ly.store
- Accept payments for your APIs/resources using 1ly as the payment layer
- Create paid links that any x402‑compatible agent can call and pay automatically
- List paid links on the 1ly marketplace for instant agent discovery
- Search for APIs and services on 1ly.store
- Get details about pricing, reviews, and usage
- Call paid APIs with automatic crypto payments (x402 protocol) securely
- Leave reviews after purchases (optional but recommended)
- Launch tokens on Bags.fm, trade solana tokens, and claim fees
Wallet path rule:wallet files must be located in your home directory (recommended) or/tmp. Paths outside those locations are rejected for security.~/is supported and expands to your home directory when running directly from the terminal.Important:Claude Desktop and Cursor config JSON donotexpand~. Always use absolute paths in JSON config files (e.g./Users/yourname/.1ly/wallets/solana.json).
# Solana wallet ONELY_WALLET_SOLANA_KEY="~/.1ly/wallets/solana.json" npx @1ly/mcp-server # OR Base/EVM wallet ONELY_WALLET_EVM_KEY="~/.1ly/wallets/evm.key" npx @1ly/mcp-server # OR both wallets ONELY_WALLET_SOLANA_KEY="~/.1ly/wallets/solana.json" \ ONELY_WALLET_EVM_KEY="~/.1ly/wallets/evm.key" \ npx @1ly/mcp-server
Option B: Coinbase Agentic Wallet (Base only)
ONELY_WALLET_PROVIDER="coinbase" npx @1ly/mcp-server
When using Agentic Wallet, youdo notpass raw private keys.
Make sure the Coinbase Agentic Wallet app is running and authenticated.
If you haven't installed Agentic Wallet yet:
- Follow Coinbase Agentic Wallet docs:docs.cdp.coinbase.com/agentic-wallet/welcome
- Quick install:
npx skills add coinbase/agentic-wallet-skills npx awal show
Option C: DCP Local (recommended for secure signing)
# Start DCP locally dcp init npx @dcprotocol/server # Run MCP (auto-detects DCP at localhost:8420) npx @1ly/mcp-server
# Pairing outputs these values DCP_VAULT_ID="vault_..." \ DCP_RELAY_URL="wss://relay.dcp.1ly.store" \ DCP_VAULT_HPKE_PUBLIC_KEY="base64..." \ npx @1ly/mcp-server
ONELY_WALLET_SOLANA_KEY="~/.1ly/wallets/solana.json" npx @1ly/mcp-server --self-test
Run MCP over HTTP (for cloud hosting ormcp.1ly.store):
# HTTP transport MCP_TRANSPORT=http npx @1ly/mcp-server # Custom host/port MCP_TRANSPORT=http MCP_HTTP_HOST=0.0.0.0 MCP_HTTP_PORT=3000 npx @1ly/mcp-server
A wallet is required only forpaidcalls. For free search/details you can run without a wallet.Useoneof:ONELY_WALLET_SOLANA_KEY,ONELY_WALLET_EVM_KEY, orONELY_WALLET_PROVIDER=coinbase.
{ "mcpServers": { "1ly": { "command": "npx", "args": ["@1ly/mcp-server"], "env": { "ONELY_WALLET_SOLANA_KEY": "/Users/yourname/.1ly/wallets/solana.json", "ONELY_BUDGET_PER_CALL": "1.00", "ONELY_BUDGET_DAILY": "50.00" } } } }
Note:Replace/Users/yournamewith your actual home directory. On Linux use/home/yourname.~does not work in Claude Desktop config.
{ "mcpServers": { "1ly": { "command": "npx", "args": ["@1ly/mcp-server"], "env": { "ONELY_WALLET_EVM_KEY": "/Users/yourname/.1ly/wallets/evm.key", "ONELY_BUDGET_PER_CALL": "1.00", "ONELY_BUDGET_DAILY": "50.00" } } } }
Cursor uses.cursor/mcp.json. If you prefer manual setup, use:
{ "mcpServers": { "1ly": { "command": "npx", "args": ["@1ly/mcp-server"], "env": { "ONELY_WALLET_SOLANA_KEY": "/absolute/path/to/solana.json", "ONELY_BUDGET_PER_CALL": "1.00", "ONELY_BUDGET_DAILY": "50.00" } } } }
{ "mcpServers": { "1ly": { "command": "npx", "args": ["@1ly/mcp-server"], "env": { "ONELY_WALLET_SOLANA_KEY": "~/.1ly/wallets/solana.json", "ONELY_WALLET_EVM_KEY": "~/.1ly/wallets/evm.key", "ONELY_BUDGET_PER_CALL": "1.00", "ONELY_BUDGET_DAILY": "50.00" } } } }
Walletrequired only for paid calls(1ly_call). Search/details work without a wallet.
Search for APIs on 1ly.store marketplace.
{ "query": "weather api", "type": "api", "maxPrice": 0.10 }
{ "ok": true, "data": { "results": [ { "title": "Real-time Weather", "endpoint": "/api/link/joe/weather", "price": "$0.010000000000000000 USDC", "type": "api", "seller": "Joe's APIs", "stats": { "buyers": 150, "rating": "95%" } } ], "total": 42, "showing": 10 } }
Get detailed information about a specific API.
{ "endpoint": "joe/weather" }
{ "ok": true, "data": { "endpoint": "/api/link/joe/weather", "fullUrl": "https://1ly.store/api/link/joe/weather", "link": { "title": "Real-time Weather", "description": "Global weather data", "slug": "weather", "price": "0.010000000000000000", "currency": "USDC" }, "paymentInfo": { "networks": ["solana", "base"] }, "reviews": { "stats": { "total": 50, "positive": 48 }, "recent": [{ "positive": true, "comment": "Fast!" }] } } }
Call a paid API with automatic crypto payment.
{ "endpoint": "joe/weather", "method": "POST", "body": { "city": "NYC" } }
{ "ok": true, "data": { "data": { "temp": 72, "conditions": "sunny" }, "_1ly": { "purchaseId": "abc123", "txHash": "tx_hash_here", "reviewUrl": "https://1ly.store/api/review/abc123", "reviewToken": "xyz789" } } }
Note:The_1lyobject contains tokens needed for1ly_review. Save these if you want to leave a review.
For free APIs,_1lymay be{ "note": "No payment required (free API)" }.
- SetONELY_WALLET_PROVIDER=coinbase.
- Ensure Coinbase Agentic Wallet is installed, running, and authenticated.
- Local private keys are not required.
Leave a review after a successful purchase.
{ "purchaseId": "abc123", "reviewToken": "xyz789", "positive": true, "comment": "Fast and accurate!" }
{ "ok": true, "data": { "success": true, "reviewId": "rev_456", "message": "Positive review submitted!" } }
These tools require anAPI key. There are two ways to get one:
Option A — Via MCP tool (agent does it for you):Run1ly_create_storeand the key is automatically saved locally.
Create a new store and get an API key.Run this once.The API key is automatically saved locally.
Note:Creating a store requires a raw wallet key (Solana or EVM). Agentic Wallet does not support store creation yet.
{ "username": "myagent", "displayName": "My Agent Store" }
{ "ok": true, "data": { "success": true, "data": { "store": { "username": "myagent", "displayName": "My Agent Store", "storeUrl": "https://1ly.store/myagent", "createdBy": "agent", "avatarUrl": null }, "apiKey": "1ly_live_...", "apiKeyPrefix": "1ly_live_..." }, "meta": { "savedKeyPath": "~/Library/Application Support/1ly/onely_api_key.json" } } }
- macOS:~/Library/Application Support/1ly/onely_api_key.json
- Linux:~/.config/1ly/onely_api_key.json
- Windows:%APPDATA%\1ly\onely_api_key.json
{ "title": "Premium Weather API", "url": "https://api.example.com/weather", "price": "0.05", "description": "Real-time weather data", "webhookUrl": "https://example.com/webhooks/1ly" }
{ "ok": true, "data": { "success": true, "data": { "id": "uuid-here", "slug": "premium-weather-api", "fullUrl": "https://1ly.store/myagent/premium-weather-api", "privateSlug": null, "privateUrl": null, "price": "0.050000000000000000", "currency": "USDC", "linkType": "api", "createdAt": "2026-01-01T00:00:00.000Z" } } }
{ "ok": true, "data": { "success": true, "data": { "links": [ { "id": "uuid-here", "url": "https://api.example.com/weather", "title": "Premium Weather API", "description": "Real-time weather data", "slug": "premium-weather-api", "privateSlug": null, "price": "0.050000000000000000", "currency": "USDC", "isPaid": true, "isPublic": true, "isActive": true, "linkType": "api", "isStealth": false, "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ] } } }
{ "id": "uuid-here", "price": "0.10" }
{ "ok": true, "data": { "success": true, "data": { "id": "uuid-here", "profileId": "profile-id", "url": "https://api.example.com/weather", "title": "Premium Weather API (updated)", "description": "Real-time weather data", "slug": "premium-weather-api", "privateSlug": null, "price": "0.100000000000000000", "currency": "USDC", "isPaid": true, "isPublic": true, "isActive": true, "linkType": "api", "isStealth": false, "displayOrder": 1, "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } } }
{ "id": "uuid-here" }
{ "ok": true, "data": { "success": true } }
{ "ok": true, "data": { "success": true, "data": { "period": "30d", "views": 0, "buyers": 9, "revenue": "0.081000000000000009" } } }
{ "ok": true, "data": { "success": true, "data": { "keys": [ { "id": "uuid-here", "name": "Agent Key", "keyPrefix": "1ly_live_...", "isActive": true, "lastUsedAt": "2026-01-01T00:00:00.000Z", "createdAt": "2026-01-01T00:00:00.000Z" } ] } } }
{ "name": "production-key" }
Returns (example when key limit is reached):
{ "ok": false, "error": { "message": "Create key failed | status=400 | ... | body={\"success\":false,\"error\":{\"code\":\"LIMIT_REACHED\",\"message\":\"Maximum number of API keys reached\"}}" } }
{ "id": "uuid-here" }
{ "ok": true, "data": { "success": true, "data": { "id": "uuid-here", "revoked": true } } }
{ "displayName": "My Store", "bio": "We build paid APIs for agents." }
{ "socials": [ { "type": "x", "url": "https://x.com/1ly_store", "displayOrder": 0, "isVisible": true }, { "type": "website", "url": "https://1ly.store", "displayOrder": 1 } ] }
Update store avatar using a public URL or base64 image.
{ "avatarUrl": "https://example.com/avatar.png" }
{ "amount": "1.25", "walletAddress": "7GmjjDitbCwW77dZmJko3pBDWhEh12soGNLR7zwAkf6M" }
These tools require aSolana wallet(ONELY_WALLET_SOLANA_KEY)
- name,symbol(required)
- description(optional; defaults toToken launched via 1ly.store)
- imageUrlorimageBase64(required; at least one)
- twitter,website,telegram(optional URLs)
- initialBuySol(optional; defaults to0)
- feeClaimers(optional array of{ provider, username, bps })
- share_fee(optional, bps). Adds a 1ly marketplace fee claimer on the backend. If set, the creator share is auto‑reduced.
- namemax 32 chars
- symbolmax 10 chars
- descriptionmax 1000 chars
- imageBase64must be raw base64 (no data URL prefix) and <= 15MB decoded
feeClaimersprovider list is strict:twitter,github,kick,tiktok. Remainder after feeClaimers (andshare_fee, if set) is assigned to the creator wallet.
bps= basis points:10000 = 100%,1000 = 10%,100 = 1%.
Example: 90% to a GitHub claimer + 1%share_fee:
{ "feeClaimers": [{ "provider": "github", "username": "abc", "bps": 9000 }], "share_fee": 100 }
List tokens launched by a wallet (public listing by wallet address, default limit 10). IfcreatorWalletis omitted, the tool uses the configured Solana wallet.
- creatorWallet(optional) — wallet address to list tokens for
- limit(optional) — max results (default 10, max 200)
Claim Bags fee share for a token. If nothing is claimable, the backend returns an error likeNothing to claim.
- tokenMint(required) — token mint address
- wallet(optional) — wallet address to claim for (defaults to configured wallet)
Trade tokens on Bags using Bags quote + swap flow.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




