xyz.tenzro/tenzro-chainlink
REMOTE · CHAINLINK-MCP.TENZRO.XYZ · SCANNED AUG 3
Chainlink tools over MCP: CCIP cross-chain, data feeds, data streams, VRF, proof of reserve.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 21 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3266 tokens (~155/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · chainlink-mcp.tenzro.xyz
claude mcp add --transport http xyz-tenzro-tenzro-chainlink https://chainlink-mcp.tenzro.xyz/mcp
[mcp_servers.xyz-tenzro-tenzro-chainlink] url = "https://chainlink-mcp.tenzro.xyz/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xyz-tenzro-tenzro-chainlink": {
"type": "remote",
"url": "https://chainlink-mcp.tenzro.xyz/mcp",
"enabled": true
}
}
} openclaw mcp add xyz-tenzro-tenzro-chainlink --url https://chainlink-mcp.tenzro.xyz/mcp --transport streamable-http
mcp_servers:
xyz-tenzro-tenzro-chainlink:
url: "https://chainlink-mcp.tenzro.xyz/mcp" {
"mcpServers": {
"xyz-tenzro-tenzro-chainlink": {
"type": "http",
"url": "https://chainlink-mcp.tenzro.xyz/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://chainlink-mcp.tenzro.xyz/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=chainlink-mcp.tenzro.xyz | CN=YE2,O=Let's Encrypt,C=US | 18 Jul 2026 | 16 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 52a31bfda2d74237325c2c5374200781fc4 |
| SANs: chainlink-mcp.tenzro.xyz | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of chainlink-mcp.tenzro.xyz. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| xyz. | present | 3599, 18130 | 8, 8 | Verified |
| tenzro.xyz. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://chainlink-mcp.tenzro.xyz/mcp | Verified | 200 | |
| http (plaintext) | http://chainlink-mcp.tenzro.xyz/mcp | HTTPS enforced | 308 | https://chainlink-mcp.tenzro.xyz/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
ccip_get_fee ~238
Estimate CCIP cross-chain messaging fee via Router.getFee() eth_call. Returns the native fee required to send a CCIP message from the source chain to the destination chain. Supports Ethereum, Base, and Arbitrum as source chains.
| Name | Type | Req | Description |
|---|---|---|---|
| data_hex | string|null | — | Hex-encoded data payload to send (with or without 0x prefix). Use '0x' or '' for empty |
| dst_chain_selector | string | yes | Destination CCIP chain selector (uint64). E.g. 4949039107694359620 for Arbitrum |
| fee_token | string|null | — | Fee token address. Use zero address (0x0000...0000) for native gas token payment |
| receiver | string | yes | Hex-encoded receiver address on the destination chain (with or without 0x prefix) |
| src_chain_id | string | yes | Source chain identifier: 'ethereum', 'base', 'arbitrum', or a chain ID number |
| token_amounts | array|null | — | Token amounts to transfer as JSON array of {token, amount} objects. Empty array for message-only |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_get_lanes ~98
Get available CCIP lanes (source-destination chain pairs) from the Chainlink REST API. Optionally filter by source or destination chain selector.
| Name | Type | Req | Description |
|---|---|---|---|
| dest_chain_selector | string|null | — | Optional destination chain selector to filter lanes |
| environment | string|null | — | Environment: 'mainnet' or 'testnet'. Defaults to 'mainnet' |
| source_chain_selector | string|null | — | Optional source chain selector to filter lanes |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_get_rate_limits ~129
Get CCIP Token Pool rate limiter configuration for a specific remote chain. Returns inbound and outbound rate limits (tokens per second, capacity) that control the maximum cross-chain transfer throughput. Part of CCIP v1.6+ security model.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string|null | — | Chain the pool is deployed on: 'ethereum', 'base', 'arbitrum'. Defaults to 'ethereum' |
| pool_address | string | yes | Token pool contract address (hex with 0x prefix) |
| remote_chain_selector | string | yes | Remote chain selector (uint64) to query rate limits for |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_get_supported_chains ~61
Get supported chains for Chainlink CCIP from the Chainlink REST API. Returns chain names, selectors, and network details.
| Name | Type | Req | Description |
|---|---|---|---|
| environment | string|null | — | Environment: 'mainnet' or 'testnet'. Defaults to 'mainnet' |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_get_supported_tokens ~60
Get supported tokens for Chainlink CCIP from the Chainlink REST API. Returns token addresses, symbols, and supported lanes.
| Name | Type | Req | Description |
|---|---|---|---|
| environment | string|null | — | Environment: 'mainnet' or 'testnet'. Defaults to 'mainnet' |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_get_token_pool ~115
Get information about a CCIP Token Pool contract. Returns the pool type (Lock/Release or Burn/Mint), the token address, supported remote chains, and rate limiter config. Token Pools are part of the Cross-Chain Token (CCT) standard in CCIP v1.6+.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string|null | — | Chain: 'ethereum', 'base', 'arbitrum'. Defaults to 'ethereum' |
| pool_address | string | yes | Token pool contract address (hex with 0x prefix) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_send_message ~211
Send a CCIP cross-chain message via Router.ccipSend(). Submits a signed transaction to the source chain's CCIP Router to send a message and/or tokens to the destination chain. Returns the transaction hash.
| Name | Type | Req | Description |
|---|---|---|---|
| data_hex | string|null | — | Hex-encoded data payload |
| dst_chain_selector | string | yes | Destination CCIP chain selector (uint64) |
| fee_token | string|null | — | Fee token address (zero address for native). Defaults to native |
| gas_limit | integer|null | — | Gas limit for execution on destination chain (default: 200000) |
| receiver | string | yes | Hex-encoded receiver address on the destination chain |
| sender_key | string | yes | Hex-encoded sender private key for signing the transaction |
| src_chain_id | string | yes | Source chain: 'ethereum', 'base', 'arbitrum', or chain ID |
| token_amounts | array|null | — | Token amounts to transfer as JSON array of {token, amount} objects |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ccip_track_message ~153
Track the execution status of a CCIP cross-chain message on the destination chain. Calls OffRamp.getExecutionState() to check message delivery status. States: 0=UNTOUCHED (not yet processed), 1=IN_PROGRESS (being executed), 2=SUCCESS (delivered), 3=FAILURE (execution failed).
| Name | Type | Req | Description |
|---|---|---|---|
| dst_chain_id | string | yes | Destination chain: 'ethereum', 'base', 'arbitrum', or chain ID |
| message_id | string | yes | CCIP message ID (64-byte hex, with or without 0x prefix) |
| offramp_address | string | yes | OffRamp contract address on the destination chain (hex with 0x prefix) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_broadcast_signed_tx ~147
Broadcast a pre-signed Ethereum transaction (CCIP Router.ccipSend, VRF requestRandomWords, Functions request, etc.) to the chosen chain via eth_sendRawTransaction. Returns the resulting transaction hash as plain text. Sign the tx externally — typically built via ccip_send_message or vrf_request_random and signed with the operator key.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | yes | Source chain to broadcast on: 'ethereum', 'base', 'arbitrum' |
| signed_tx_hex | string | yes | Pre-signed RLP-encoded transaction as hex (0x-prefixed). Build via ccip_send_message → external signer, or vrf_request_random → external signer. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_check_upkeep ~130
Check if a Chainlink Automation upkeep needs to be performed by dry-running checkUpkeep(bytes) on the target contract. Returns whether upkeep is needed and the perform data.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | string|null | — | Chain to query: 'ethereum', 'arbitrum', 'base', or chain ID. Defaults to 'ethereum' |
| check_data | string|null | — | Hex-encoded check data to pass to checkUpkeep (with or without 0x prefix). Defaults to empty |
| contract_address | string | yes | Address of the Automation-compatible contract (hex with 0x prefix) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_estimate_functions_cost ~132
Estimate the cost of a Chainlink Functions request. Calculates the approximate LINK cost based on callback gas limit, gas price, and the Functions premium. Returns the estimated total cost in LINK.
| Name | Type | Req | Description |
|---|---|---|---|
| callback_gas_limit | integer | yes | Callback gas limit for the fulfillment |
| chain_id | string|null | — | Chain to query. Defaults to 'ethereum' |
| gas_price_wei | string|null | — | Gas price in wei for cost estimation |
| router_address | string | yes | Functions Router address (hex with 0x prefix) |
| subscription_id | string | yes | Functions subscription ID (uint64) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_get_price ~205
Get the latest price from a Chainlink data feed by calling AggregatorV3Interface.latestRoundData(). Returns the price, round ID, timestamps, and decimal precision. Common feeds on Ethereum: ETH/USD = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419, BTC/USD = 0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | string|null | — | Chain to query: 'ethereum', 'arbitrum', 'base', or a chain ID. Defaults to 'ethereum' |
| feed_address | string | yes | Chainlink data feed contract address (hex with 0x prefix). E.g. 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 for ETH/USD |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_get_subscription ~84
Get Chainlink Functions subscription details including balance, owner, authorized consumers, and request counts. Queries the Functions Router contract on-chain.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | string|null | — | Chain to query. Defaults to 'ethereum' |
| router_address | string | yes | Functions Router address (hex with 0x prefix) |
| subscription_id | string | yes | Subscription ID (uint64) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_get_upkeep_info ~105
Get information about a Chainlink Automation upkeep from the registry. Returns the upkeep target, balance, gas limit, and execution status.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | string|null | — | Chain to query: 'ethereum', 'arbitrum', 'base', or chain ID. Defaults to 'ethereum' |
| registry_address | string | yes | Automation Registry address (hex with 0x prefix) |
| upkeep_id | string | yes | Upkeep ID (uint256 as decimal string) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
chainlink_list_feeds ~63
List popular Chainlink data feed addresses for a given chain. Returns feed pairs, addresses, and decimal precision.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string|null | — | Optional chain to list feeds for: 'ethereum', 'arbitrum', 'base'. Defaults to 'ethereum' |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ds_get_report ~218
Get a Data Streams report for a specific feed ID. Data Streams provide sub-second, low-latency market data for crypto, forex, equities, and commodities. Returns benchmarkPrice, bid, ask, timestamps, and fee info. Common feed IDs: ETH/USD = 0x000359843a543ee2fe414dc14c7e7920ef10f4372990b79d6361cdc0dd1ba782, BTC/USD = 0x00037da06d56d083fe599397a4769a042d63aa73dc4ef57709d31e9971a5b439.
| Name | Type | Req | Description |
|---|---|---|---|
| feed_id | string | yes | Data Streams feed ID (hex string, e.g. '0x000359843a543ee2fe414dc14c7e7920ef10f4372990b79d6361cdc0dd1ba782' for ETH/USD) |
| timestamp | integer|null | — | Unix timestamp to query (optional — latest if omitted) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
ds_list_feeds ~86
List available Chainlink Data Streams feeds. Returns feed IDs, pairs, and asset classes (crypto, forex, equities, commodities). Data Streams provide sub-second latency market data — distinct from the slower on-chain Data Feeds.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | string|null | — | Filter by asset class: 'crypto', 'forex', 'equities', 'commodities' (optional) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
por_get_reserve ~241
Read a Chainlink Proof of Reserve feed to verify asset reserves onchain. Uses the same AggregatorV3Interface as price feeds but returns reserve amounts instead of prices. Well-known PoR feeds on Ethereum: WBTC = 0xa81FE04086865e63E12dD3776978E49DEEa2ea4e, USDC = 0x9a177Bb065A0636C7972C6D27Abcd4B1e5EDb65c, TUSD = 0x478f4c42b877c697C4b19E396865D5437Ef4E08B.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string|null | — | Chain: 'ethereum'. Defaults to 'ethereum' |
| feed_address | string | yes | Proof of Reserve feed contract address (hex). Well-known: WBTC=0xa81FE04086865e63E12dD3776978E49DEEa2ea4e, USDC=0x9a177Bb065A0636C7972C6D27Abcd4B1e5EDb65c |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
por_list_feeds ~39
List well-known Chainlink Proof of Reserve feeds. Returns feed addresses, asset names, and descriptions for verifying reserve backing of wrapped/synthetic assets.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
vrf_get_subscription ~95
Get VRF v2.5 subscription details from the VRFCoordinatorV2_5 contract. Returns balance, owner, authorized consumers, and pending requests. Supports Ethereum, Arbitrum, and Base.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string|null | — | Chain: 'ethereum', 'arbitrum', 'base'. Defaults to 'ethereum' |
| subscription_id | string | yes | VRF subscription ID (uint256 as decimal string) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.
vrf_request_random ~221
Build transaction calldata for a VRF v2.5 random words request. Returns the hex-encoded calldata for VRFCoordinatorV2_5.requestRandomWords(). The caller must sign and submit the transaction from a consumer contract. VRF v2.5 supports payment in LINK or native token.
| Name | Type | Req | Description |
|---|---|---|---|
| callback_gas_limit | integer|null | — | Callback gas limit (default: 100000) |
| chain | string|null | — | Chain: 'ethereum', 'arbitrum', 'base'. Defaults to 'ethereum' |
| key_hash | string | yes | VRF key hash for the gas lane (hex, 32 bytes) |
| native_payment | boolean|null | — | Pay in native token instead of LINK (default: false) |
| num_words | integer|null | — | Number of random words to request (default: 1, max: 500) |
| request_confirmations | integer|null | — | Number of block confirmations before fulfillment (default: 3) |
| subscription_id | string | yes | VRF subscription ID (uint256 as decimal string) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | — | yes | Underlying response payload verbatim. |
No examples provided.