
Rootstock (RSK) MCP Server
io.github.rsksmart由 GitHub 账号 rsksmart 发布v0.2.7更新于 Oct 24, 2026
MCP Server for Rootstock Blockchain
概览
让 AI 助手管理 Rootstock(RSK)钱包、查询余额、转账 rBTC/ERC20 代币、部署与验证合约并签发认证的 MCP 服务器。
- 可以做什么
- 管理钱包:创建、通过私钥导入、列出、切换、删除,并复用已有钱包数据
- 查询 rBTC 与 ERC20 余额,按哈希查看交易状态或查询交易历史
- 转账 rBTC 或 ERC20 代币,需先创建待确认操作再确认或取消
- 在 Rootstock 主网或测试网上部署、验证合约并读取已验证合约
- 通过 Rootstock 认证服务创建、验证、撤销、列出和筛选认证与 schema
- 适用场景
- 适合在对话中直接完成 Rootstock 链上操作:查看余额与交易、转移测试网或主网资金、部署和验证 Solidity 合约、记录认证,无需另开命令行工具。
- 运行要求
- 以 stdio 本地运行,可通过 npx 或构建后的 index.js 启动;需要 Node.js v18 及以上和 npm 或 yarn。钱包密码与私钥作为工具参数传入。交易历史需要 Alchemy API 密钥,列出认证需要 Alchemy 或 GetBlock 等提供商的自定义 RPC URL,因为 RSK 公共节点不支持 eth_getLogs。
安装
在 SourceWeft 中
- 打开 控制台中的 Rootstock (RSK) MCP Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[OpenSSF Scorecard] [CodeQL] [RSK Logo]
RSK MCP Server - Rootstock Blockchain Tools
Rootstock MCP Server is a Model Context Protocol (MCP) server that provides advanced tools for interacting with the Rootstock (RSK) blockchain. This project enables AI clients to seamlessly connect and execute blockchain operations.
🚀 Key Features
- 💼 Wallet Management: Create, import, switch and manage multiple wallets
- 💰 Balance Queries: Check rBTC and ERC20 token balances
- 💸 Transfers: Send rBTC and tokens to other addresses
- 🔍 Transaction Tracking: Verify transaction status by hash
- 🚀 Contract Deployment: Deploy smart contracts on Rootstock
- ✅ Contract Verification: Verify deployed contracts
- 📄 Contract Interaction: Read data from verified contracts
- 📊 History: Query transaction history
- 🎯 Attestations: Create, verify, and manage attestations using RAS (Rootstock Attestation Service)
- 🏗️ Schema Management: Create and manage attestation schemas
- 📝 Attestation Queries: List and filter attestations by various criteria
🧰 Available Tools
This server exposes 22 MCP tools. You don't call these directly — once the MCP is connected, your AI client selects the right tool based on your prompt.
See Detailed Functionality below for parameters and examples.
📋 Prerequisites
- Node.js v18 or higher
- npm or yarn
- TypeScript (included in dev dependencies)
Note: You will use this Model Context Protocol Server from a LLM Client (e.g Cursor, Claude, Warp, etc) which needs to be compatible with the MCP standard. Take into account there are 2 steps here:
- Installation and Build
- AI Client Configuration
IMPORTANT: You need to complete both settings to correctly use MCP within the Client.
🛠️ Installation and Build
1. Clone the Repository
2. Install Dependencies
3. Build the Project
This command:
- Compiles TypeScript to JavaScript in the
build/folder - Makes the main file executable (
build/index.js)
4. Verify Installation
Important Note: For local running this MCP, your client will point to the
index.jsfile created on thebuildfolder after building it.
⚙️ AI Client Configuration
🏠 Remote Configuration
For Cursor IDE
In Cursor, go to Settings > Cursor Settings > Tools & Integrations
You will see an option to Add Custom MCP
[MCP View]
And add to the JSON file:
Note: For install reference on Cursor, please follow these instructions Here
Once it is installed into Cursor, you should see something like: [MCP View]
Green dot indicates it was installed correctly.
For Claude Desktop (Anthropic)
Edit your Claude Desktop configuration file:
Open your Claude client, and then click on Settings/Developer
[Claude settings]Click the “Edit Config” button to open the configuration file and add the following configuration:
Note: This action creates a new configuration file if one doesn’t exist, or opens your existing configuration. The file is located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Note: For install reference on Claude, please follow these instructions Here
Once you have installed this MCP on the Claude client, you will see it once you click on the Search and toolsoption under Web search option (see next image)
🏠 Local Configuration
For Cursor IDE
In Cursor, go to Settings > Cursor Settings > Tools & Integrations
You will see an option to Add Custom MCP
[MCP View]
And add to the JSON file:
Note: For install reference on Cursor, please follow these instructions Here
Once it is installed into Cursor, you should see something like: [MCP View]
Green dot indicates it was installed correctly.
For Claude Desktop (Anthropic)
Edit your Claude Desktop configuration file:
Open your Claude client, and then click on Settings/Developer
[Claude settings]Click the “Edit Config” button to open the configuration file and add the following configuration:
Note: This action creates a new configuration file if one doesn’t exist, or opens your existing configuration. The file is located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Note: For install reference on Claude, please follow these instructions Here
Once you have installed this MCP on the Claude client, you will see it once you click on the Search and toolsoption under Web search option (see next image)
For Other MCP Implementations
Any MCP-compatible client can connect using:
🌐 Remote Configuration (URL)
Note: This functionality will be available when the server is deployed to a public endpoint.
Remote Client Configuration
🔧 Detailed Functionality
Once this MCP is installed on the client, you will be able to interact with it by prompt, using chat box, for example, a good prompt to start interacting with this MCP is to write a prompt like:
I would like to start interacting with Rootstock
Then it will require you to give permission to use the MCP tool, you click on accept, and then it should answer something like:
You can continue the flow according to what you need to do.
1. 🧭 Session & Interaction
Available Tools:
start-interaction: Entry point tool — start here when a user first asks about Rootstock. Lists all available operations.list-pending-operations: List operations awaiting confirmation (contract deployments, token transfers)confirm-operation: Confirm and execute a pending operation using its operation IDcancel-operation: Cancel and discard a pending operation using its operation ID
Why confirmation is needed: Critical operations like deploy-contract and transfer-tokens require a confirmAction boolean on every call — omitting it fails schema validation. Passing confirmAction: false creates a pending operation (expires after 5 minutes) instead of executing, and nothing happens on-chain until it's confirmed via confirm-operation. Passing confirmAction: true on the first call skips that pending step entirely — the tool descriptions themselves instruct AI agents not to do this until a real person has explicitly approved the action, so treat it as an escape hatch for already-approved automation, not the default flow.
List Pending Operations
Confirm an Operation
Cancel an Operation
2. 💼 Wallet Management
Available Tools:
start-wallet-interaction: Initialize wallet managementcreate-wallet: Create/import/manage walletsuse-wallet-from-creation: Reuse wallet data from a previouscreate-walletresult without re-uploading it
Supported Operations:
🆕 Create New Wallet
🔑 Import Existing Wallet
🔍 List Saved Wallets
🔁 Switch Active Wallet
♻️ Reuse Wallet From Previous Creation
3. 💰 Balance Queries
Tool: check-balance
Supported Tokens:
- rBTC - Rootstock native token
- USDT - Tether USD
- DOC - Dollar on Chain
- BPRO - BitPro
- RIF - RIF Token
- FISH - Fish Token
- Custom Token - Any ERC20 token
Example:
For Custom Tokens:
4. 💸 Token Transfers
Tool: transfer-tokens
Transfers rBTC or ERC20 tokens between wallets. Like deploy-contract, confirmAction is required on every call: pass false to get back a pending operation that must be confirmed via confirm-operation before anything executes; pass true only once a real person has approved the transfer.
Requirements:
- Recipient address
- Amount (number, not string)
- Wallet with sufficient funds
- Token contract address (optional, omit for native rBTC)
Example:
5. 🔍 Transaction Tracking
Tool: check-transaction
Returned Information:
- Transaction status (pending/confirmed/failed)
- Block number
- Gas used
- Transfer details
- Timestamps
6. 📊 Transaction History
Tool: check-transaction-history
Queries a wallet's transaction history using the Alchemy API.
Requirements:
- Alchemy API key (optional — falls back to a stored key if omitted)
Example:
7. 🚀 Contract Deployment
Tool: deploy-contract
Requirements:
- Contract ABI (JSON)
- Compiled bytecode (hex)
- Constructor arguments (optional)
- Wallet with sufficient funds
Example:
8. ✅ Contract Verification
Tool: verify-contract
Requirements:
- Deployed contract address
- Solidity source code
- Compilation metadata (JSON Standard Input)
- Constructor arguments used
Example:
9. 📄 Contract Reading
Tool: read-contract
To List Available Functions:
To Call a Function:
10. 🌐 Supported Networks
Rootstock Mainnet
- RPC URL:
https://public-node.rsk.co - Chain ID: 30
- Explorer:
https://explorer.rootstock.io
Rootstock Testnet
- RPC URL:
https://public-node.testnet.rsk.co - Chain ID: 31
- Explorer:
https://explorer.testnet.rootstock.io
11. 🎯 Attestation Management
Available Attestation Tools:
issue-attestation: Create new attestations with a raw schema and encoded dataverify-attestation: Verify existing attestations by UIDrevoke-attestation: Revoke attestationslist-attestations: Query attestations by event logs (requires custom RPC URL)create-schema: Register new attestation schemasattest-deployment: Create a deployment attestation using the RAS default schemaattest-verification: Create a contract verification attestation using the RAS default schemaattest-transfer: Create a transfer attestation using the RAS default schema
🎯 Issue Attestation
🔍 Verify Attestation
❌ Revoke Attestation
📋 List Attestations
Note: RSK public nodes do not support
eth_getLogs. A customrpcUrlfrom a provider such as Alchemy or GetBlock is required.
🏗️ Create Schema
🏗️ Attest Deployment
Creates a deployment attestation using the RAS default deployment schema. Uses DEFAULT_SCHEMA_UIDS.testnet.deployment when no schemaUID is provided.
✅ Attest Verification
Creates a contract verification attestation using the RAS default verification schema.
💸 Attest Transfer
Creates a transfer attestation using the RAS default transfer schema.
📁 Project Structure
🔐 Security
Private Key Management
- Private keys are stored encrypted using AES-256
- Each wallet has its own unique IV (initialization vector)
- Passwords are never stored in plain text
Best Practices
- Use strong and unique passwords
- Maintain secure backups of
my-wallets.json - Do not share configuration files
- Use testnet for testing
🐛 Troubleshooting
Error: "Module not found"
MCP Connection Error
- Verify absolute path in configuration
- Ensure the project is compiled
- Check MCP client logs
Wallet Issues
- Verify
my-wallets.jsonformat - Check password in
password.json(in case you managed the password in a file) - Ensure sufficient funds for transactions
Contributing
We welcome contributions from the community. Please fork the repository and submit pull requests with your changes. Ensure your code adheres to the project's main objective.
Support
For any questions or support, please open an issue on the repository or reach out to the maintainers.
Disclaimer
The software provided in this GitHub repository is offered “as is,” without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement.
- Testing: The software has not undergone testing of any kind, and its functionality, accuracy, reliability, and suitability for any purpose are not guaranteed.
- Use at Your Own Risk: The user assumes all risks associated with the use of this software. The author(s) of this software shall not be held liable for any damages, including but not limited to direct, indirect, incidental, special, consequential, or punitive damages arising out of the use of or inability to use this software, even if advised of the possibility of such damages.
- No Liability: The author(s) of this software are not liable for any loss or damage, including without limitation, any loss of profits, business interruption, loss of information or data, or other pecuniary loss arising out of the use of or inability to use this software.
- Sole Responsibility: The user acknowledges that they are solely responsible for the outcome of the use of this software, including any decisions made or actions taken based on the software’s output or functionality.
- No Endorsement: Mention of any specific product, service, or organization does not constitute or imply endorsement by the author(s) of this software.
- Modification and Distribution: This software may be modified and distributed under the terms of the license provided with the software. By modifying or distributing this software, you agree to be bound by the terms of the license.
- Assumption of Risk: By using this software, the user acknowledges and agrees that they have read, understood, and accepted the terms of this disclaimer and assumes all risks associated with the use of this software.
来源:README.md,提交 2d22304
工具
0版本历史
1- v0.2.7最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分