Resistance Tools MCP
by TONresistor
README.md
# 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@main
codex plugin add resistance-tools-mcp@resistance-tools
codex mcp login resistance-tools-mcp
```
### Claude Code
```bash
claude plugin marketplace add TONresistor/resistance-tools-mcp@main
claude plugin install resistance-tools-mcp@resistance-tools
claude 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-tools
codex mcp remove resistance-tools
codex mcp logout resistance-tools-mcp
codex mcp remove resistance-tools-mcp
codex plugin remove resistance-tools@resistance-tools
codex plugin remove resistance-tools-mcp@resistance-tools
codex plugin marketplace remove resistance-tools
codex plugin marketplace add TONresistor/resistance-tools-mcp@main
codex plugin add resistance-tools-mcp@resistance-tools
codex mcp login resistance-tools-mcp
```
Claude Code:
```bash
claude mcp logout resistance-tools
claude mcp remove resistance-tools
claude mcp logout resistance-tools-mcp
claude mcp remove resistance-tools-mcp
claude plugin uninstall resistance-tools@resistance-tools
claude plugin uninstall resistance-tools-mcp@resistance-tools
claude plugin marketplace remove resistance-tools
claude plugin marketplace add TONresistor/resistance-tools-mcp@main
claude plugin install resistance-tools-mcp@resistance-tools
claude 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-tools
codex plugin remove resistance-tools-mcp@resistance-tools
codex plugin add resistance-tools-mcp@resistance-tools
```
Claude Code:
```bash
claude plugin marketplace update resistance-tools
claude 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/mcp
codex mcp login resistance-tools-mcp
```
### Claude Code
```bash
claude mcp add --transport http resistance-tools-mcp https://app.resistance.dog/api/mcp
claude 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
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues