https://agent-margin-router-production.up.railway.appEmbed Verified README Badge (Free): [](https://assay.agentdiet.dev/?inspect=https://agent-margin-router-production.up.railway.app)
Canonical SHA-256 Schema Lock: sha256:3eea4088e6dc9.. → sha256:27dfd697c8b58..
| MCP Tool Name | Current TDQS | Detected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema) |
|---|---|---|
extract_clean | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
market_spread | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
gas_fees | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
best_price | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
token_price | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
wallet_balance | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
web_search | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
email_validate | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
dns_whois | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
pdf_text | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
seo_check | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
defi_yields | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
currency_convert | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
geo_ip | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
rss_feed | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
crypto_ohlcv | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
ens_resolve | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
html_to_markdown | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
youtube_transcript | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
github_repo_summary | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints |
dex_price | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
tx_status | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
erc20_balance | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
news_search | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
hn_search | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
reddit_search | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
defi_tvl | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
fear_greed | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
agent_wallet_snapshot | 3.7/5.0 (74) | Unbounded inputSchema: additionalProperties!=false, Missing MCP annotations.title / safety hints |
url_status | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
web_crawl | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints |
metadata | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
sitemap_urls | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints |
wikipedia_summary | 3.7/5.0 (74) | Unbounded inputSchema: additionalProperties!=false, Missing MCP annotations.title / safety hints |
arxiv_search | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
npm_package | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
pypi_package | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints |
geocode | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints |
domain_rdap | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
dns_lookup | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
contract_info | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
weather | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
holidays | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
robots_check | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
feed_discover | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
text_stats | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
timezone | 3.05/5.0 (61) | Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
qr_generate | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
uuid | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
hash | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
media_convert | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
health | 2.4/5.0 (48) | Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints |
payment_info | 3.7/5.0 (74) | Unbounded inputSchema: additionalProperties!=false, Missing MCP annotations.title / safety hints |
{
"tool_1_before": {
"name": "extract_clean",
"title": "Extract Clean",
"description": "Clean page extraction from any public URL: title, meta description, main text, JSON-LD, language. Optional `schema` keeps only the listed top-level keys. Apify (JS-rendered) with direct-fetch fallback. Pay per call with USDC or USDT on Base via x402 \u2013 no API key, no signup. 3 free calls per wallet.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL to extract.",
"format": "uri"
},
"schema": {
"type": "object",
"description": "Optional JSON schema for the output."
},
"instructions": {
"type": "string",
"description": "Optional natural-language hints."
},
"wallet": {
"type": "string",
"description": "Your EVM wallet address (0x...). Unlocks the free tier (3 free calls per wallet)."
},
"api_key": {
"type": "string",
"description": "Optional AMR enterprise API key."
},
"x_payment": {
"type": "string",
"description": "Optional signed x402 payment payload (base64 JSON) for USDC/USDT on Base."
}
},
"required": [
"url"
]
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": true
},
"outputSchema": {
"description": "Response for ``POST /extract-clean``.",
"properties": {
"data": {
"additionalProperties": true,
"description": "Extracted page data (title, description, text, json_ld, language, ...).",
"title": "Data",
"type": "object"
},
"sources_checked": {
"description": "Number of providers consulted.",
"title": "Sources Checked",
"type": "integer"
},
"freshness_seconds": {
"description": "Age of the underlying data in seconds (0 = fetched live).",
"title": "Freshness Seconds",
"type": "integer"
},
"confidence": {
"description": "Confidence score between 0 and 1.",
"maximum": 1.0,
"minimum": 0.0,
"title": "Confidence",
"type": "number"
},
"cost_usdc": {
"description": "Price charged in stablecoin units (USDC/USDT 1:1).",
"title": "Cost Usdc",
"type": "number"
},
"token": {
"default": "USDC",
"description": "Token actually used for payment (USDC, USDT or FREE).",
"title": "Token",
"type": "string"
},
"fetched_at": {
"description": "UTC timestamp when the data was fetched.",
"format": "date-time",
"title": "Fetched At",
"type": "string"
},
"routing": {
"description": "How the request was routed (provider, fallback, cache, latency).",
"properties": {
"provider": {
"description": "Name of the upstream provider that served the result.",
"title": "Provider",
"type": "string"
},
"fallback_used": {
"default": false,
"description": "True if the primary provider failed and a fallback served the result.",
"title": "Fallback Used",
"type": "boolean"
},
"providers_tried": {
"description": "Providers attempted, in order.",
"items": {
"type": "string"
},
"title": "Providers Tried",
"type": "array"
},
"cache_hit": {
"default": false,
"description": "True if the result was served from cache.",
"title": "Cache Hit",
"type": "boolean"
},
"latency_ms": {
"default": 0,
"description": "End-to-end routing latency in milliseconds.",
"title": "Latency Ms",
"type": "integer"
}
},
"required": [
"provider"
],
"title": "RoutingMeta",
"type": "object"
},
"x_payment_response": {
"type": "string",
"description": "Base64-encoded x402 settlement receipt (mirrors the X-PAYMENT-RESPONSE header). Only present when the call was paid with `x_payment`."
}
},
"required": [
"data",
"sources_checked",
"freshness_seconds",
"confidence",
"cost_usdc",
"routing"
],
"type": "object"
}
},
"tool_1_compiled_5_0_tdqs": {
"name": "extract_clean",
"title": "Extract Clean",
"description": "Clean page extraction from any public URL: title, meta description, main text, JSON-LD, language. Optional `schema` keeps only the listed top-level keys. Apify (JS-rendered) with direct-fetch fallback. Pay per call with USDC or USDT on Base via x402 \u2013 no API key, no signup. 3 free calls per wallet. WHEN TO USE: Call extract_clean for this operation; for sibling workflows use market_spread, gas_fees, best_price. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Pass url, schema to scope execution; optional fields refine filtering when set and use safe defaults when omitted. Read-only and idempotent; failed calls do not mutate state.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public URL to extract.",
"format": "uri",
"minLength": 1,
"maxLength": 2048
},
"schema": {
"type": "object",
"description": "Optional JSON schema for the output."
},
"instructions": {
"type": "string",
"description": "Optional natural-language hints.",
"minLength": 1,
"maxLength": 2048
},
"wallet": {
"type": "string",
"description": "Your EVM wallet address (0x...). Unlocks the free tier (3 free calls per wallet).",
"minLength": 1,
"maxLength": 2048
},
"api_key": {
"type": "string",
"description": "Optional AMR enterprise API key.",
"minLength": 1,
"maxLength": 2048
},
"x_payment": {
"type": "string",
"description": "Optional signed x402 payment payload (base64 JSON) for USDC/USDT on Base.",
"minLength": 1,
"maxLength": 2048
}
},
"required": [
"url"
],
"additionalProperties": false
},
"annotations": {
"title": "Extract Clean",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
},
"outputSchema": {
"description": "Response for ``POST /extract-clean``.",
"properties": {
"data": {
"additionalProperties": true,
"description": "Extracted page data (title, description, text, json_ld, language, ...).",
"title": "Data",
"type": "object"
},
"sources_checked": {
"description": "Number of providers consulted.",
"title": "Sources Checked",
"type": "integer"
},
"freshness_seconds": {
"description": "Age of the underlying data in seconds (0 = fetched live).",
"title": "Freshness Seconds",
"type": "integer"
},
"confidence": {
"description": "Confidence score between 0 and 1.",
"maximum": 1.0,
"minimum": 0.0,
"title": "Confidence",
"type": "number"
},
"cost_usdc": {
"description": "Price charged in stablecoin units (USDC/USDT 1:1).",
"title": "Cost Usdc",
"type": "number"
},
"token": {
"default": "USDC",
"description": "Token actually used for payment (USDC, USDT or FREE).",
"title": "Token",
"type": "string"
},
"fetched_at": {
"description": "UTC timestamp when the data was fetched.",
"format": "date-time",
"title": "Fetched At",
"type": "string"
},
"routing": {
"description": "How the request was routed (provider, fallback, cache, latency).",
"properties": {
"provider": {
"description": "Name of the upstream provider that served the result.",
"title": "Provider",
"type": "string"
},
"fallback_used": {
"default": false,
"description": "True if the primary provider failed and a fallback served the result.",
"title": "Fallback Used",
"type": "boolean"
},
"providers_tried": {
"description": "Providers attempted, in order.",
"items": {
"type": "string"
},
"title": "Providers Tried",
"type": "array"
},
"cache_hit": {
"default": false,
"description": "True if the result was served from cache.",
"title": "Cache Hit",
"type": "boolean"
},
"latency_ms": {
"default": 0,
"description": "End-to-end routing latency in milliseconds.",
"title": "Latency Ms",
"type": "integer"
}
},
"required": [
"provider"
],
"title": "RoutingMeta",
"type": "object"
},
"x_payment_response": {
"type": "string",
"description": "Base64-encoded x402 settlement receipt (mirrors the X-PAYMENT-RESPONSE header). Only present when the call was paid with `x_payment`."
}
},
"required": [
"data",
"sources_checked",
"freshness_seconds",
"confidence",
"cost_usdc",
"routing"
],
"type": "object"
}
},
"auto_generated_a2a_skill_1_preview": {
"id": "extract-clean",
"name": "Extract Clean",
"description": "Clean page extraction from any public URL: title, meta description, main text, JSON-LD, language. Optional `schema` keeps only the listed top-level keys. Apify (JS-rendered) with direct-fetch fallback. Pay per call with ",
"tags": [
"mcp",
"a2a",
"x402",
"extract"
]
},
"signed_mcp_lock_preview": {
"target": "https://agent-margin-router-production.up.railway.app",
"tools_hash": "sha256:27dfd697c8b58464513ea070364ab82fde4140d9b5b5711179d36bec700ab3ec",
"tdqs": 5.0,
"protocols": [
"mcp-2025-03-26",
"a2a-0.2.1",
"x402-v2-bazaar",
"stripe-mpp-32042"
],
"signature": "asr_lock_3043dbac460314f369dc4ee1337fbd28"
},
"locked_bundle_contents": "Unlock remaining 52 compiled 5.0/5.0 tools + full /.well-known/agent-card.json + /.well-known/mcp.json + Coinbase x402 Bazaar & Stripe MPP (-32042) monetization config below ($9)"
}
All 25 first-party production nodes enforce deterministic schemas, sub-second SLA, and instant x402 (`0xec5275d5b03bc390fca63d902d0b2d0db2eb5573`) + Stripe MPP settlement: