一个模型上下文协议(MCP)服务器,通过统一接口提供对所有 Foundry 命令行工具(forge、cast、anvil、chisel)的访问,以及区块链 RPC 发现和代币信息。
Anvil 会话管理 - 控制后台 Anvil 实例:
anvil_session_start - 作为后台进程启动 Anvil(分叉、自定义端口、账户、区块时间)anvil_session_stop - 停止运行中的 Anvil 实例anvil_session_status - 检查 Anvil 是否正在运行并获取连接详情Chisel 会话管理 - 具有状态的持久 REPL:
chisel_session_start - 启动 Chisel REPL 会话chisel_session_eval - 执行 Solidity 代码(状态在多次调用之间保持!)chisel_session_stop - 停止 Chisel 会话chisel_session_status - 检查 Chisel 是否正在运行search_rpc_url - 搜索任何链的 RPC 端点(开源、无跟踪、WebSocket/HTTP、限制)
search_chains - 按名称、符号或链 ID 搜索网络
list_popular_chains - 快速访问流行网络(以太坊、Polygon、Arbitrum 等)
search_tokens - 在所有支持的链上按名称或符号搜索代币
get_token_by_address - 根据合约地址获取代币信息
list_chain_tokens - 列出特定区块链网络上的所有代币
list_supported_chains - 列出代币列表支持的所有区块链网络
支持的链:
必须安装 Foundry 并将其添加到 PATH 中:
curl -L https://foundry.paradigm.xyz | bash
foundryup
cargo build --release
编译后的二进制文件位于 ./target/release/foundry-mcp-server
服务器通过 stdin/stdout 使用 MCP 协议进行通信:
foundry-mcp
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
无需配置(无限制):
{
"mcpServers": {
"foundry": {
"command": "/path/to/foundry-mcp-rs/target/release/foundry-mcp"
}
}
}
自定义配置:
{
"mcpServers": {
"foundry": {
"command": "/path/to/foundry-mcp-rs/target/release/foundry-mcp",
"args": ["--config", "/path/to/your/config.json"]
}
}
}
服务器支持可配置的安全限制,以防止危险操作。当通过 AI 助手暴露 Foundry 工具时,这一点尤为重要。
工作原理:在初始化期间,从工具模式中过滤掉禁止的命令和标志。这意味着 AI 助手甚至看不到这些工具/标志——它们根本不会出现在可用工具列表中。这比运行时验证更安全,因为它遵循最小权限原则。
服务器从以下位置加载配置:
--config path/to/config.json(显式路径)~/.foundry-mcp-config.json{
"forbidden_commands": ["anvil", "forge_script"],
"forbidden_flags": ["broadcast", "private-key", "mnemonic"],
"allow_dangerous": false
}
forbidden_commands:要阻止的命令名称数组(例如,"anvil"、"forge_script"、"cast_send")forbidden_flags:要阻止的标志名称数组(例如,"broadcast"、"private-key"、"mnemonic")allow_dangerous:控制硬编码危险限制的布尔值
false(默认):自动将硬编码危险命令/标志添加到您的禁止列表中true:仅使用您明确配置的禁止列表当 allow_dangerous: false(默认)时,以下硬编码限制将自动与您的配置合并:
危险命令:
anvil - 本地以太坊节点危险标志:
broadcast - 将事务发送到网络private-key - 直接使用私钥mnemonic - 直接使用助记词legacy - 旧版事务类型unlock - 解锁账户注意:您的自定义 forbidden_commands 和 forbidden_flags 将与这些硬编码值合并,因此您可以添加额外的限制而无需重复默认值。
使用默认安全限制运行:
foundry-mcp
使用自定义配置运行:
foundry-mcp --config /path/to/config.json
复制配置到默认位置(更新系统范围的默认设置):
cp config.safe.json ~/.foundry-mcp-config.json
foundry-mcp
显示帮助:
foundry-mcp --help
schemas.json 加载 Foundry CLI 模式chainlist://all - 2400 多个区块链网络数据库tokenlist://all - 跨以太坊和 L2 链的 ERC20 代币MIT 或 Apache-2.0(与 Foundry 相同)