Uniswap Universal Router Decoder MCP server
io.github.Elnaril · Updated
Decode and encode Uniswap Universal Router calldata (V2, V3, V4). Read-only: never signs or sends.
At a glance
Uniswap Universal Router Decoder is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `uvx uniswap-universal-router-decoder`, and declares no required credentials. It exposes 3 tools, including decreaseLiquidity, collect and burn. It scores A (91/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install Uniswap Universal Router Decoder in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install Uniswap Universal Router Decoder in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add uniswap-universal-router-decoder -- uvx uniswap-universal-router-decoderVerify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. decreaseLiquidity, collect, burn). It discovers them automatically.
How to install Uniswap Universal Router Decoder in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "uniswap-universal-router-decoder": { "command": "uvx", "args": [ "uniswap-universal-router-decoder" ] } } }Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install Uniswap Universal Router Decoder in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "uniswap-universal-router-decoder": { "command": "uvx", "args": [ "uniswap-universal-router-decoder" ] } } }Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install Uniswap Universal Router Decoder in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.uniswap-universal-router-decoder] command = "uvx" args = ["uniswap-universal-router-decoder"]Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install Uniswap Universal Router Decoder in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "uniswap-universal-router-decoder": { "command": "uvx", "args": [ "uniswap-universal-router-decoder" ] } } }Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install Uniswap Universal Router Decoder in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "uniswap-universal-router-decoder": { "command": "uvx", "args": [ "uniswap-universal-router-decoder" ] } } }
How to install Uniswap Universal Router Decoder in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "uniswap-universal-router-decoder": { "type": "stdio", "command": "uvx", "args": [ "uniswap-universal-router-decoder" ] } } }Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does Uniswap Universal Router Decoder need from you?
Configuration only — Declares config values but no credentials.
RPC_URLoptionalEnvironment variableEthereum RPC endpoint. Optional: only decode_transaction needs it.
Pass secrets through your shell environment rather than committing them into a config file.
What tools does Uniswap Universal Router Decoder expose? (3)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- decreaseLiquidityremoves liquidity from the position. The freed tokens are NOT sent out: they are recorded
- collectsends `min(amountMax, tokensOwed)` to the recipient. `tokensOwed` holds both the principal freed by
- burndeletes the position (NFT). It requires the position to be empty (`liquidity == 0` and
What the code can do
Source analysis currently covers npm packages only. This server ships as a Python package, which needs a different parser.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit today — Actively maintained.
- 277 GitHub stars — Community adoption signal.
Client compatibility
Health score
A · 91Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%74%
277 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%75%
Links to its own repository; package linkage unverified.
- Packaging15%100%
Publishes a pinned version (4.0.0).
Documentation
Full READMEUniswap Universal Router Decoder & Encoder
Many thanks to everyone who has ☕️ offered some **coffees**! ☕️ or ⭐ **starred** this project! ⭐ It is greatly appreciated! :)
Project Information
Code Quality
Release Notes
See the release notes page
v4.0.0 - breaking changes
- Update COMMAND_TYPE_MASK to 0x7f to match UR
- Add support for the PAY_PORTION_FULL_PRECISION command (0x07)
- Add support for the BALANCE_CHECK_ERC20 command (0x0e)
- Add support for the V3_POSITION_MANAGER_PERMIT command (0x11)
- Add support for the V3_POSITION_MANAGER_CALL command (0x12)
- Add support for the EXECUTE_SUB_PLAN command (0x21)
- Add
revert_on_failto the encoder methods for the commands whose failure the UR can tolerate - Capture the bytes some callers append after the UR arguments as
trailing_data, and re-append them when rebuilding
the calldata, so a decoded call can be rebuilt byte-for-byte
- Make the chained function builders public and expose the
encoder&decodermodules - Reduce CI time
- Add a
publish.ymlGitHub Actions workflow that automatically publishes the package to PyPI and the MCP Registry with OIDC
Trusted Publishing
Excerpt — the full document is on GitHub.
Maintain Uniswap Universal Router Decoder? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-elnaril-uniswap-universal-router-decoder)Catalog data refreshed . Something wrong? Report it.