Coinbase Bazaar via Gateway AgentCore
AgentCore Gateway vous permet de vous connecter à des serveurs MCP payants et à des points de terminaison d'API. Vous pouvez ajouter le serveur MCP Coinbase x402 Bazaar comme cible dans une passerelle pour découvrir plus de 10 000 outils MCP payants existants qui prennent en charge les microtransactions x402.
Ajouter le serveur Coinbase x402 Bazaar MCP à une passerelle
Exemple
- Console
-
-
Accédez à la section Cible.
-
(Facultatif) Modifiez le nom de la cible générée.
-
(Facultatif) Fournissez une description de la cible.
-
Pour le type de cible, choisissez Integrations.
-
Sélectionnez Coinbase x402 Bazaar.
-
Ignorez les configurations d'authentification sortante. « Aucune autorisation » est la seule option prise en charge et est sélectionnée par défaut.
- AgentCore CLI
-
agentcore add gateway-target \
--name CoinbaseTarget \
--type mcp-server \
--endpoint https://api.cdp.coinbase.com/platform/v2/x402/discovery/mcp \
--gateway MyGateway
agentcore deploy
- AWS SDK
-
import boto3
agentcore_client = boto3.client('bedrock-agentcore-control')
target = agentcore_client.create_gateway_target(
gatewayIdentifier="your-gateway-id",
name="Coinbasex402BazaarTarget",
description="Coinbase x402 Bazaar MCP server for paid API discovery",
targetConfiguration={
"mcp": {
"mcpServer": {
"endpoint": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/mcp"
}
}
}
)
- Strands SDK
-
Utilisez le Coinbase x402 Bazaar Gateway Target avec votre agent :
from strands import Agent
from strands.models import BedrockModel
from strands.tools.mcp.mcp_client import MCPClient
from mcp.client.streamable_http import streamablehttp_client
from bedrock_agentcore.payments.integrations.config import AgentCorePaymentsPluginConfig
from bedrock_agentcore.payments.integrations.strands.plugin import AgentCorePaymentsPlugin
GATEWAY_URL = "https://<your-gateway-id>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp"
ACCESS_TOKEN = "<your-inbound-auth-token>"
mcp_client = MCPClient(
lambda: streamablehttp_client(GATEWAY_URL, headers={"Authorization": f"Bearer {ACCESS_TOKEN}"})
)
# Configure the Payment plugin
config = AgentCorePaymentsPluginConfig(
payment_manager_arn="arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/pm-abc123",
user_id="test-user-123",
payment_instrument_id="payment-instrument-XJU4RSQP9VO0ler",
payment_session_id="payment-session-xuzrnUCd7RT725G",
region="us-west-2",
)
# Create the plugin
plugin = AgentCorePaymentsPlugin(config=config)
with mcp_client:
tools = mcp_client.list_tools_sync()
agent = Agent(
model=BedrockModel(inference_profile_id="us.anthropic.claude-sonnet-4-20250514-v1:0", streaming=True),
tools=tools,
plugins=[plugin], # enables automatic payments
)
response = agent("Search for available x402 paid APIs related to weather data")
print(response)
- LangGraph
-
Utilisez le Coinbase x402 Bazaar Gateway Target avec votre agent : LangGraph
import asyncio
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI
from langchain_mcp_adapters.client import MultiServerMCPClient
from bedrock_agentcore.payments.integrations.langgraph import (
AgentCorePaymentsConfig,
AgentCorePaymentsMiddleware,
)
GATEWAY_URL = "https://<your-gateway-id>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp"
ACCESS_TOKEN = "<your-inbound-auth-token>"
async def main():
client = MultiServerMCPClient({
"bazaar": {
"transport": "streamable_http",
"url": GATEWAY_URL,
"headers": {"Authorization": f"Bearer {ACCESS_TOKEN}"},
}
})
mcp_tools = await client.get_tools()
config = AgentCorePaymentsConfig(
payment_manager_arn="arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/pm-abc123",
user_id="test-user-123",
payment_instrument_id="payment-instrument-XJU4RSQP9VO0ler",
region="us-west-2",
auto_session=True,
)
payments = AgentCorePaymentsMiddleware(config)
agent = create_agent(
model=ChatOpenAI(model="gpt-4o-mini"),
tools=mcp_tools,
middleware=[payments],
)
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "Search for available x402 paid APIs related to weather data"}]}
)
print(result["messages"][-1].content)
asyncio.run(main())
Une fois la cible de Bazaar configurée, vos agents peuvent découvrir et appeler des terminaux x402 payants via la passerelle. Lorsqu'un point de terminaison renvoie le protocole HTTP 402, AgentCore Payments gère automatiquement le flux de paiements si vous avez configuré un plugin de paiement (Strands) ou un intergiciel (LangGraph) dans votre agent. Pour en savoir plus, consultez la section Intégrations du Framework.
Pour configurer le gestionnaire de paiements et le connecteur nécessaires au traitement des paiements, voir Créer un gestionnaire de paiement et un connecteur.