Resistance Tools

io.github.TONresistor由 GitHub 帳號 TONresistor 發布v0.2.6更新於 Oct 24, 2026

MCP tools for TON Sites, TON DNS and TON Storage.

已驗證Streamable HTTP可網頁執行雲端與基礎設施金融

概覽

AI 產生的概覽

遠端 MCP 伺服器,讓 AI 助理管理 TON Sites、TON DNS 網域、子網域與 TON Storage,交易需錢包確認。

可以做什麼
檢查工作階段驗證狀態、錢包脈絡、權限與稽核事件,並撤銷擁有者錢包的授權或工作階段。列出已擁有的 TON Sites,讀取內容與發行版本,發佈檔案或範本、回復舊版、刪除,以及附加、預檢或解除網域綁定。查詢並列出 .ton 網域和 .t.me 使用者名稱,讀取 DNS 記錄,並準備鑄造、競標、續約、記錄與轉移交易供錢包確認。管理子網域集合與項目,包括建立、鑄造、轉移和復原。上傳圖片到擁有者的媒體儲存,並列出 TON Storage 儲存包。
適用情境
當你希望助理檢視和操作你所控制錢包下的 TON Sites、DNS 網域、子網域或 Storage,同時讓所有鏈上變更都經過手動錢包確認頁面時適用。
執行需求
遠端 Streamable HTTP 端點,不需本機套件或執行環境。透過用戶端進行 OAuth 登入,並在錢包授權頁面選擇權限。存取權杖有效期 15 分鐘並自動更新;更新權杖和授權預設有效 30 天,核准敏感權限時為 24 小時。
安裝前請注意
此伺服器會操作 TON 錢包,可發佈、回復或刪除網站,解除網域綁定,轉移網域和 NFT,並撤銷授權。刪除網站或移除其最後一個網域需要明確確認和刪除權限範圍。交易以確認頁面回傳,需使用者在錢包中簽署,請逐筆核對。稽核和工作階段清單已去識別化,但僅限擁有者範圍。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Resistance Tools,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.TONresistor%2Fresistance-tools-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "resistance-tools": {
      "type": "http",
      "url": "https://app.resistance.dog/api/mcp"
    }
  }
}

README

Resistance Tools

One cross-client Agent Skill plus the remote Resistance Tools MCP for TON Sites, TON DNS, Subdomains, TON Storage, wallet access, and manually confirmed transactions.

Names

  • Marketplace/source: resistance-tools
  • Plugin and MCP server: resistance-tools-mcp
  • Agent Skill: resistance-tools-skill

Agent Skill

The plugin contains one resistance-tools-skill skill, invoked as $resistance-tools-skill. Its SKILL.md defines the shared workflow and loads only the relevant bundled reference for sites, domains, storage, wallet, or transactions.

Those references cover all 51 MCP tools, their permission boundaries and the read-back each workflow can actually perform. The live MCP schema remains canonical. Setup commands stay in this README rather than being duplicated in the skill.

The skill distinguishes root DNS records from child NFT records, public minting from collection administration, ADNL from Storage-backed publication, and platform Bag deletion from paid-provider state. Expired or uncertain wallet requests are never automatically replayed.

Plugin packages

  • Codex: .codex-plugin/plugin.json
  • Claude Code: .claude-plugin/plugin.json
  • Shared Agent Skills: skills/<name>/SKILL.md
  • Shared remote MCP connection: .mcp.json

Installing the repository as a plugin loads both the skills and the MCP dependency in clients that support the corresponding plugin format.

Install the plugin

The plugin installs the Agent Skill and registers the MCP server together.

Codex

bash
codex plugin marketplace add TONresistor/resistance-tools-mcp@maincodex plugin add resistance-tools-mcp@resistance-toolscodex mcp login resistance-tools-mcp

Claude Code

bash
claude plugin marketplace add TONresistor/resistance-tools-mcp@mainclaude plugin install resistance-tools-mcp@resistance-toolsclaude mcp login resistance-tools-mcp

The user selects permissions on the wallet approval page.

OAuth lifetime and recovery

Access tokens last 15 minutes and refresh automatically. Refresh tokens and consent last 30 days by default, or 24 hours when any sensitive permission is approved. Do not reconnect or reinstall for a normal access-token expiry.

The live server accepts a missing OAuth resource on refresh for compatibility with Codex stable, while still binding the new token to the canonical MCP resource. It also tolerates concurrent refreshes from Codex processes sharing credentials without one process revoking the others. Run codex mcp login resistance-tools-mcp only for invalid_grant, an explicit authorization request, revoked/expired consent, or missing credentials.

Replace 0.2.2 or earlier, or remove the retired MCP alias

Use this migration if an earlier Resistance Tools version was installed, if the marketplace already exists from another source, or if the configured MCP name is still resistance-tools. The name proves that the retired local entry exists; invalid_target alone does not. If the configured MCP is already resistance-tools-mcp, preserve it. If an entry is already absent during migration, continue with the remaining commands.

Codex:

bash
codex mcp logout resistance-toolscodex mcp remove resistance-toolscodex mcp logout resistance-tools-mcpcodex mcp remove resistance-tools-mcpcodex plugin remove resistance-tools@resistance-toolscodex plugin remove resistance-tools-mcp@resistance-toolscodex plugin marketplace remove resistance-toolscodex plugin marketplace add TONresistor/resistance-tools-mcp@maincodex plugin add resistance-tools-mcp@resistance-toolscodex mcp login resistance-tools-mcp

Claude Code:

bash
claude mcp logout resistance-toolsclaude mcp remove resistance-toolsclaude mcp logout resistance-tools-mcpclaude mcp remove resistance-tools-mcpclaude plugin uninstall resistance-tools@resistance-toolsclaude plugin uninstall resistance-tools-mcp@resistance-toolsclaude plugin marketplace remove resistance-toolsclaude plugin marketplace add TONresistor/resistance-tools-mcp@mainclaude plugin install resistance-tools-mcp@resistance-toolsclaude mcp login resistance-tools-mcp

Update 0.2.3 or later

Refresh the Git marketplace and reinstall the plugin cache to pick up the current skill, including documentation updates that retain the remote server version. Start a new chat afterward so the client discovers the refreshed skill. Updating documentation does not require reconnecting an otherwise valid OAuth session.

Codex:

bash
codex plugin marketplace upgrade resistance-toolscodex plugin remove resistance-tools-mcp@resistance-toolscodex plugin add resistance-tools-mcp@resistance-tools

Claude Code:

bash
claude plugin marketplace update resistance-toolsclaude plugin update resistance-tools-mcp@resistance-tools

MCP-only connection

These commands connect the tools only; they do not install the bundled skills.

Codex

bash
codex mcp add resistance-tools-mcp --url https://app.resistance.dog/api/mcpcodex mcp login resistance-tools-mcp

Claude Code

bash
claude mcp add --transport http resistance-tools-mcp https://app.resistance.dog/api/mcpclaude mcp login resistance-tools-mcp

The user selects permissions on the wallet approval page.

Other clients

Add https://app.resistance.dog/api/mcp as a Streamable HTTP MCP server and use the client's native OAuth flow.

main is the stable branch used for installation and releases. Development happens on dev.

License

MIT

來源:README.md,提交 b239d49

工具

51

auth.status

MCP auth status

Return whether this MCP session is authenticated.

無需輸入參數。

auth.policy

MCP auth and safety policy

Return public MCP auth flows, scopes, safety controls, retention, and confirmation rules.

無需輸入參數。

wallet.me

Wallet context

Return the authenticated MCP owner/actor wallet context.

無需輸入參數。

mcp.access.list

List MCP access

List MCP consents and redacted active sessions for the authenticated owner wallet.

無需輸入參數。

mcp.audit.list

List MCP audit events

List recent redacted MCP audit events for the authenticated owner wallet.

輸入參數limitsincemethodresultStatus

mcp.audit.summary

Summarize MCP audit events

Return owner-scoped aggregate MCP audit metrics without raw headers or request bodies.

輸入參數windowHourstopMethodsLimit

sites.list_domains

List domains attached to a site

List the domains and current DNS status of an owned site. Accepts a site name or stable site ID and enforces site/domain delegation limits.

輸入參數site必填

sites.preflight_domain

Check a domain before attaching it

Read 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.

輸入參數site必填domain必填

sites.attach_domain

Attach a domain to an owned site

Attach 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.

輸入參數site必填domain必填confirmSite必填confirmDomain必填expectedConflictSiteIdconfirmDeleteSourceSiteId

sites.list

List TON Sites

List TON Sites owned by the authorized wallet.

無需輸入參數。

sites.get_content

Get site template content

Read the stored template/content metadata for an owned site.

輸入參數site必填

sites.list_releases

List site releases

List retained releases for an owned site.

輸入參數site必填

sites.publish_files

Publish site files

Deploy or update an owned TON Site from explicit file contents.

輸入參數site必填files必填

sites.publish_template

Publish template site

Validate, render, and publish a template-based TON Site.

輸入參數site必填contenttemplate必填

sites.rollback

Rollback site

Rollback an owned TON Site to a retained release.

輸入參數site必填releaseId必填confirmSite必填

sites.delete

Delete site

Delete an owned TON Site deployment and served files.

輸入參數site必填confirmSite必填

deployments.list

List deployments

List retained deployments across the owner's sites.

無需輸入參數。

domains.list_usernames

List owned Telegram Usernames

List .t.me Telegram Usernames owned by the authorized wallet, filtered by its domain delegation.

無需輸入參數。

dns.send_transfer_tx

Create domain transfer confirmation link

Revalidate 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.

輸入參數domain必填newOwner必填

dns.lookup

Lookup TON DNS name

Lookup public TON DNS status and records for a .ton name.

輸入參數name必填

domains.list

List owned domains

List .ton domains owned by the authorized wallet.

無需輸入參數。

domains.records

Read domain records

Read DNS records for an owned .ton domain or .t.me Telegram Username.

輸入參數domain必填

dns.send_record_tx

Create DNS record confirmation link

Revalidate indexed ownership and return one HTTPS page where the user reviews and confirms the exact TON DNS record transaction.

輸入參數kind必填valuedomain必填keyNamevalueKindrawCategory

dns.send_name_tx

Create TON DNS name confirmation link

Return one HTTPS page for a validated .ton mint, auction bid, or expired-name release transaction.

輸入參數action必填domain必填

dns.send_renew_tx

Create TON DNS renewal confirmation link

Revalidate one to four owned .ton names and return one HTTPS page for a single TON Connect multi-message confirmation.

輸入參數domains必填

subdomains.list_collections

List owned Subdomain collections

List TON Subdomain collections controlled by the authenticated wallet.

輸入參數limitcursor

subdomains.list_items

List owned Subdomain items

List TON Subdomain NFT items owned by the authenticated wallet.

輸入參數limitcursor

subdomains.get_collection

Read Subdomain collection

Read a fresh collection snapshot when the authenticated wallet holds collection or parent rights.

輸入參數collectionAddress必填

subdomains.get_item

Read owned Subdomain item

Read a Subdomain NFT item owned by the authenticated wallet.

輸入參數itemAddress必填

subdomains.control

Read Subdomain control state

Read fresh collection authorization and parent-return state for the authenticated wallet.

輸入參數collectionAddress必填

subdomains.create_collection_tx

Create Subdomain collection confirmation link

Revalidate parent ownership, create collection metadata, and return one HTTPS transaction confirmation page.

輸入參數mode必填minChars必填priceGrid必填parentAddress必填

subdomains.mint_tx

Create Subdomain mint confirmation link

Revalidate availability and access, build metadata, and return one HTTPS mint or pending-mint confirmation page.

輸入參數label必填parent必填collectionAddress必填setWalletToMinter

subdomains.collection_action_tx

Create Subdomain action confirmation link

Revalidate current collection or parent rights and return one HTTPS management transaction confirmation page.

輸入參數labelaction必填walletallowednewAdminreservedaccessModecollectionAddress必填

subdomains.transfer_item_tx

Create Subdomain transfer confirmation link

Revalidate current NFT ownership and return one HTTPS Subdomain item transfer confirmation page.

輸入參數newOwner必填itemAddress必填

subdomains.recovery_tx

Create Subdomain recovery confirmation link

Re-derive an owned collection and return one HTTPS page for its deployment or resolver recovery transaction.

輸入參數mode必填action必填parentAddress必填

media.upload_image

Upload template image

Upload one PNG, JPEG, GIF, or WebP image to the authenticated owner's template media store.

輸入參數contentBase64必填

storage.list_bags

List TON Storage bags

List TON Storage bags owned by the authorized wallet.

無需輸入參數。

storage.bag_details

Read TON Storage bag details

Read metadata and live state for an owned TON Storage bag.

輸入參數bagId必填

storage.providers

List paid Storage providers

List backend-verified providers compatible with an owned TON Storage bag.

輸入參數sortbagId必填

storage.provider_funding_session

Create provider funding session

Freeze a short-lived live provider and shared-balance snapshot for an owned bag.

輸入參數bagId必填providerPubkeys必填

storage.provider_funding_preview

Preview provider funding

Calculate exact integer funding and coverage from a live provider session.

輸入參數bagId必填sessionId必填proofSpanSeconds必填targetCoverageSeconds必填

storage.provider_quote

Create provider quote

Create the signed backend quote that will be revalidated before a provider confirmation link is returned.

輸入參數bagId必填sessionId必填proofSpanSeconds必填targetCoverageSeconds必填

storage.provider_operation

Read provider operation

Read and reconcile one paid TON Storage provider operation.

輸入參數providerOperationId必填

storage.send_provider_tx

Create paid Storage provider confirmation link

Revalidate the live contract, providers, shared balance, and exact amount before returning one HTTPS pin, top-up, stop, or withdraw confirmation page.

輸入參數bagId必填action必填quoteIdproviderPubkeytargetCoverageSecondsacknowledgeOtherProviders

storage.create_bag

Create TON Storage bag

Create and seed a new TON Storage bag from explicit file contents.

輸入參數namefiles必填

storage.pin_bag

Pin TON Storage bag

Pin/import an existing public TON Storage bag by bag id.

輸入參數namebagId必填

storage.delete_bag

Delete TON Storage bag

Delete an owned TON Storage bag reference and remove platform-seeded bytes when safe.

輸入參數bagId必填confirmBagId必填

版本歷史

1
  1. v0.2.6最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分