Ambur MCP服务器

Ambur MCP服务器是一个用Rust编写的服务,用于封装Ambur查询和执行入口点消息,以便通过签名者广播。

  • by phi-labs-ltd
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 phi-labs-ltd/ambur-mcp

使用说明

救护车MCP服务器

Rust中的MCP服务器,用于包装Ambur查询并执行由签名者广播的入口点消息。

配置依赖关系

中的一些依赖关系 Cargo.toml 由GitHub存储库提供,包括一些私有存储库。不幸的是,如果您没有私有存储库的读取权限,您将无法构建此项目。

该项目仍然是开源的,因为它为开发人员为多个CosmWasm合同构建MCP服务器提供了示例。如果你正在寻找一个例子,你可以自己构建和测试,看看 cosmwasmcp模板 知识库;它与此存储库共享大部分相同的代码,但不依赖于任何私有依赖关系。这两个项目的主要区别在于 cosmwasmcp模板 不包括多合约支持。

构建此项目

要构建此项目,需要 nightly Rust的构建,这将允许使用rustc的2024版。

# Switch rustc to `nightly` channel
rustup default nightly
# Build for development
cargo build
# Build for deployment
cargo build --release

此MCP服务器提供的工具

此MCP服务器提供以下15个工具和功能。

  1. list_contract_deployments -列出Ambur核心合约地址(主网和测试网)
  2. list_nft_collections -列出Ambur NFT(主网和测试网合约地址、集合名称和集合描述)
  3. list_query_entry_points -列出可以对核心Ambur市场合同进行的查询
  4. list_query_responses -列出可以从对核心Ambur市场合约进行的查询中获取的详细响应数据
  5. build_query_msg -构建对核心Ambur市场合约的查询,该合约可以通过RPC连接的钱包进行广播
  6. list_tx_entry_points -列出可以对核心Ambur市场合同进行的交易
  7. build_execute_msg -构建一个交易到核心Ambur市场合约,该合约可以由RPC连接的钱包签名和广播
  8. list_token_query_entry_points -列出可以在Ambur上交易的NFT代币的查询(例如Archies、Derpies、Foresight和Ghouls)
  9. build_token_query_msg -构建一个对NFT令牌的查询,该NFT令牌可以在Ambur上交易(例如Archies、Derpies、Foresight和Ghouls),可以通过RPC连接的钱包进行广播
  10. list_token_tx_entry_points -列出可以在Ambur上交易的NFT代币的交易(例如Archies、Derpies、Foresight和Ghouls)
  11. build_token_execute_msg -构建一个NFT代币的交易,该代币可以在Ambur上交易(例如Archies、Derpies、Foresight和Ghouls),可以通过RPC连接的钱包进行广播
  12. list_minter_query_entry_points -列出可以对可以在Ambur上交易的NFT的铸币合同进行查询(例如Archies铸币厂、Derpies铸币厂、Foresight铸币厂和Ghouls铸币厂)
  13. build_minter_query_msg -为可以在Ambur上交易的NFT代币(例如Archies minter、Derpies minter、Foresight minter和Ghouls minter)构建一个查询,该NFT代币可以通过RPC连接的钱包进行广播
  14. list_minter_tx_entry_points -列出可以在Ambur上交易的NFT代币的造币合约的交易(例如Archies造币厂、Derpies造币场、Foresight造币场和Ghouls造币厂)
  15. build_minter_execute_msg -为可以在Ambur上交易的NFT代币(例如Archies minter、Derpies minter、Foresight minter和Ghouls minter)构建一个交易到minter合约,该代币可以通过RPC连接的钱包进行广播

将MCP连接到克劳德桌面

对于默认设置,构建一个发布二进制文件并指向mcp服务器的 command 走自己的路。无运行参数(args)需要:

// claude_desktop_config.json
{
  "mcpServers": {
    "ambur": {
      "command": "/your-computer-path/ambur-mcp/target/release/ambur-mcp",
      "args": []
    }
  }
}

对于虚拟机设置和WSL用户,请按以下方式执行VM command 并使用run参数(args)指向VM运行二进制文件的位置:

// claude_desktop_config.json
{
  "mcpServers": {
    "ambur": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-ic",
        "/your-vm-path/ambur-mcp/target/release/ambur-mcp",
      ]
    }
  }
}

将MCP连接到LangGraph

@langchain/mcp适配器 必须安装在图形项目中。此包将把MCP端点转换为Graph工具。

使用@langchain/mcp适配器

// graph.ts
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
// ...
// Create client and connect to server
const client = new MultiServerMCPClient({
  throwOnLoadError: true,
  prefixToolNameWithServerName: true,
  additionalToolNamePrefix: "mcp",
  mcpServers: {
    ambur: {
      transport: "stdio",
      command: "~/mcp-servers/ambur-mcp", // path to pre-built linux binary 
                                          // stored in the Graph repo
      args: [],
      restart: {
        enabled: true,
        maxAttempts: 3,
        delayMs: 1000,
      },
    },
  },
});

const tools = await client.getTools();
// ...