Resistance Tools
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
MCP tools for TON Sites, TON DNS and TON Storage.
| Author | io.github.TONresistor |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 370 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Resistance Tools": {
"url": "https://app.resistance.dog/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (51)
auth.statusread-onlyReturn whether this MCP session is authenticated.
Hints: read-only yes · destructive no · idempotent yes · open-world no
auth.policyread-onlyReturn public MCP auth flows, scopes, safety controls, retention, and confirmation rules.
Hints: read-only yes · destructive no · idempotent yes · open-world no
wallet.meread-onlyReturn the authenticated MCP owner/actor wallet context.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mcp.access.listread-onlyList MCP consents and redacted active sessions for the authenticated owner wallet.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mcp.audit.listread-onlyList recent redacted MCP audit events for the authenticated owner wallet.
Parameters:
limit— integersince— stringmethod— stringresultStatus— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mcp.audit.summaryread-onlyReturn owner-scoped aggregate MCP audit metrics without raw headers or request bodies.
Parameters:
windowHours— integertopMethodsLimit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world yes
mcp.access.revoke_consentdestructiveRevoke one MCP consent by id and invalidate matching access/refresh tokens.
Parameters:
consentId(required) — stringconfirmConsentId(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world yes
sites.list_domainsread-onlyList the domains and current DNS status of an owned site. Accepts a site name or stable site ID and enforces site/domain delegation limits.
Parameters:
site(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
sites.preflight_domainread-onlyRead current ownership, DNS linkage and conflicts before attaching a .ton, .t.me or supported subdomain to an owned site. No mapping or DNS record is changed.
Parameters:
site(required) — stringdomain(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
sites.attach_domaindestructiveAttach an already DNS-linked domain after preflight. Confirm site and full domain exactly. Pass the reviewed expectedConflictSiteId when moving a domain; deleting its source site additionally requires confirmDeleteSourceSiteId and sites:delete. All affected sites must be owned and delegated. Does not sign or change DNS records.
Parameters:
site(required) — stringdomain(required) — stringconfirmSite(required) — stringconfirmDomain(required) — stringexpectedConflictSiteIdconfirmDeleteSourceSiteId— integer
Hints: read-only no · destructive yes · idempotent no · open-world yes
sites.unlink_domaindestructiveDetach a domain after its DNS site record no longer points to this site (or it changed owner). Confirm site and full domain exactly. Removing the last domain deletes the site and requires confirmDeleteSite plus sites:delete; cleanup of a Storage-hosted site also requires storage:delete and bag delegation. Does not sign or change DNS records.
Parameters:
site(required) — stringdomain(required) — stringconfirmSite(required) — stringconfirmDomain(required) — stringconfirmDeleteSite— boolean
Hints: read-only no · destructive yes · idempotent no · open-world yes
sites.listread-onlyList TON Sites owned by the authorized wallet.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
sites.get_contentread-onlyRead the stored template/content metadata for an owned site.
Parameters:
site(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
sites.send_link_txValidate indexed ownership and return one HTTPS page where the user reviews and confirms the exact TON DNS site transaction with TON Connect.
Parameters:
site(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
sites.list_releasesread-onlyList retained releases for an owned site.
Parameters:
site(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
sites.publish_filesdestructiveDeploy or update an owned TON Site from explicit file contents.
Parameters:
site(required) — stringfiles(required) — array
Hints: read-only no · destructive yes · idempotent no · open-world yes
sites.publish_templatedestructiveValidate, render, and publish a template-based TON Site.
Parameters:
site(required) — stringtemplate(required) — stringcontent
Hints: read-only no · destructive yes · idempotent no · open-world yes
sites.rollbackdestructiveRollback an owned TON Site to a retained release.
Parameters:
site(required) — stringreleaseId(required) — stringconfirmSite(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world yes
sites.deletedestructiveDelete an owned TON Site deployment and served files.
Parameters:
site(required) — stringconfirmSite(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world yes
deployments.listread-onlyList retained deployments across the owner's sites.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
domains.list_usernamesread-onlyList .t.me Telegram Usernames owned by the authorized wallet, filtered by its domain delegation.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
dns.send_transfer_txdestructiveRevalidate ownership of a root .ton name or .t.me Username and return one HTTPS page to confirm its NFT transfer to newOwner. The user signs in their wallet.
Parameters:
domain(required) — stringnewOwner(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world yes
dns.lookupread-onlyLookup public TON DNS status and records for a .ton name.
Parameters:
name(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
domains.listread-onlyList .ton domains owned by the authorized wallet.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
domains.recordsread-onlyRead DNS records for an owned .ton domain or .t.me Telegram Username.
Parameters:
domain(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
dns.send_record_txRevalidate indexed ownership and return one HTTPS page where the user reviews and confirms the exact TON DNS record transaction.
Parameters:
domain(required) — stringkind(required) — stringvalue— ['string', 'null']keyName— stringvalueKindrawCategory— string
Hints: read-only no · destructive no · idempotent no · open-world yes
dns.send_name_txReturn one HTTPS page for a validated .ton mint, auction bid, or expired-name release transaction.
Parameters:
domain(required) — stringaction(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
dns.send_renew_txRevalidate one to four owned .ton names and return one HTTPS page for a single TON Connect multi-message confirmation.
Parameters:
domains(required) — array
Hints: read-only no · destructive no · idempotent no · open-world yes
subdomains.list_collectionsread-onlyList TON Subdomain collections controlled by the authenticated wallet.
Parameters:
limit— integercursor— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
subdomains.list_itemsread-onlyList TON Subdomain NFT items owned by the authenticated wallet.
Parameters:
limit— integercursor— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
subdomains.get_collectionread-onlyRead a fresh collection snapshot when the authenticated wallet holds collection or parent rights.
Parameters:
collectionAddress(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
subdomains.get_itemread-onlyRead a Subdomain NFT item owned by the authenticated wallet.
Parameters:
itemAddress(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
subdomains.controlread-onlyRead fresh collection authorization and parent-return state for the authenticated wallet.
Parameters:
collectionAddress(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
subdomains.create_collection_txRevalidate parent ownership, create collection metadata, and return one HTTPS transaction confirmation page.
Parameters:
parentAddress(required) — stringmode(required) — stringpriceGrid(required) — arrayminChars(required) — integer
Hints: read-only no · destructive no · idempotent no · open-world yes
subdomains.mint_txRevalidate availability and access, build metadata, and return one HTTPS mint or pending-mint confirmation page.
Parameters:
collectionAddress(required) — stringparent(required) — stringlabel(required) — stringsetWalletToMinter— boolean
Hints: read-only no · destructive no · idempotent no · open-world yes
subdomains.collection_action_txdestructiveRevalidate current collection or parent rights and return one HTTPS management transaction confirmation page.
Parameters:
collectionAddress(required) — stringaction(required) — stringlabel— stringwallet— stringallowed— booleannewAdmin— stringreserved— booleanaccessMode— string
Hints: read-only no · destructive yes · idempotent no · open-world yes
subdomains.transfer_item_txdestructiveRevalidate current NFT ownership and return one HTTPS Subdomain item transfer confirmation page.
Parameters:
itemAddress(required) — stringnewOwner(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world yes
subdomains.recovery_txRe-derive an owned collection and return one HTTPS page for its deployment or resolver recovery transaction.
Parameters:
parentAddress(required) — stringmode(required) — stringaction(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
media.upload_imageUpload one PNG, JPEG, GIF, or WebP image to the authenticated owner's template media store.
Parameters:
contentBase64(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
storage.list_bagsread-onlyList TON Storage bags owned by the authorized wallet.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.bag_detailsread-onlyRead metadata and live state for an owned TON Storage bag.
Parameters:
bagId(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.providersread-onlyList backend-verified providers compatible with an owned TON Storage bag.
Parameters:
bagId(required) — stringsort— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.provider_funding_sessionread-onlyFreeze a short-lived live provider and shared-balance snapshot for an owned bag.
Parameters:
bagId(required) — stringproviderPubkeys(required) — array
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.provider_funding_previewread-onlyCalculate exact integer funding and coverage from a live provider session.
Parameters:
bagId(required) — stringsessionId(required) — stringtargetCoverageSeconds(required)proofSpanSeconds(required) — integer
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.provider_quoteread-onlyCreate the signed backend quote that will be revalidated before a provider confirmation link is returned.
Parameters:
bagId(required) — stringsessionId(required) — stringtargetCoverageSeconds(required)proofSpanSeconds(required) — integer
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.provider_operationread-onlyRead and reconcile one paid TON Storage provider operation.
Parameters:
providerOperationId(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
storage.send_bag_link_txValidate bag and domain ownership, then return one HTTPS page for the exact TON Storage DNS site transaction.
Parameters:
bagId(required) — stringdomain(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
storage.send_provider_txdestructiveRevalidate the live contract, providers, shared balance, and exact amount before returning one HTTPS pin, top-up, stop, or withdraw confirmation page.
Parameters:
action(required) — stringbagId(required) — stringquoteId— stringproviderPubkey— stringtargetCoverageSeconds— integeracknowledgeOtherProviders— boolean
Hints: read-only no · destructive yes · idempotent no · open-world yes
storage.create_bagCreate and seed a new TON Storage bag from explicit file contents.
Parameters:
files(required) — arrayname— string
Hints: read-only no · destructive no · idempotent no · open-world yes
storage.pin_bagPin/import an existing public TON Storage bag by bag id.
Parameters:
bagId(required) — stringname— string
Hints: read-only no · destructive no · idempotent no · open-world yes
storage.delete_bagdestructiveDelete an owned TON Storage bag reference and remove platform-seeded bytes when safe.
Parameters:
bagId(required) — stringconfirmBagId(required) — string
Hints: read-only no · destructive yes · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.