{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:25:13.234Z","url":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens","markdownUrl":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens.md","server":{"slug":"cloudcorprecords-chainlens","name":"io.github.CloudCorpRecords/chainlens","registryName":"io.github.CloudCorpRecords/chainlens","description":"Blockscout explorer data: addresses, blocks, transactions, tokens, NFTs, and contract reads.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"ghcr-io-cloudcorprecords-chainlens","type":"oci","identifier":"ghcr.io/cloudcorprecords/chainlens","withdrawn":false,"url":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens","version":"0.1.0","transport":"stdio","scoredAt":"2026-11-05T04:25:12.113Z"},"score":{"total":41,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":41},{"date":"2026-11-04","total":41},{"date":"2026-11-03","total":40},{"date":"2026-11-02","total":40}]},"categories":[{"name":"Supply Chain Security","score":0,"verdict":"unverified","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.inconclusive","args":{"reason":"no_sbom_attached"}},{"code":"installscript.inconclusive","args":{"reason":"no_install_concept"}},{"code":"dephealth.inconclusive","args":{"reason":"no_sbom_attached"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 3 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"3"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":72,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 1223 tokens (~76/item across 16 items; 16 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"76","items":"16","tools":"16","tokens":"1223","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":10,"verdict":"partial","reasons":["Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"3"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"16"}},{"code":"toolsafety.manipulation_clean","args":{"units":"16","judged":"16"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"malware":[],"components":[{"slug":"reneturcios-chainlens","type":"npm","identifier":"@reneturcios/chainlens","withdrawn":false,"score":69,"current":false,"url":"https://verifymcp.io/servers/cloudcorprecords-chainlens/reneturcios-chainlens","markdownUrl":"https://verifymcp.io/servers/cloudcorprecords-chainlens/reneturcios-chainlens.md"},{"slug":"ghcr-io-cloudcorprecords-chainlens","type":"oci","identifier":"ghcr.io/cloudcorprecords/chainlens","withdrawn":false,"score":41,"current":true,"url":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens","markdownUrl":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens.md"}],"facts":[{"label":"Registry","value":"oci"},{"label":"Package","value":"ghcr.io/cloudcorprecords/chainlens"},{"label":"Version","value":"0.1.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"__unlock_blockchain_analysis__","title":null,"description":"Unlock blockchain analysis: local guidance and the list of supported chains. No network call.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":28},{"name":"get_chains_list","title":null,"description":"List the supported chains, optionally filtered by a substring of name, chain id, or currency.","inputs":[{"name":"query","type":"string","required":false,"description":"Substring filter matched against chain name, chain ID, or currency."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"get_address_by_ens_name","title":null,"description":"Resolve an ENS name to an address via Blockscout search on Ethereum mainnet.","inputs":[{"name":"name","type":"string","required":true,"description":"ENS name to resolve to an address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":43},{"name":"lookup_token_by_symbol","title":null,"description":"Look up tokens by symbol on a chain via Blockscout search.","inputs":[{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"symbol","type":"string","required":true,"description":"Token symbol to search for."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"get_contract_abi","title":null,"description":"Get the ABI of a verified smart contract.","inputs":[{"name":"address","type":"string","required":true,"description":"Contract address to look up."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":52},{"name":"inspect_contract_code","title":null,"description":"Inspect the source code of a verified smart contract, optionally for one file.","inputs":[{"name":"address","type":"string","required":true,"description":"Contract address to inspect."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"file_name","type":"string","required":false,"description":"Name of a single source file to inspect."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":72},{"name":"get_address_info","title":null,"description":"Get information about an address: balance, type, and metadata.","inputs":[{"name":"address","type":"string","required":true,"description":"Blockchain address to look up."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":55},{"name":"get_tokens_by_address","title":null,"description":"Get token balances held by an address.","inputs":[{"name":"address","type":"string","required":true,"description":"Blockchain address whose token balances to return."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"cursor","type":"string","required":false,"description":"Pagination cursor for the next page of results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":68},{"name":"get_block_number","title":null,"description":"Get the latest block number, optionally as of a datetime.","inputs":[{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"datetime","type":"string","required":false,"description":"Datetime to return the block number as of."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":58},{"name":"get_transactions_by_address","title":null,"description":"Get transactions for an address within an age range, optionally filtered by method.","inputs":[{"name":"address","type":"string","required":true,"description":"Blockchain address whose transactions to return."},{"name":"age_from","type":"string","required":true,"description":"Start of the timestamp range to include, as a date or datetime string."},{"name":"age_to","type":"string","required":true,"description":"End of the timestamp range to include, as a date or datetime string."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"cursor","type":"string","required":false,"description":"Pagination cursor for the next page of results."},{"name":"methods","type":"string","required":false,"description":"Comma-separated list of transaction method names to filter by."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":136},{"name":"get_token_transfers_by_address","title":null,"description":"Get token transfers for an address within an age range, optionally for one token.","inputs":[{"name":"address","type":"string","required":true,"description":"Blockchain address whose token transfers to return."},{"name":"age_from","type":"string","required":true,"description":"Start of the timestamp range to include, as a date or datetime string."},{"name":"age_to","type":"string","required":true,"description":"End of the timestamp range to include, as a date or datetime string."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"cursor","type":"string","required":false,"description":"Pagination cursor for the next page of results."},{"name":"token","type":"string","required":false,"description":"Token to filter by, matched against its address, symbol, or name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":143},{"name":"nft_tokens_by_address","title":null,"description":"Get NFT tokens (ERC-721 and ERC-1155) held by an address.","inputs":[{"name":"address","type":"string","required":true,"description":"Blockchain address whose NFT tokens to return."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"cursor","type":"string","required":false,"description":"Pagination cursor for the next page of results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":78},{"name":"get_block_info","title":null,"description":"Get information about a block by number or hash.","inputs":[{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"include_transactions","type":"boolean","required":false,"description":"Whether to include the block's transactions."},{"name":"number_or_hash","type":"string","required":true,"description":"Block number or block hash to look up."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":72},{"name":"get_transaction_info","title":null,"description":"Get information about a transaction by hash.","inputs":[{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"hash","type":"string","required":true,"description":"Transaction hash to look up."},{"name":"include_raw_input","type":"boolean","required":false,"description":"Whether to include the transaction's raw input data."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":68},{"name":"read_contract","title":null,"description":"Read a smart contract function using its ABI, function name, and JSON-encoded args.","inputs":[{"name":"abi","type":"object","required":true,"description":"Contract ABI to use for the call."},{"name":"address","type":"string","required":true,"description":"Contract address to read from."},{"name":"args","type":"string","required":false,"description":"Function arguments as a JSON-encoded string."},{"name":"block","type":"string","required":false,"description":"Block to perform the read at."},{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"function_name","type":"string","required":true,"description":"Name of the contract function to call."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":116},{"name":"direct_api_call","title":null,"description":"Call an arbitrary Blockscout API v2 endpoint path directly.","inputs":[{"name":"chain_id","type":"string","required":true,"description":"Chain ID as a string, such as \"1\" for Ethereum."},{"name":"cursor","type":"string","required":false,"description":"Pagination cursor for the next page of results."},{"name":"endpoint_path","type":"string","required":true,"description":"Blockscout API v2 endpoint path to call."},{"name":"json_body","type":"object","required":false,"description":"JSON request body to send, as an object."},{"name":"method","type":"string","required":false,"description":"HTTP method to use, defaulting to GET."},{"name":"query_params","type":"object","required":false,"description":"Query parameters to send with the request, as an object."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":128}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T04:25:12.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-11-02","recent":[{"id":"chg_01a1a4c8-c361-73d3-b0b7-aed25c62d2d0","kind":"score.total_changed","summary":"Trust score (40 → 41)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens#chg-chg_01a1a4c8-c361-73d3-b0b7-aed25c62d2d0"},{"id":"chg_01a19ad0-c9d4-7e8f-be9f-4ecc920dd905","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens#chg-chg_01a19ad0-c9d4-7e8f-be9f-4ecc920dd905"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens/changelog.json"},"links":{"html":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens","markdown":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens.md","changelogJson":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens/changelog.json","changelogRss":"https://verifymcp.io/servers/cloudcorprecords-chainlens/ghcr-io-cloudcorprecords-chainlens.xml","external":[{"label":"GitHub Container Registry","href":"https://ghcr.io/cloudcorprecords/chainlens"},{"label":"Repository","href":"https://github.com/CloudCorpRecords/chainlens"}]}}