HTTP计数器服务

基于WasmEdge和Axum框架构建的HTTP计数器服务,提供计数器增减和查询功能。

  • by apepkuss
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 apepkuss/axum-http-mcp-server

使用说明

Axum HTTP MCP服务器

构建

git clone https://github.com/apepkuss/axum-http-mcp-server.git

cd axum-http-mcp-server

cargo build --release

跑

  • 安装WasmEdge运行时
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash -s -- -v 0.14.1
  • 启动服务器

    wasmedge --dir .:. ./target/wasm32-wasip1/release/axum-mcp-server.wasm
    
  • 测试服务器

    • 调用“计数器”工具以递增计数器

      curl -X POST http://localhost:10086/api/counter \
        --header "Content-Type: application/json" \
        --data '{
            "jsonrpc": "2.0",
            "id": 5,
            "method": "tools/call",
            "params": {
                "name": "counter",
                "arguments": {
                    "operation": "increment"
                }
            }
        }'
      

      答复:

      {
          "id": 5,
          "jsonrpc": "2.0",
          "result": {
              "value": 1
          }
      }
      
    • 调用“计数器”工具以递减计数器

      curl -X POST http://127.0.0.1:10086/api/counter \
        --header "Content-Type: application/json" \
        --data '{
          "jsonrpc": "2.0",
          "id": 5,
          "method": "tools/call",
          "params": {
              "name": "counter",
              "arguments": {
                  "operation": "decrement"
              }
          }
      }'
      

      答复:

      {
        "id": 5,
        "jsonrpc": "2.0",
        "result": {
            "value": 0
        }
      }
      
    • 调用“计数器”工具获取计数器值

      curl -X POST http://127.0.0.1:10086/api/counter \
        --header "Content-Type: application/json" \
        --data '{
            "jsonrpc": "2.0",
            "id": 5,
            "method": "tools/call",
            "params": {
                "name": "counter",
                "arguments": {
                    "operation": "get_value",
                }
            }
        }'
      

      答复:

      {
          "id": 5,
          "jsonrpc": "2.0",
          "result": {
              "value": 0
          }
      }