mcpField
1
1ly MCP Server

1ly MCP Server

ローカル
github.com/1lystore金融データ334 週間前に更新

1ly MCP Server について

1ly MCP Server は、AI エージェントを 1ly.store の API マーケットプレイスにつなぎ、API の検索・購入・販売やトークンの発行・取引を可能にします。Solana と Base の暗号資産決済に対応します。

主な機能

  1. 01API の検索と詳細確認
  2. 02暗号資産決済による有料 API 呼び出し
  3. 03ストアと有料 API リンクの作成
  4. 04購入後のレビュー
  5. 05Bags.fm トークンの発行と取引
  6. 061回・1日の支出上限設定

活用シーン

  1. 01検索語や価格で API を探す
  2. 02マーケットプレイスの有料 API を呼び出す
  3. 03有料 API エンドポイントを公開する
  4. 04トークンを発行して手数料分配を請求する

MCP 対応

MCP クライアントに購入者・販売者・レビュー・トークン関連のツールを提供します。デフォルトは stdio で、HTTP トランスポートも選択できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"1ly": {
"command": "npx",
"args": [
"-y",
"@1ly/mcp-server"
],
"env": {
"ONELY_WALLET_SOLANA_KEY": "<ONELY_WALLET_SOLANA_KEY>",
"ONELY_WALLET_EVM_KEY": "<ONELY_WALLET_EVM_KEY>",
"ONELY_API_KEY": "<ONELY_API_KEY>",
"ONELY_WALLET_PROVIDER": "<ONELY_WALLET_PROVIDER>",
"ONELY_NETWORK": "<ONELY_NETWORK>",
"ONELY_SOLANA_RPC_URL": "<ONELY_SOLANA_RPC_URL>",
"ONELY_BUDGET_PER_CALL": "<ONELY_BUDGET_PER_CALL>",
"ONELY_BUDGET_DAILY": "<ONELY_BUDGET_DAILY>",
"ONELY_BUDGET_STATE_FILE": "<ONELY_BUDGET_STATE_FILE>",
"ONELY_SOLANA_DRY_RUN": "<ONELY_SOLANA_DRY_RUN>",
"ONELY_API_BASE": "<ONELY_API_BASE>"
}
}
}
}
起動コマンドnpx -y @1ly/mcp-server
設定が必要な環境変数
ONELY_WALLET_SOLANA_KEYシークレットPath to Solana keypair JSON file (e.g. /home/user/.1ly/wallets/solana.json) or inline JSON byte array. Required for paid API calls and token tools (launch, trade, claim). Note: Claude Desktop does not expand ~, use absolute paths.
ONELY_WALLET_EVM_KEYシークレットPath to EVM private key file or 0x-prefixed hex string. Required for payments on Base network.
ONELY_API_KEYシークレット1ly.store seller API key. Auto-saved locally after running the 1ly_create_store tool — you do not need to set this manually. Required for seller tools: manage links, stats, withdrawals, keys, and profile.
ONELY_WALLET_PROVIDERWallet provider to use. 'raw' (default) uses local key files via ONELY_WALLET_SOLANA_KEY or ONELY_WALLET_EVM_KEY. 'coinbase' uses Coinbase Agentic Wallet (Base network only, requires the wallet app running locally).
ONELY_NETWORKPreferred blockchain network for payments. 'solana' (default) or 'base'. Determines which wallet is used when an API supports both networks.
ONELY_SOLANA_RPC_URLSolana RPC endpoint URL. Defaults to https://api.mainnet-beta.solana.com. Use a private RPC (e.g. Helius, Quicknode) for better reliability and rate limits.
ONELY_BUDGET_PER_CALLMaximum USD amount allowed per single paid API call. Defaults to 1.00. The server will refuse any call priced above this limit.
ONELY_BUDGET_DAILYMaximum total USD spending per calendar day (UTC). Defaults to 50.00. Resets at UTC midnight. The server will refuse calls that would exceed this limit.
ONELY_BUDGET_STATE_FILEPath to the local JSON file used to track daily spending. Defaults to ~/.1ly-mcp-budget.json. Created automatically with owner-only permissions (0600).
ONELY_SOLANA_DRY_RUNSet to '1' to simulate Solana transactions without broadcasting to the blockchain. Returns a fake signature. Use for testing only — no real payments will be made.
ONELY_API_BASEOverride the 1ly.store API base URL. Defaults to https://1ly.store. Only http://localhost:PORT is accepted as an alternative (for local development). Do not change in production.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@1ly/mcp-server0.1.7

ツール

23

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
querystringはい検索語(例:「weather api」、「image generation」)
typeenumいいえリンクタイプで絞り込みます:'api' は API エンドポイント、'standard' はデジタル製品ですapi | standard
maxPricenumberいいえUSD 建ての上限価格
minPricenumberいいえ最低価格(米ドル)
limitnumberいいえ結果数(デフォルト:10、最大:50)

詳細

@1ly/mcp-server

1ly.store 用の MCP サーバー — AI エージェントが暗号資産を使って API を見つけ、支払い、販売できるようにします。

概要

この MCP サーバーを使うと、AI エージェントは次のことができます。

  • 購入 — API/リソースを検索、発見し、暗号資産による自動決済(x402 プロトコル)で支払います
  • 販売 — ストアを作成し、有料の API エンドポイントやリソースを掲載して、支払いを受け付けます
  • トークンをローンチ — Bags.fm でトークンを作成、取引し、手数料の分配分を受け取ります

対応ネットワーク: Solana(メインネット)、Base(メインネット) 決済通貨: USDC および $1LY(Solana のみ)

これは何ですか?

この MCP サーバーを使うと、AI エージェント(Claude、GPT、Cursor など)は次のことができます。

  • 1ly.store にストアを作成する
  • 1ly を決済レイヤーとして使用し、API/リソースの支払いを受け付ける
  • x402 対応エージェントが呼び出して自動決済できる有料リンクを作成する
  • 1ly のマーケットプレイスに有料リンクを掲載し、エージェントがすぐに見つけられるようにする
  • 1ly.store で API やサービスを検索する
  • 料金、レビュー、利用状況の詳細を確認する
  • 暗号資産による自動決済(x402 プロトコル)で有料 API を安全に呼び出す
  • 購入後にレビューを投稿する(任意ですが、推奨されています)
  • Bags.fm でトークンをローンチし、Solana トークンを取引して、手数料を受け取る

クイックスタート

ウォレットのパスに関するルール: ウォレットファイルはホームディレクトリ(推奨)または /tmp に配置する必要があります。セキュリティ上、これらの場所の外にあるパスは拒否されます。ターミナルから直接実行する場合は ~/ がサポートされ、ホームディレクトリに展開されます。 重要: Claude Desktop と Cursor の設定 JSON では ~ は展開されません。JSON 設定ファイルでは、必ず絶対パスを使用してください(例:/Users/yourname/.1ly/wallets/solana.json)。

1. インストールして実行する
オプション A:生のウォレット(デフォルト)
# 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
オプション B:Coinbase Agentic Wallet(Base のみ)
ONELY_WALLET_PROVIDER="coinbase" npx @1ly/mcp-server

Agentic Wallet を使用する場合、生の秘密鍵を渡す必要はありません。
Coinbase Agentic Wallet アプリが起動しており、認証済みであることを確認してください。

Agentic Wallet をまだインストールしていない場合:

npx skills add coinbase/agentic-wallet-skills
npx awal show
オプション C:DCP Local(安全な署名に推奨)
# Start DCP locally
dcp init
npx @dcprotocol/server

# Run MCP (auto-detects DCP at localhost:8420)
npx @1ly/mcp-server
オプション D:DCP Remote(リレー)
# 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
2. セットアップを確認する
ONELY_WALLET_SOLANA_KEY="~/.1ly/wallets/solana.json" npx @1ly/mcp-server --self-test

設定

HTTP モード(Cloud MCP)

HTTP 経由で MCP を実行します(クラウドでのホスティング、または mcp.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
環境変数
変数必須説明
ONELY_WALLET_SOLANA_KEYいいえSolana キーペアの JSON ファイルへのパス、またはインライン JSON 配列
ONELY_WALLET_EVM_KEYいいえEVM 秘密鍵ファイルへのパス、またはインラインの 16 進数キー(0x の有無は問いません)
ONELY_API_KEYいいえ販売者向けツールの API キー。1ly_create_store の実行後に自動で読み込まれます
ONELY_BUDGET_PER_CALLいいえAPI 呼び出し 1 回あたりの最大 USD 額(デフォルト:1.00)
ONELY_BUDGET_DAILYいいえ1 日あたりの USD 支出上限(デフォルト:50.00)
ONELY_BUDGET_STATE_FILEいいえローカルの予算状態ファイルへのパス(デフォルト:~/.1ly-mcp-budget.json)
ONELY_NETWORKいいえ優先ネットワーク:solana または base(デフォルト:solana)
ONELY_SOLANA_RPC_URLいいえSolana RPC URL(デフォルト:https://api.mainnet-beta.solana.com)
ONELY_API_BASEいいえAPI のベース URL(デフォルト:https://1ly.store)
ONELY_WALLET_PROVIDERいいえraw(デフォルト)または coinbase(Agentic Wallet、Base のみ)
ONELY_SOLANA_DRY_RUNいいえ1 に設定すると、Solana トランザクションをブロードキャストせずにシミュレートします。実際の支払いは発生しません。テスト専用です。
MCP_TRANSPORTいいえHTTP MCP サーバーを実行するには http(デフォルト:stdio)
MCP_HTTP_HOSTいいえHTTP MCP サーバーのホスト(デフォルト:0.0.0.0)
MCP_HTTP_PORTいいえHTTP MCP サーバーのポート(デフォルト:3000)
DCP_VAULT_IDいいえDCP リレーの Vault ID(リモートモード)
DCP_RELAY_URLいいえリレー URL(例:wss://relay.dcp.1ly.store)
DCP_RELAY_TOKENいいえリレーのペアリングトークン(必要な場合)
DCP_VAULT_HPKE_PUBLIC_KEYいいえVault の Base64 HPKE 公開鍵(リモートモード)
DCP_RELAY_PLAINTEXTいいえ1 に設定すると HPKE を無効にします(開発専用)

ウォレットが必要なのは有料の呼び出しのみです。無料の検索や詳細情報の取得は、ウォレットなしで実行できます。 次のいずれか1 つを使用してください:ONELY_WALLET_SOLANA_KEY、ONELY_WALLET_EVM_KEY、または ONELY_WALLET_PROVIDER=coinbase。

Claude Desktop の設定

claude_desktop_config.json に追加します:

{
  "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"
      }
    }
  }
}

注: /Users/yourname を実際のホームディレクトリに置き換えてください。Linux では /home/yourname を使用します。Claude Desktop の設定では ~ は機能しません。

Base/EVM ウォレットの設定
{
  "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 ワンクリックインストール

MCP サーバーをインストール

Cursor は .cursor/mcp.json を使用します。手動で設定する場合は、次を使用してください:

{
  "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"
      }
    }
  }
}
Solana と Base の両方のウォレット
{
  "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"
      }
    }
  }
}

ツールリファレンス

購入者向けツール

ウォレットが必要なのは有料の呼び出し(1ly_call)のみです。検索や詳細情報の取得は、ウォレットなしで実行できます。

1ly_search

1ly.store マーケットプレイスで API を検索します。

パラメーター型必須説明
querystringはい検索語(例:「weather api」)
typestringいいえフィルター:"api" または "standard"
maxPricenumberいいえUSD での最高価格
minPricenumberいいえUSD での最低価格
limitnumberいいえ返す結果の数(デフォルト:10、最大:50)
{
  "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
  }
}

1ly_get_details

特定の API に関する詳細情報を取得します。

パラメーター型必須説明
endpointstringはいAPI エンドポイント(例:"joe/weather")
{
  "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!" }]
    }
  }
}

1ly_call

暗号資産による支払いを自動で行い、有料 API を呼び出します。

パラメーター型必須説明
endpointstringはいAPI エンドポイント(例:"joe/weather")
methodstringいいえHTTP メソッド:GET、POST、PUT、DELETE、PATCH(デフォルト:GET)
bodyobjectいいえPOST/PUT/PATCH のリクエストボディ
headersobjectいいえ追加のヘッダー
{
  "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"
    }
  }
}

注記: _1ly オブジェクトには、1ly_review に必要なトークンが含まれています。レビューを投稿する場合は、これらを保存してください。
無料の API では、_1ly は { "note": "No payment required (free API)" } の場合があります。

Agentic Wallet(Base のみ):

  • ONELY_WALLET_PROVIDER=coinbase を設定します。
  • Coinbase Agentic Wallet がインストールされ、起動しており、認証済みであることを確認します。
  • ローカルの秘密鍵は不要です。

1ly_review

購入が正常に完了した後にレビューを投稿します。

パラメーター型必須説明
purchaseIdstringはい1ly_call のレスポンスにある _1ly.purchaseId
reviewTokenstringはい1ly_call のレスポンスにある _1ly.reviewToken
positivebooleanはい肯定的な場合は true、否定的な場合は false
commentstringいいえレビューコメント(最大 500 文字)
{
  "purchaseId": "abc123",
  "reviewToken": "xyz789",
  "positive": true,
  "comment": "Fast and accurate!"
}

戻り値:

{
  "ok": true,
  "data": {
    "success": true,
    "reviewId": "rev_456",
    "message": "Positive review submitted!"
  }
}

販売者向けツール(支払いを受け付ける)

これらのツールには API キー が必要です。取得方法は 2 つあります。

オプション A — MCP ツール経由(エージェントが代行します): 1ly_create_store を実行すると、キーがローカルに自動保存されます。

オプション B — UI 経由(ウォレット不要):

  1. 1ly.store にアクセスしてサインインします
  2. Settings を開き、Developer Mode を有効にします
  3. ダッシュボードから API キーを作成します
  4. MCP 設定で ONELY_API_KEY として設定します
1ly_create_store

新しいストアを作成し、API キーを取得します。一度だけ実行してください。 API キーはローカルに自動保存されます。

注記: ストアの作成には、ウォレットの生鍵(Solana または EVM)が必要です。Agentic Wallet はまだストアの作成に対応していません。

パラメーター型必須説明
usernamestringいいえストアのユーザー名(3~20 文字。省略時は自動生成)
displayNamestringいいえ表示名(最大 50 文字)
avatarUrlstringいいえアバター URL
{
  "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"
    }
  }
}

API キーの保存場所:

  • macOS:~/Library/Application Support/1ly/onely_api_key.json
  • Linux:~/.config/1ly/onely_api_key.json
  • Windows:%APPDATA%\1ly\onely_api_key.json

1ly_create_link

新しい API リンク(有料または無料)を作成します。

パラメーター型必須説明
titlestringはいリンクのタイトル(最大 200 文字)
urlstringはいリンク先 URL(API エンドポイント)
pricestringいいえ米ドルでの価格(例:"0.10")。無料の場合は省略
descriptionstringいいえ説明(最大 500 文字)
slugstringいいえカスタムスラッグ(3~64 文字、小文字、ハイフン使用可)
currencystringいいえ常に "USDC"
isPublicbooleanいいえ一般公開で一覧表示する(デフォルト:true)
isStealthbooleanいいえ検索結果に表示しない(デフォルト:false)
webhookUrlstringいいえ購入イベント用の任意の Webhook URL
{
  "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"
    }
  }
}

1ly_list_links

すべての API リンクを一覧表示します。

パラメーターはありません。

{}

戻り値(例):

{
  "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"
        }
      ]
    }
  }
}

1ly_update_link

既存の API リンクを更新します。

パラメーター型必須説明
idstring (UUID)Yesリンク ID
titlestringNo新しいタイトル
urlstringNo新しいリンク先 URL
pricestringNo新しい価格
descriptionstringNo新しい説明
slugstringNo新しいスラッグ
isPublicbooleanNo公開設定を更新
isStealthbooleanNoステルスモードを更新
webhookUrlstringNoWebhook URL を更新(消去するには null に設定)
{
  "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"
    }
  }
}

1ly_delete_link

API リンクを削除します。

パラメーター型必須説明
idstring (UUID)Yes削除するリンク ID
{
  "id": "uuid-here"
}

戻り値(例):

{
  "ok": true,
  "data": {
    "success": true
  }
}

1ly_get_stats

ストアまたはリンクの統計情報を取得します。

パラメーター型必須説明
periodstringNo期間:「7d」、「30d」、「90d」、「all」
linkIdstring (UUID)No特定のリンク ID(ストア全体の統計情報を取得する場合は省略)
{
  "period": "30d"
}

戻り値(例):

{
  "ok": true,
  "data": {
    "success": true,
    "data": {
      "period": "30d",
      "views": 0,
      "buyers": 9,
      "revenue": "0.081000000000000009"
    }
  }
}

1ly_list_keys

ストアのすべての API キーを一覧表示します。

パラメーターはありません。

戻り値(例):

{
  "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"
        }
      ]
    }
  }
}

1ly_create_key

新しい API キーを作成します。

パラメーター型必須説明
namestringNoキー名(最大 64 文字)
{
  "name": "production-key"
}

キーの上限に達した場合の戻り値(例):

{
  "ok": false,
  "error": {
    "message": "Create key failed | status=400 | ... | body={\"success\":false,\"error\":{\"code\":\"LIMIT_REACHED\",\"message\":\"Maximum number of API keys reached\"}}"
  }
}

1ly_revoke_key

API キーを無効化します。

パラメーター型必須説明
idstring (UUID)Yes無効化するキー ID
{
  "id": "uuid-here"
}

戻り値(例):

{
  "ok": true,
  "data": {
    "success": true,
    "data": {
      "id": "uuid-here",
      "revoked": true
    }
  }
}

1ly_update_profile

プロフィールの基本項目を更新します。

パラメーター型必須説明
usernamestringNo新しいユーザー名(小文字+アンダースコア)
displayNamestringNo公開表示名
biostringNo短い自己紹介(最大 160 文字)
{
  "displayName": "My Store",
  "bio": "We build paid APIs for agents."
}

1ly_update_socials

ソーシャルリンクの一覧を置き換えます(最大 10 件)。

パラメーター型必須説明
socialsarrayYesソーシャルリンク
{
  "socials": [
    { "type": "x", "url": "https://x.com/1ly_store", "displayOrder": 0, "isVisible": true },
    { "type": "website", "url": "https://1ly.store", "displayOrder": 1 }
  ]
}

1ly_update_avatar

公開 URL または Base64 画像を使ってストアのアバターを更新します。

パラメーター型必須説明
avatarUrlstringNo公開画像 URL
imageBase64stringNoBase64 エンコードされた画像(デコード後、最大 5MB)
mimeTypestringNoimage/png、image/jpeg、image/webp、image/gif
filenamestringNo任意のファイル名
{
  "avatarUrl": "https://example.com/avatar.png"
}

1ly_withdraw

出金をリクエストします(Solana のみ)。

パラメーター型必須説明
amountstringYesUSDC での金額(最小 0.1)
walletAddressstringYesSolana ウォレットアドレス
{
  "amount": "1.25",
  "walletAddress": "7GmjjDitbCwW77dZmJko3pBDWhEh12soGNLR7zwAkf6M"
}

1ly_list_withdrawals

最近の出金を一覧表示します。

パラメーター型必須説明
limitnumberNo最大項目数(デフォルト 25、最大 100)
cursorstringNoページネーションカーソル
{
  "limit": 10
}

トークンツール(Bags.fm)

これらのツールには Solana ウォレット(ONELY_WALLET_SOLANA_KEY)が必要です

1ly_launch_token

Bags.fm でトークンをローンチします(v2 フロー)。

主なフィールド:

  • name、symbol(必須)
  • description(任意。デフォルトは Token launched via 1ly.store)
  • imageUrl または imageBase64(必須。少なくとも一方を指定)
  • twitter、website、telegram(任意の URL)
  • initialBuySol(任意。デフォルトは 0)
  • feeClaimers(任意の { provider, username, bps } 配列)
  • share_fee(任意、bps)。バックエンドで 1ly マーケットプレイスの手数料受取人を追加します。設定すると、クリエイターの取り分は自動的に減額されます。

バリデーション(Bags.fm 互換):

  • name は最大 32 文字
  • symbol は最大 10 文字
  • description は最大 1000 文字
  • imageBase64 は生の base64 形式(データ URL プレフィックスなし)で、デコード後 15MB 以下である必要があります

feeClaimers のプロバイダーリストは厳密に指定されています:twitter、github、kick、tiktok。feeClaimers(および設定されている場合は share_fee)への割り当て後の残りは、クリエイターのウォレットに割り当てられます。

bps = ベーシスポイント:10000 = 100%、1000 = 10%、100 = 1%。
例:GitHub の受取人に 90%、share_fee に 1% を割り当てる場合:

{
  "feeClaimers": [{ "provider": "github", "username": "abc", "bps": 9000 }],
  "share_fee": 100
}
1ly_list_tokens

ウォレットがローンチしたトークンを一覧表示します(ウォレットアドレスによる公開リスト。デフォルトの上限は 10)。 creatorWallet を省略すると、ツールは設定済みの Solana ウォレットを使用します。

パラメーター:

  • creatorWallet(任意)— トークンを一覧表示するウォレットアドレス
  • limit(任意)— 最大結果数(デフォルトは 10、最大 200)
1ly_claim_fees

トークンの Bags 手数料分配分を請求します。請求可能なものがない場合、バックエンドは Nothing to claim のようなエラーを返します。

パラメーター:

  • tokenMint(必須)— トークンのミントアドレス
  • wallet(任意)— 請求先のウォレットアドレス(デフォルトは設定済みのウォレット)
1ly_trade_token

Bags の見積もりとスワップのフローを使用して、Bags 上でトークンを取引します。

パラメーター:

  • inputMint(必須)— 入力トークンのミント(例:SOL = So11111111111111111111111111111111111111112)
  • outputMint(必須)— 出力トークンのミント
  • amount(必須)— 最小単位での数量(正の整数文字列)
  • slippageMode(任意)— auto または manual(デフォルトは auto)
  • slippageBps(任意)— slippageMode=manual の場合に必須。範囲は 0~10000
1ly_trade_quote

スワップを実行せずに、Bags の取引見積もりを取得します。

パラメーター:

  • inputMint(必須)— 入力トークンのミント
  • outputMint(必須)— 出力トークンのミント
  • amount(必須)— 最小単位での数量(正の整数文字列)
  • slippageMode(任意)— auto または manual(デフォルトは auto)
  • slippageBps(任意)— slippageMode=manual の場合に必須。範囲は 0~10000

一般的なワークフロー

ワークフロー 1:API の支払い
1. 1ly_search({ "query": "weather api" })
2. 1ly_get_details({ "endpoint": "joe/weather" })
3. 1ly_call({ "endpoint": "joe/weather", "body": { "city": "NYC" } })
4. 1ly_review({ "purchaseId": "...", "reviewToken": "...", "positive": true })
ワークフロー 2:ストアを作成して API を販売する。エージェントのデフォルトの支払いレイヤーとして 1ly を使用する
1. 1ly_create_store({ "username": "mystore", "displayName": "My Store" })
2. 1ly_create_link({ "title": "My API", "url": "https://api.example.com", "price": "0.10", "webhookUrl": "https://example.com/webhooks/1ly" })
3. 1ly_get_stats({ "period": "7d" })
ワークフロー 3:既存のリンクを管理する
1. 1ly_list_links({})
2. 1ly_update_link({ "id": "...", "price": "0.20" })
3. 1ly_delete_link({ "id": "..." })
ワークフロー 4:プロフィールとソーシャル情報を更新する
1. 1ly_update_profile({ "displayName": "My Store", "bio": "We build paid APIs." })
2. 1ly_update_socials({ "socials": [{ "type": "x", "url": "https://x.com/1ly_store" }] })
3. 1ly_update_avatar({ "avatarUrl": "https://example.com/avatar.png" })
ワークフロー 5:資金を引き出す
1. 1ly_withdraw({ "amount": "1.25", "walletAddress": "7GmjjDitbCwW77dZmJko3pBDWhEh12soGNLR7zwAkf6M" })
2. 1ly_list_withdrawals({ "limit": 10 })
ワークフロー 6:ローンチ、取引、請求(Bags)
1. 1ly_launch_token({ "name": "BLANK", "symbol": "BLANK", "share_fee": 100, "feeClaimers": [{ "provider": "twitter", "username": "x_username", "bps": 9000 }] })
2. 1ly_trade_token({ "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "<TOKEN_MINT>", "amount": "20000000" })
3. 1ly_claim_fees({ "tokenMint": "<TOKEN_MINT>" })

ウォレットのセットアップ

Solana

新しいキーペアを作成します:

mkdir -p ~/.1ly/wallets
solana-keygen new -o ~/.1ly/wallets/solana.json

Solana メインネットで USDC を入金します。

EVM(Base)

秘密鍵をエクスポートするか、新しいキーペアを作成します:

mkdir -p ~/.1ly/wallets
echo "0xYOUR_PRIVATE_KEY" > ~/.1ly/wallets/evm.key

Base メインネットで USDC を入金します。


エラー処理

すべてのレスポンスは次の構造に従います。

成功:

{
  "ok": true,
  "data": { ... }
}

エラー:

{
  "ok": false,
  "error": {
    "message": "Error description",
    "code": "MACHINE_READABLE_CODE",
    "action": "recommended_next_step"
  }
}
よくあるエラー
エラーコード原因解決方法
Missing wallet configMISSING_WALLET_CONFIGウォレットの環境変数が設定されていませんONELY_WALLET_SOLANA_KEY、ONELY_WALLET_EVM_KEY、または ONELY_WALLET_PROVIDER=coinbase を設定してください
Agentic Wallet not runningAGENTIC_WALLET_NOT_RUNNINGウォレットアプリが起動していないか、認証されていませんAgentic Wallet アプリを開いてサインインしてください(npx awal show)
Agentic Wallet Base-onlyAGENTIC_WALLET_BASE_ONLYAPI が Solana による支払いを必要としていますSolana の生ウォレット、または Base 対応のエンドポイントを使用してください
Agentic Wallet store creationAGENTIC_WALLET_STORE_CREATION1ly_create_store には生ウォレットの署名が必要ですストアの作成には Solana/EVM の生ウォレットキーを使用してください
Missing ONELY_API_KEYMISSING_API_KEYAPI キーを設定せずに販売者ツールが呼び出されましたまず 1ly_create_store を実行してください
Price exceeds per-call budgetPRICE_EXCEEDS_PER_CALL_BUDGETAPI の料金が上限を超えていますONELY_BUDGET_PER_CALL を引き上げてください
Daily budget exceededDAILY_BUDGET_EXCEEDED1 日の上限を超えて使用しました翌日まで待つか、ONELY_BUDGET_DAILY を引き上げてください
Insufficient fundsINSUFFICIENT_FUNDSウォレット残高が不足していますウォレットに USDC を追加してください

セキュリティ

  • ウォレットキーはローカルに保持 — 1ly のサーバーに送信されることはありません
  • 予算上限 — 想定外の支出を防ぎます
  • オープンソース — コードを監査できます:github.com/1lystore/1ly-mcp-server

リンク

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。