区块链交互服务器

Osmosis MCP Server是一个全面的MCP(模型上下文协议)服务器,用于与Osmosis区块链交互,提供158种工具,涵盖从基本区块链查询到高级DeFi操作、智能合约交互、钱包管理和直接交易执行等功能。

  • by MyronKoch-dev
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 myronkoch-dev/osmosis-mcp-server

使用说明

渗透MCP服务器

用于与Osmosis区块链交互的综合MCP(模型上下文协议)服务器。该服务器为AI助手提供 158工具 涵盖Osmosis生态系统的各个方面,从基本的区块链查询到高级DeFi操作、智能合约交互、钱包管理, 直接交易执行,以及 测试网实用程序.

特性

核心区块链运营

  • 查询区块链状态、区块和交易
  • 获取账户余额和代币信息
  • 检索链参数和模块帐户
  • 监控纪元和网络状态

流动性池和交易

  • 查询所有池类型(平衡器、Stableswap、集中流动性)
  • 获取池信息、流动性、费用和年利率
  • 估算掉期交易并准备交易
  • 访问历史价格数据和交易记录

集中流动性(CL)

  • 管理CL头寸和流动性范围
  • 在价格和报价之间转换
  • 查询池激励和费用增长
  • 准备职位创建和管理事务

股权与治理

  • 查询验证器、委托和奖励
  • 准备质押、解除质押和再委托交易
  • 访问治理提案、投票和计票
  • 获取质押参数和佣金率

DeFi和高级功能

  • 时间加权平均价格(TWAP)计算
  • 代币锁定和超流体质押
  • IBC面额追踪
  • 通过ProtoRev进行MEV/套利跟踪

智能合约(CosmWasm)

  • 查询并执行智能合约
  • 获取合同信息和历史记录
  • 准备合同实例化和迁移
  • 估算合同作业的天然气费用

代币工厂

  • 使用元数据创建自定义令牌
  • 铸造和焚烧代币工厂面额
  • 管理令牌管理和参数

专用功能

  • 停机检测和验证器偏好
  • IBC费率限制和费用代币管理

🚀 新增:直接交易执行(37种工具)

  • 银行业务:发送代币,多发送交易
  • 治理:提交提案、投票、交存提案
  • 锁定和激励:锁定代币、领取奖励、创建仪表
  • IBC转移:跨链代币转移
  • 超流体桩:使用LP代币进行流动性质押
  • 游泳池运营:创建池、高级交换
  • 代币工厂:创建自定义令牌,mint/burn
  • 模块管理:参数更新、升级

🔐 钱包管理(6个工具)

  • 使用BIP-39助记符生成新的Osmosis钱包
  • 从种子短语中恢复钱包
  • 验证地址和助记符
  • 从公钥派生地址

🧪 新增:测试网实用程序(3个工具)

  • 检查网络状态:验证测试网/主网上是否有安全警告
  • 获取测试网令牌:水龙头和代币来源的完整指南
  • 测试网水龙头:与渗透测试网水龙头直接集成
  • 池激励和超流体参数

安装

# Clone the repository
git clone https://github.com/yourusername/osmosis-mcp-server.git
cd osmosis-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

用法

运行服务器

# Start the server
npm start

# Or run with the MCP inspector (for testing)
npm run inspect

在Claude Desktop中配置

  1. 打开克劳德桌面
  2. 转到“设置”
  3. 导航到MCP部分
  4. 添加具有以下配置的新服务器:
    • 名称:Osmosis区块链服务器
    • 命令:path/to/渗透mcp服务器/build/index.js

可用工具

服务器暴露 158工具 分为12类:

📊 区块链工具(9个工具)

  • get-blockchain-status -获取当前区块链状态
  • get-account-balance -获取地址的令牌余额
  • get-epochs -获取纪元信息
  • get-transaction -通过哈希获取交易详细信息
  • get-latest-blocks -获取最近的区块信息
  • get-token-info -获取令牌元数据
  • get-supply -获取代币供应信息
  • get-chain-params -获取链参数
  • get-module-accounts -获取模块帐户信息

🏊 池工具(18个工具)

  • get-pool-info -获取池信息
  • get-all-pools -获取所有流动性池
  • get-pool-spot-price -获取当前现货价格
  • estimate-swap -估计掉期结果
  • get-incentivized-pools -获得奖励池
  • get-pool-incentives -获取池激励信息
  • get-pool-type -获取池类型(平衡器/稳定交换/CL)
  • get-historical-prices -获取历史价格数据
  • prepare-swap-transaction -准备掉期交易
  • get-pool-total-shares -获取LP股份总数
  • get-pool-liquidity -获取池流动性详细信息
  • get-pool-swap-fee -获得池交换费
  • get-pool-exit-fee -获得池退出费
  • get-pool-join-exit-records -获取加入/退出历史记录
  • get-pool-total-value-locked -获取泳池TVL
  • prepare-join-pool -准备加入池事务
  • prepare-exit-pool -准备退出池事务
  • get-pool-apr -获取池APR

🎯 集中流动性工具(15种工具)

  • get-cl-pools -获取所有CL池
  • get-cl-positions -获取地址的CL位置
  • get-cl-position -获取特定的CL职位详细信息
  • get-cl-positions-by-pool -获取池中的所有位置
  • get-cl-user-positions -获取用户的CL位置
  • price-to-tick -将价格转换为报价
  • tick-to-price -将报价转换为价格
  • get-cl-pool-incentives -获得CL池奖励
  • get-cl-pool-liquidity -获取CL池流动性
  • get-cl-pool-tick-data -获取刻度间距和当前刻度
  • get-cl-pool-fee-growth -获取费用增长统计数据
  • prepare-cl-create-position -准备创建头寸交易
  • prepare-cl-add-liquidity -准备增加流动性交易
  • prepare-cl-remove-liquidity -准备移除流动性交易
  • get-cl-swap-estimates -获取CL特定的掉期估算

🥩 打桩工具(15个工具)

  • get-validators -获取验证器信息
  • get-delegations -获取代表团地址
  • get-staking-rewards -获得待定的质押奖励
  • get-unbonding-delegations -获得无约束的代表团
  • get-validator-delegations -让所有委托人都通过验证器
  • get-validator-unbonding-delegations -获取验证器取消绑定委托
  • get-validator-commission -获取验证者佣金
  • get-validator-self-delegation -获取验证器自我委托
  • prepare-delegate -准备委托交易
  • prepare-undelegate -准备未删除交易
  • prepare-redelegate -准备再委托交易
  • prepare-claim-rewards -准备索赔奖励交易
  • get-staking-params -获取质押参数
  • get-slashing-params -获取削减参数
  • get-distribution-params -获取分布参数

🗳️ 治理工具(4个工具)

  • get-proposals -获取治理建议
  • get-proposal-details -获取提案详细信息
  • get-proposal-votes -获得提案投票
  • get-proposal-tally -获取提案投票结果

💰 DeFi工具(5个工具)

  • get-twap -获取时间加权平均价格
  • get-lockups -获取令牌锁定信息
  • get-superfluid-assets -获取超流体质押资产
  • get-denoms-by-creator -按创建者获取令牌工厂标识
  • get-ibc-denom-trace -获取IBC令牌源信息

📜 CosmWasm工具(20个工具)

  • get-wasm-codes -获取所有上传的WASM代码
  • get-wasm-code-info -获取WASM代码信息
  • get-contracts-by-code -按代码ID获取合同
  • get-contract-info -获取合同元数据
  • query-contract-state -查询合同状态
  • get-contract-history -获取合同迁移历史记录
  • prepare-instantiate-contract -准备合同实例化
  • prepare-execute-contract -准备合同执行
  • prepare-migrate-contract -准备合同迁移
  • get-contract-code-id -获取合同代码ID
  • get-contract-admin -获取合同管理员
  • get-contract-label -获取合同标签
  • query-contract-raw -查询原始合同存储
  • get-pinned-codes -获取固定代码ID
  • get-code-metadata -获取代码元数据
  • validate-contract-address -验证合同地址
  • estimate-instantiate-fee -估算实例化气体
  • estimate-execute-fee -估算执行气体
  • get-contract-ibc-port -获取合同IBC端口
  • get-contract-events -获取合同事件

🏭 令牌工厂工具(10个工具)

  • get-token-factory-denoms -获取所有令牌工厂名称
  • get-token-factory-denom-info -获取令牌工厂标识元数据
  • get-token-factory-creator -获取令牌创建者地址
  • prepare-create-token-factory-denom -准备创建令牌交易
  • prepare-mint-token-factory-tokens -准备薄荷代币交易
  • prepare-burn-token-factory-tokens -准备销毁代币交易
  • prepare-change-token-factory-admin -准备变更管理事务
  • get-token-factory-params -获取令牌工厂参数
  • validate-token-factory-denom -验证令牌工厂名称
  • get-token-factory-total-supply -获取代币总供应量

⚡ ProtoRev工具(8个工具)

  • get-protorev-profits-by-denom -按面额获取MEV利润
  • get-protorev-profits-by-tx -通过交易获得MEV利润
  • get-protorev-statistics -获取总体MEV统计数据
  • get-protorev-number-of-trades -获取ProtoRev交易计数
  • get-protorev-enabled -检查ProtoRev是否已启用
  • get-protorev-developer-account -获取开发者账号
  • get-protorev-max-pool-points -获得每笔交易的最大池点
  • get-protorev-pool-weights -获取池重量配置

🔧 专用工具(11种工具)

  • get-downtime-detector-params -获取停机检测器参数
  • get-downtime-status -获取当前停机状态
  • get-validator-set-preference -获取验证器设置首选项
  • get-ibc-rate-limits -获取IBC速率限制信息
  • get-mint-params -获取代币铸造参数
  • get-epoch-provisions -获取当前纪元条款
  • get-all-locks-by-type -按类型获取锁
  • get-synthetic-locks-by-lock-id -获取合成锁细节
  • get-fee-tokens -获取已接受的费用代币
  • get-pool-incentives-params -获取池激励参数
  • get-superfluid-params -获取超流体参数

🔐 钱包管理工具(6个工具)

  • generate-wallet -使用助记符生成新的Osmosis钱包
  • restore-wallet-from-mnemonic -从种子短语恢复钱包
  • get-wallet-address -从助记符中获取地址
  • validate-mnemonic -验证BIP-39助记符短语
  • validate-address -验证渗透地址格式
  • derive-address-from-pubkey -从公钥派生地址

🚀 执行工具(37个工具)-新增!

银行运营(3种工具)

  • send -将令牌发送到另一个地址
  • multi-send -将令牌发送到多个地址
  • set-send-enabled -启用/禁用令牌类型的发送

治理操作(4个工具)

  • submit-proposal -提交治理方案
  • vote-proposal -对治理提案进行投票
  • deposit-proposal -将代币存入提案
  • claim-community-pool -领取社区池奖励

锁定和激励操作(6个工具)

  • lock-tokens -锁定代币以获得激励奖励
  • begin-unlocking -开始解锁特定的锁定令牌
  • begin-unlocking-all -开始解锁所有锁定的令牌
  • unlock-period-lock -解锁已完成的周期锁
  • claim-incentives -申请可用的激励奖励
  • create-gauge -创建新的激励指标

IBC操作(4个工具)

  • ibc-transfer -跨链转移代币
  • timeout-packet -处理IBC数据包超时
  • acknowledge-packet -确认IBC数据包
  • update-client -更新IBC轻型客户端

高级池操作(8个工具)

  • create-pool -创建新的流动性池
  • join-swap-extern-amount-in -高级连接交换操作
  • join-swap-share-amount-out -使用共享输出加入交换
  • exit-swap-extern-amount-out -高级退出交换操作
  • exit-swap-share-amount-in -退出交换,共享输入
  • create-cosmwasm-pool -创建基于CosmWasm的池
  • stable-swap -执行稳定的资产互换
  • set-pool-weights -调整游泳池重量

超流体打桩作业(4个工具)

  • superfluid-delegate -通过Superfluid委托LP代币
  • superfluid-undelegate -Unlegate超流体代币
  • lock-and-superfluid-delegate -在一次交易中锁定和委派
  • unlock-and-migrate-superfluid-tokens -解锁并迁移

令牌工厂高级操作(3个工具)

  • set-token-metadata -设置自定义令牌元数据
  • force-transfer -管理员强制转移令牌
  • set-before-send-hook -设置代币转移挂钩

模块管理(5个工具)

  • update-params -更新模块参数
  • upgrade-proposal -提交软件升级方案
  • cancel-upgrade -取消待升级
  • set-withdrawal-address -设置奖励提取地址
  • fund-community-pool -基金社区池

交互示例

基本区块链查询

问克劳德:

What's the current status of the Osmosis blockchain?
Can you tell me about the OSMO token on Osmosis?
What's the balance of osmosis1abc...xyz?

池和交易操作

Show me information about pool #1
I want to swap 10 OSMO for ATOM. Can you estimate how much ATOM I would get?
What pools have the highest APR right now?
Help me prepare a transaction to join pool #678 with 100 OSMO and 50 ATOM

集中流动性管理

Show me all my concentrated liquidity positions for address osmosis1...
Convert a price of 1.25 ATOM/OSMO to tick format for pool #1066
Help me create a new CL position in the OSMO/USDC pool with a price range of $0.8 to $1.2

权益与治理

Show me all active validators and their commission rates
What are my pending staking rewards for osmosis1...?
What governance proposals are currently active?
Prepare a transaction to delegate 100 OSMO to validator osmovaloper1...

智能合约交互

Show me all smart contracts deployed with code ID 123
Query the state of contract osmosis14... with message {"get_config": {}}
Help me prepare a transaction to execute contract osmosis14... with the "swap" function

代币工厂运营

Show me all custom tokens created by address osmosis1...
Help me create a new token called "MyToken" with symbol "MTK"
Prepare a transaction to mint 1000 MTK tokens to address osmosis1...

高级分析

What are the current ProtoRev MEV profits for OSMO?
Show me the time-weighted average price for OSMO/ATOM over the last 24 hours
What's the total value locked in pool #1?

🚀 新增:直接交易执行

Generate a new Osmosis wallet for me
Send 10 OSMO from my wallet to osmosis1abc...xyz using my mnemonic phrase
Vote 'yes' on governance proposal #42 using my wallet
Lock 100 OSMO for 14 days to earn incentive rewards
Create an IBC transfer of 50 ATOM to the Cosmos Hub
Submit a text governance proposal titled "Improve Pool Incentives"

安全说明

⚠️ 更新的安全模型:

  • 默认网络:TESTNET(用于执行工具测试期间的安全)
  • 执行工具:可以使用提供的助记符直接签署和广播交易
  • 查询工具:只读操作,无私钥处理
  • 生产使用:设置 OSMOSIS_NETWORK=mainnet 主网环境变量
  • 记忆处理:助记词仅在内存中处理,从不存储
  • 测试网优先:在使用主网资金之前,始终使用测试网进行测试

发展

# Run in development mode with auto-reloading
npm run dev

# Test with the MCP inspector  
npm run inspect

# Run all tests
npm run test

# Validate everything works
npm run validate

工具类别摘要

类别 计数 描述
📊 区块链 9 核心区块链操作和查询
🏊 池 18 流动性池管理和交易
🎯 集中流动性 15 高级CL头寸管理
🥩 质押 15 验证器操作和委托
🗳️ 治理 4 提案投票和治理
💰 DeFi 5 高级DeFi功能和分析
📜 CosmWasm 20 智能合约交互
🏭 令牌工厂 10 自定义令牌创建和管理
⚡ ProtoRev 8 MEV和套利跟踪
🔧 专业 11 高级模块功能
🔐 钱包 6 钱包生成和管理
🚀 执行 37 直接交易执行
总计 158 完整的渗透生态系统覆盖

建筑

服务器由以下组件构建:

  • TypeScript 用于类型安全
  • @模型上下文协议/sdk 用于MCP协议实现
  • @cosmjs/stargate 用于Cosmos SDK交互
  • 渗透 用于渗透性特定操作
  • 轴 用于HTTP API调用
  • 动物圈 用于输入验证

每个工具类别都是模块化的,可以独立使用,使服务器具有高度的可维护性和可扩展性。

许可证

麻省理工学院