クイックスタート
5分以内にAIエージェントが決済を行えるようになります。
MCPサーバーをインストール
npmでBananaCrystal MCPサーバーをグローバルにインストールします。
npm install -g @bananacrystal/mcp-serverClaude Desktopを設定
Claude Desktopの設定ファイルにBananaCrystalを追加します。
{
"mcpServers": {
"bananacrystal": {
"command": "bananacrystal-mcp",
"env": {
"BANANACRYSTAL_API_KEY": "bc_test_your_sandbox_key_here"
}
}
}
}エージェントに依頼
エージェントは40の決済ツールを使えるようになりました。次のプロンプトを試してみてください:
MCPツール
6つのカテゴリにわたる、本番対応の40の決済ツールです。読み取り専用の操作は常に無料です。
pingget_server_infoechoget_my_profileget_balancesget_exchange_ratelist_supported_currencieslist_available_tokensget_transaction_historyget_my_limitsestimate_swap_feesget_agent_configcheck_approval_statusget_kyc_statusget_deposit_statusget_withdrawal_statusget_escrow_balancesget_escrow_historylist_offersget_offerget_my_offerslist_tradesget_tradeget_my_tradesrequest_transfer_otptransfer_tokensswap_currencyinitiate_kycinitiate_depositrequest_withdrawalcreate_offerupdate_offerdelist_offerdelete_offerengage_offercancel_traderequest_agent_transactionexecute_approved_transactionupdate_my_agent_settingsreset_sandbox_balanceRate API
RESTによる高度な為替レート操作です。rateスコープのAPIキーが必要です。
MCPツールとRate APIの違いは?
MCPサーバーには、read_only ツールとして get_exchange_rate がすでに含まれています。エージェントはこれを直接呼び出して、1つの通貨のUSDに対する買値/売値のレートを取得できます。エージェントのほとんどのユースケースはこれで対応できます。
Rate APIはさらに多くの機能を提供します:クロスペアの換算、一括処理、過去の時系列データ、統計の要約。これらは rate スコープのAPIキーで認証する直接のHTTPエンドポイントとして利用できます。rateキーはアカウントダッシュボードで作成してください。
認証
すべてのRate APIエンドポイントでは、rate スコープのAPIキーを x-api-key ヘッダーで渡す必要があります。サンドボックス版は /mcp/sandbox/rate/* で利用でき、サンドボックスキー(bc_test_...)を使用して、再現可能なテストのための固定のモックレートを返します。
/mcp/rate/currencies対応しているすべての通貨を一覧表示
リクエストの例
curl "https://agentic.bananacrystal.com/mcp/rate/currencies" \
-H "x-api-key: bc_live_your_rate_key_here"レスポンスの例
{
"count": 11,
"currencies": ["EGP", "EUR", "GBP", "GHS", "KES", "NGN", "TZS", "UGX", "USD", "XOF", "ZAR"]
}/mcp/rate/current2つの通貨間の現在の為替レートを取得
パラメーター
| 名前 | 必須 | 説明 |
|---|---|---|
from | 必須 | 換算元の通貨コード(例:USD) |
to | 必須 | 換算先の通貨コード(例:NGN) |
リクエストの例
curl "https://agentic.bananacrystal.com/mcp/rate/current?from=USD&to=NGN" \
-H "x-api-key: bc_live_your_rate_key_here"レスポンスの例
{
"from": "USD",
"to": "NGN",
"rate": 1584.75,
"buyRate": 1590.0,
"sellRate": 1579.5,
"timestamp": "2026-04-30T10:22:00.000Z"
}/mcp/rate/convertある通貨から別の通貨に金額を換算
パラメーター
| 名前 | 必須 | 説明 |
|---|---|---|
from | 必須 | 換算元の通貨コード |
to | 必須 | 換算先の通貨コード |
amount | 必須 | 換算する金額(数値) |
リクエストの例
curl "https://agentic.bananacrystal.com/mcp/rate/convert?from=USD&to=NGN&amount=100" \
-H "x-api-key: bc_live_your_rate_key_here"レスポンスの例
{
"from": "USD",
"to": "NGN",
"amount": 100,
"converted": 158475.0,
"rate": 1584.75,
"timestamp": "2026-04-30T10:22:00.000Z"
}/mcp/rate/batch-convert1回のリクエストで複数の通貨金額を換算(最大100件)
リクエストの例
curl -X POST "https://agentic.bananacrystal.com/mcp/rate/batch-convert" \
-H "x-api-key: bc_live_your_rate_key_here" \
-H "Content-Type: application/json" \
-d '{
"conversions": [
{ "from": "USD", "to": "NGN", "amount": 100 },
{ "from": "USD", "to": "GHS", "amount": 50 },
{ "from": "EUR", "to": "GBP", "amount": 200 }
]
}'レスポンスの例
[
{ "from": "USD", "to": "NGN", "amount": 100, "converted": 158475.0, "rate": 1584.75, "timestamp": "..." },
{ "from": "USD", "to": "GHS", "amount": 50, "converted": 800.0, "rate": 16.0, "timestamp": "..." },
{ "from": "EUR", "to": "GBP", "amount": 200, "converted": 172.0, "rate": 0.86, "timestamp": "..." }
]/mcp/rate/history通貨ペアの過去の為替レートを取得
パラメーター
| 名前 | 必須 | 説明 |
|---|---|---|
from | 必須 | 換算元の通貨コード |
to | 必須 | 換算先の通貨コード |
startDate | 必須 | 開始日(ISO 8601、例:2026-04-01) |
endDate | 必須 | 終了日(ISO 8601、例:2026-04-30) |
リクエストの例
curl "https://agentic.bananacrystal.com/mcp/rate/history?from=USD&to=NGN&startDate=2026-04-01&endDate=2026-04-30" \
-H "x-api-key: bc_live_your_rate_key_here"レスポンスの例
[
{ "date": "2026-04-01T00:00:00.000Z", "from": "USD", "to": "NGN", "buyRate": 1580.0, "sellRate": 1575.0, "midRate": 1577.5 },
{ "date": "2026-04-02T00:00:00.000Z", "from": "USD", "to": "NGN", "buyRate": 1582.0, "sellRate": 1577.0, "midRate": 1579.5 }
]/mcp/rate/stats期間内のレート統計(最高値、最安値、平均、最新)を取得
パラメーター
| 名前 | 必須 | 説明 |
|---|---|---|
from | 必須 | 換算元の通貨コード |
to | 必須 | 換算先の通貨コード |
days | 任意 | 期間(日数)、1から365(初期値:30) |
リクエストの例
curl "https://agentic.bananacrystal.com/mcp/rate/stats?from=USD&to=NGN&days=30" \
-H "x-api-key: bc_live_your_rate_key_here"レスポンスの例
{
"from": "USD",
"to": "NGN",
"period": "30d",
"high": 1598.0,
"low": 1560.0,
"avg": 1581.4,
"latest": 1584.75,
"count": 30
}サンドボックスRate API
/mcp/rate/ を /mcp/sandbox/rate/ に置き換え、サンドボックスキーを使用すると固定のモックレートを取得できます。過去データは現実的なテストのために ±2% の変動で生成されます。実際の為替データは使用されません。
サンドボックス環境
事前投入された残高を使い、実際のお金を使わずに安全に統合をテストできます。
サンドボックスとは?
サンドボックスは、本番環境を正確に再現した完全に分離されたテスト環境です。同じツール、同じAPI、同じレスポンス形式を備えています。実際のお金は動きません。サンドボックスAPIキーは bc_test_ で始まり、Hedera testnetに接続します。
事前投入済みの残高
すべてのサンドボックスアカウントは次の残高から始まります。reset_sandbox_balance を使えば、いつでも元に戻せます。
| トークン | 金額 | 通貨 |
|---|---|---|
USDb | 10,000 | USD |
NGNb | 5,000,000 | NGN |
GHSb | 50,000 | GHS |
KESb | 1,000,000 | KES |
ZARb | 150,000 | ZAR |
サンドボックスと本番環境の比較
| 機能 | サンドボックス | 本番環境 |
|---|---|---|
| 実際の資金移動 | なし:シミュレーションのみ | あり |
| OTP認証 | APIレスポンスで返却 | メールで送信 |
| 法定通貨にKYCが必要 | いいえ | はい |
| 支出上限の適用 | あり(設定可能) | あり |
| APIキーのプレフィックス | bc_test_... | bc_live_... |
| Hederaでの決済 | Testnet | Mainnet |
| 事前投入済みの残高 | あり(いつでもリセット可能) | なし |
| レート制限 | 緩和 | プランごと |
サンドボックスでのOTP
サンドボックスモードでは、OTPコードはメールで送信されず、request_transfer_otp のAPIレスポンスで直接返されます。メールにアクセスしなくても、自動テストを簡単に行えます。
サンドボックスの設定
{
"mcpServers": {
"bananacrystal": {
"command": "bananacrystal-mcp",
"env": {
"BANANACRYSTAL_API_KEY": "bc_test_your_sandbox_key_here",
"BANANACRYSTAL_API_URL": "https://agentic.bananacrystal.com/mcp/sandbox"
}
}
}
}設定
お好みのAIツールやフレームワークにBananaCrystalを接続します。
{
"mcpServers": {
"bananacrystal": {
"command": "bananacrystal-mcp",
"env": {
"BANANACRYSTAL_API_KEY": "your_api_key_here"
}
}
}
}環境変数
BANANACRYSTAL_API_KEY必須MCP APIキーです。サンドボックスキーは bc_test_ で、本番キーは bc_live_ で始まります。
初期値: N/A
BANANACRYSTAL_API_URL任意MCPエンドポイントURLを上書きします。テストにはサンドボックスのURLを使用してください。
初期値: https://agentic.bananacrystal.com/mcp
DEBUG任意true に設定すると、リクエスト/レスポンスの詳細なログが有効になります。
初期値: false
| 変数 | 必須 | 初期値 | 説明 |
|---|---|---|---|
BANANACRYSTAL_API_KEY | 必須 | N/A | MCP APIキーです。サンドボックスキーは bc_test_ で、本番キーは bc_live_ で始まります。 |
BANANACRYSTAL_API_URL | 任意 | https://agentic.bananacrystal.com/mcp | MCPエンドポイントURLを上書きします。テストにはサンドボックスのURLを使用してください。 |
DEBUG | 任意 | false | true に設定すると、リクエスト/レスポンスの詳細なログが有効になります。 |
フレームワーク統合
人気のAIエージェントフレームワーク向けの、すぐに実行できるサンプルです。
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_anthropic import ChatAnthropic
from langchain_core.prompts import ChatPromptTemplate
async def main():
# Connect to BananaCrystal MCP server
client = MultiServerMCPClient({
"bananacrystal": {
"url": "https://agentic.bananacrystal.com/mcp",
"transport": "streamable_http",
"headers": {
"Authorization": "Bearer your_api_key_here"
}
}
})
# Get all 40 payment tools
tools = await client.get_tools()
# Create an agent with payment capabilities
llm = ChatAnthropic(model="claude-3-5-sonnet-20241022")
prompt = ChatPromptTemplate.from_messages([
("system", "You are a payment agent. Use the BananaCrystal tools to help users manage their finances."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# Run the agent
result = await executor.ainvoke({
"input": "What is my current USDb balance?"
})
print(result["output"])
asyncio.run(main())MCP対応のフレームワークであれば、どれでも動作します。お使いのフレームワークがHTTPベースのMCPサーバーに対応していれば、APIキーをBearerトークンとして指定し、接続先を https://agentic.bananacrystal.com/mcp に設定してください。
セキュリティアーキテクチャ
複数の防御層により、エージェントはあなたが明示的に許可したことしか実行できません。
APIキーのスコープ
各APIキーには明示的な権限スコープがあります。エージェントは許可されたスコープ内の操作しか実行できません。
支出上限
APIキーごとに、取引ごとの厳格な上限と24時間ローリングの1日の上限を設定できます。これらはインフラのレベルで適用されます。
OTP認証
すべてのトークン送金には、登録メールアドレスに送信される6桁のOTPが必要です。あなたがそのコードを提供しない限り、エージェントは送金を完了できません。
レート制限
キーごと、1分ごとのレート上限により、暴走したエージェントがAPIに過剰な負荷をかけるのを防ぎます。上限はプランの階層に応じて変わります。
変更できない監査証跡
すべてのツール呼び出しはHederaのコンセンサスレイヤーに記録されます。タイムスタンプ付きで改ざんできず、オンチェーンで誰でも検証できます。完全な監査履歴は get_transaction_history で取得できます。
エージェント承認フロー
エージェント間取引では、実行前に人間によるメール承認を必須にできます。require_human_approval の設定には update_my_agent_settings を使用してください。
APIキーのスコープ
資金を動かさずに、残高、レート、履歴、上限を確認
他のアカウントにトークンを送金(OTPが必要)
通貨ステーブルコイン間でスワップ
法定通貨の入金と出金(KYCが必要)
予測市場のオファーと取引の作成・管理
為替レート、過去データ、換算、レート統計へのアクセス
| スコープ | 許可される操作 |
|---|---|
| read_only | 資金を動かさずに、残高、レート、履歴、上限を確認 |
| transfer | 他のアカウントにトークンを送金(OTPが必要) |
| swap | 通貨ステーブルコイン間でスワップ |
| fiat | 法定通貨の入金と出金(KYCが必要) |
| offers | 予測市場のオファーと取引の作成・管理 |
| rate | 為替レート、過去データ、換算、レート統計へのアクセス |
料金
読み取り専用の操作は常に無料です。価値を動かす取引にのみ料金がかかります。
操作ごとの手数料
読み取り専用の操作
get_balances, get_exchange_rate, list_trades, …
トークン送金
transfer_tokens
通貨スワップ
swap_currency
法定通貨の入金
initiate_deposit
法定通貨の出金
request_withdrawal
予測市場
create_offer, engage_offer
| 操作 | ツール | 手数料 |
|---|---|---|
| 読み取り専用の操作 | get_balances, get_exchange_rate, list_trades, … | 無料 |
| トークン送金 | transfer_tokens | 0.3% |
| 通貨スワップ | swap_currency | 0.5% |
| 法定通貨の入金 | initiate_deposit | レールにより異なる |
| 法定通貨の出金 | request_withdrawal | レールにより異なる |
| 予測市場 | create_offer, engage_offer | 決済時にプラットフォーム手数料 |
プラン
無料
読み取り専用ツールはすべて常に無料です。レートや残高の確認にアカウントは不要です。
- 読み取り専用ツールはすべて永久に無料
- サンドボックス環境付き
- get_balances、get_exchange_rate など22以上
- コミュニティサポート
- Hedera testnetでの決済
従量課金
成長に合わせて拡張。使った分だけお支払いください。
- API呼び出し無制限
- 送金0.3%
- スワップ0.5%
- 法定通貨レール(方法により異なる)
- メール + 優先サポート
- Hedera mainnetでの決済
- 完全な監査証跡
エンタープライズ
ボリュームディスカウント、SLA、専用インフラ。
- カスタム手数料体系
- 専用MCPエンドポイント
- SLA保証
- カスタム支出上限
- 専任サポート
- オンプレミスのオプション
よくある質問
BananaCrystalとMCPサーバーに関するよくある質問です。