{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_daax4mdgdqbw","handle":"tanod-security","url":"https://wellknown.network/agents/tanod-security","links":{"self":"https://wellknown.network/agents/tanod-security/record.json","html":"https://wellknown.network/agents/tanod-security","markdown":"https://wellknown.network/agents/tanod-security/record.md","api":"https://wellknown.network/api/v1/agents/tanod-security","status":"https://wellknown.network/api/v1/agents/tanod-security/status","claim":"https://wellknown.network/agents/tanod-security/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/tanod-security/claim.json","badge":"https://wellknown.network/agents/tanod-security/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/tanod-security/history","tools":"https://wellknown.network/api/v1/agents/tanod-security/tools"},"ard":{"identifier":"urn:air:tanod.dev:server:tanod-security","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Tanod Security","summary":"Contract and agent-package scans, phishing URL and OFAC checks, domain and header checks.","description":"Contract and agent-package scans, phishing URL and OFAC checks, domain and header checks.","publisher":{"name":"dev.tanod","url":null},"homepage":"https://tanod.dev","repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://tanod.dev/mcp/security","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-08T11:17:41.883505Z","publishedAt":"2026-10-08T11:17:41.883505Z","registryName":"dev.tanod/security"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.version-control","name":"Version Control","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.938,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.911,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":0.583,"provenance":"derived"},{"slug":"security.scanning","name":"Security Scanning","confidence":0.583,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","dev","documents","finance","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 46m ago.","lastOkAt":"2026-10-27T02:24:08.000Z","lastProbedAt":"2026-10-27T02:24:08.000Z","statusComputedAt":"2026-10-27T02:26:15.608Z","reliability30d":{"probes":64,"successRate":1,"p50Ms":565,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":64,"ok":64,"authBoundaryOk":0,"serviceOk":64,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T02:24:08.000Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":723,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T19:27:14.915Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":792,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T12:27:21.671Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":436,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T05:29:10.824Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":737,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T22:26:58.803Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":290,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T15:28:45.491Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":756,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T08:24:29.948Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":744,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T00:31:30.357Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":725,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T17:34:03.216Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":279,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T10:22:17.312Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":274,"error":null,"detail":{"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"toolCount":27,"toolsHash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","serverName":"tanod-security","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"scan_contract_source","description":"pactlint: Scan Solidity source code for security bugs before you deploy, review or depend on it. For a deployed verified contract use scan_contract_address. Run"},{"name":"scan_contract_address","description":"pactlint: Scan a deployed, verified contract on Ethereum or Base for security bugs, by address. For source you hold use scan_contract_source. Fetches the verifi"},{"name":"check_contract_before_interaction","description":"txpeek: Check an address for risk right before you send a transaction to it, approve it, or buy its token (Base or Ethereum). For a full scan of verified source"},{"name":"check_token_honeypot","description":"chainpeek: Honeypot check: can this token be sold? Simulated buy and sell with tax. For a verdict that adds contract flags use check_token_safety. Returns a sim"},{"name":"check_token_safety","description":"chainpeek: Use when an agent needs a token risk check before buying an ERC-20 on Base or Ethereum, with a plain-language take. For a written summary and share c"},{"name":"token_verdict","description":"chainpeek: Token risk verdict in plain language for a Base or Ethereum token, with a shareable card. For the simulation alone use check_token_honeypot. Returns "},{"name":"check_solana_token_safety","description":"chainpeek: Check a Solana token for rug risk: mint and freeze authority, top holders, sell quote. For authorities alone use get_solana_token_info; for ERC-20 to"},{"name":"scan_agent_package","description":"toolsniff: Scan an AI-agent skill or MCP server package before installing it. To see whether a remote MCP server answers use check_mcp_server. Reads every file "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"check_urls_phishing_batch","description":"chainpeek: Check up to 1,000 URLs or domains for phishing or scams in one batch. For one URL use check_url_phishing. Returns the URL check for 1-1,000 URLs, hos"},{"name":"check_sanctions","description":"chainpeek: screen one crypto address against the US OFAC SDN list's digital currency addresses. For up to 1,000 addresses use check_sanctions_batch; for lookali"},{"name":"check_sanctions_batch","description":"chainpeek: Screen up to 1,000 crypto addresses against OFAC sanctions in one batch. For one address use check_sanctions. Returns the OFAC sanctions screen of 1-"},{"name":"detect_proxy","description":"chainpeek: detect whether a contract is a proxy, and of which kind. For code size and hash use get_contract_code. Reads the code, the EIP-1967 / EIP-1822 / Open"},{"name":"decode_calldata","description":"chainpeek: decode EVM transaction calldata. To run a read call use eth_call; to fetch a transaction use get_transaction. Input: `calldata` and optional `signatu"},{"name":"get_allowance","description":"chainpeek: read an ERC-20 allowance on Ethereum, Base or Robinhood Chain. For every live approval of a wallet use audit_token_approvals. A token that is not a r"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"get_verification_code","description":"dnspeek: Get the verification code or magic link from an email without the email body. To check an address before sending use verify_email. Returns the one-time"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"text_unicode_inspect","description":"utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Returns a security-orien"},{"name":"check_address_poisoning","description":"chainpeek: Check a transfer recipient for address poisoning: lookalikes in the sender's history. For balance, gas and blacklist checks too use transfer_prefligh"},{"name":"audit_token_approvals","description":"chainpeek: List a wallet's live token approvals and get revoke transactions. For tokens already pulled out use check_wallet_drain; for one allowance use get_all"},{"name":"check_wallet_drain","description":"chainpeek: Check a wallet for a drain: find tokens pulled out without its signature. For live approvals with revoke transactions use audit_token_approvals. Retu"},{"name":"get_wallet_counterparties","description":"chainpeek: List a wallet's top counterparties: who an address sends to and receives from, by count and volume. For the raw transfer list use get_erc20_transfers"},{"name":"check_text_for_secrets","description":"utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_t"},{"name":"repo_info","description":"utilpeek: Get health facts for a GitHub repository: activity, licence, dependents, Scorecard. Returns GitHub repository health facts: stars, licence, activity, "}],"package":null,"toolSurface":{"id":"ts_zszu4yuu5492","endpointId":"ep_r23zb6a9vwv8","hash":"ddeddce66a628c553d0d2aaa2243edc07557487011dec18ad8a65d432686f787","toolCount":27,"serverName":"tanod-security","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-23T20:25:29.027Z","lastSeenAt":"2026-10-27T02:24:08.014Z","observations":12,"toolNames":["scan_contract_source","scan_contract_address","check_contract_before_interaction","check_token_honeypot","check_token_safety","token_verdict","check_solana_token_safety","scan_agent_package","check_url_phishing","check_urls_phishing_batch","check_sanctions","check_sanctions_batch","detect_proxy","decode_calldata","get_allowance","inspect_domain","check_security_headers","verify_email","get_verification_code","rdap_lookup","text_unicode_inspect","check_address_poisoning","audit_token_approvals","check_wallet_drain","get_wallet_counterparties","check_text_for_secrets","repo_info"],"distinctSurfaces":13},"endpointFacts":[{"id":"ep_r23zb6a9vwv8","url":"https://tanod.dev/mcp/security","type":"mcp_streamable_http","factsCheckedAt":"2026-10-24T10:22:17.329Z","auth":{"observedAt":"2026-10-24T10:22:17.593Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-24T10:22:17.610Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"tanod.dev","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-06T15:23:54.000Z","validTo":"2027-01-04T15:23:53.000Z","daysToExpiry":69,"sanCount":2,"fingerprint256":"42:4E:C3:21:85:BF:3C:16:A2:A4:8A:B6:42:6C:B6:FD:E6:C5:58:F5:8B:E1:73:93:8B:FF:10:6E:25:A4:98:76"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.tanod/security","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.tanod%2Fsecurity","firstSeenAt":"2026-10-09T14:21:22.203Z","fetchedAt":"2026-10-25T15:19:41.917Z","normalizedAt":"2026-10-25T15:19:41.917Z"}]},"firstSeenAt":"2026-10-09T14:21:22.203Z","updatedAt":"2026-10-27T02:27:14.935Z"}