agent-bev

The world's largest agentic B2B hub for beer, wine and spirits. Powered by CUVEE. Trade only.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
92%
Integridad del esquema
77%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'compare_drinks' description lacks action verben compare_drinks

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,142Tokens (definiciones de herramientas)
~541 BTamaño de respuesta típico
Impacto moderado en la atención (0.89% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "bev-door": {
      "command": "npx",
      "args": [
        "@agent-bev/mcp-server"
      ]
    }
  }
}

Paquetes ejecutables

npm@agent-bev/mcp-server0.2.5stdio

Puntos de conexión remotos

https://mcp.bev-buyer.ai/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_drinks(query, node, category, limit)

Find beers, wines, spirits, ciders and ready-to-drink drinks by name, style, origin or category across every open country node. Returns record ids with each record's CUVEE.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "name, style, origin or category"
    },
    "node": {
      "type": "string",
      "description": "optional node id, e.g. es-bev"
    },
    "category": {
      "type": "string",
      "enum": [
        "beer",
        "wine",
        "spirits",
        "cider_perry",
        "rtd"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "query"
  ]
}
🟢get_record(record_id)

Read one product in full by record_id: every field with its source page, reader and state; its CUVEE; its claim status; the signed record (JWS).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_id": {
      "type": "string"
    }
  },
  "required": [
    "record_id"
  ]
}
🟢find_producer(producer, node)

Find a maker and its products across every open node, with the maker's name as each source wrote it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "producer": {
      "type": "string"
    },
    "node": {
      "type": "string"
    }
  },
  "required": [
    "producer"
  ]
}
🟢list_nodes

List the countries on the record: each node's door, languages, state and, for an open node, its counts.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢compare_drinks(record_ids)

Compare two to ten products side by side, field by field, each value with its source page.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2,
      "maxItems": 10
    }
  },
  "required": [
    "record_ids"
  ]
}
🟢get_order_route(record_id)

Get the maker's or distributor's trade channel to order a product, as the record states it. Never a consumer channel.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_id": {
      "type": "string"
    }
  },
  "required": [
    "record_id"
  ]
}
🟡create_order_intent(record_ids, quantity, market, needed_by, note, ...)

Place an order intent for one to ten records (quantity, delivery market, optional date and note, the buyer's organisation and email). The Bourse routes it to each maker; verified makers answer with offers, and a maker's own Brand Agent address comes back with the routing. The email stays private: it is the buyer's key to read offers and accept one.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "record_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 10
    },
    "quantity": {
      "type": "string",
      "description": "quantity with its unit, e.g. 600 bottles (75 cl)"
    },
    "market": {
      "type": "string",
      "description": "delivery market (country)"
    },
    "needed_by": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "note": {
      "type": "string"
    },
    "buyer": {
      "type": "object",
      "properties": {
        "organisation": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      },
      "required": [
        "organisation",
        "email"
      ]
    }
  },
  "required": [
    "record_ids",
    "quantity",
    "market",
    "buyer"
  ]
}
🟢get_offers(intent_id, email)

Read the makers' offers on an order intent, and the order once placed. By the buyer's email given on create_order_intent.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intent_id": {
      "type": "string"
    },
    "email": {
      "type": "string"
    }
  },
  "required": [
    "intent_id",
    "email"
  ]
}
⚪accept_offer(intent_id, offer_id, email)

Accept one offer and place the order through the Bourse. Accepting is one x402 paid call (HTTP 402 with the payment offer until paid): it settles and signs the order. The goods are paid between the two companies on the offer's own terms.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intent_id": {
      "type": "string"
    },
    "offer_id": {
      "type": "string"
    },
    "email": {
      "type": "string"
    }
  },
  "required": [
    "intent_id",
    "offer_id",
    "email"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas