Vanisur Platform

Connect an agent in five minutes

A live demo of Vanisur Platform: identity, scoped permissions, spending caps and an append-only audit trail for an AI agent. No account, no install, no repository — just the six calls below.

Live public demoplatform.demo.vanisur.comLeer en castellano

Fictional company. The company is made up and so is its data. The demo wipes itself and re-seeds every 24 hours, so anything you do here is gone by tomorrow. Never put real data in it.

The six steps

  1. 1 Get the demo owner credential

    The demo hands it out: it is the owner of a fictional company. Save it as DUENO.

    curl -s https://platform.demo.vanisur.com/api/v1/demo

    From the response: credencial_dueno

  2. 2 Register your agent

    It is born unable to do anything: no permissions. The token is shown once — save it as AGENTE_TOKEN, and the id as AGENTE.

    curl -s -X POST https://platform.demo.vanisur.com/api/v1/agentes \
      -H "authorization: Bearer $DUENO" \
      -H "content-type: application/json" \
      -d '{"nombre":"Agente de un desconocido 6e351f"}'

    From the response: agente.id · credencial.token

  3. 3 Grant one permission

    Denied by default: without this row, the action is refused. pedidos.consultar only reads, so it needs no caps.

    curl -s -X POST https://platform.demo.vanisur.com/api/v1/agentes/$AGENTE/permisos \
      -H "authorization: Bearer $DUENO" \
      -H "content-type: application/json" \
      -d '{"accion":"pedidos.consultar"}'
  4. 4 Ask the agent who it is

    Over MCP (Streamable HTTP), with the agent token. It answers its identity and what it is allowed to do today.

    curl -s -X POST https://platform.demo.vanisur.com/api/mcp \
      -H "authorization: Bearer $AGENTE_TOKEN" \
      -H "content-type: application/json" \
      -H "accept: application/json, text/event-stream" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"yo","arguments":{}}}'
  5. 5 Grab an order to ask about

    The action needs an order id, and the owner is the one who has them. Save the first one as PEDIDO.

    curl -s https://platform.demo.vanisur.com/api/v1/practica/pedidos \
      -H "authorization: Bearer $DUENO"

    From the response: pedidos[0].id

  6. 6 Run the action

    The same call with the tool name. Everything the agent does lands in the audit trail, which can only be appended to.

    curl -s -X POST https://platform.demo.vanisur.com/api/mcp \
      -H "authorization: Bearer $AGENTE_TOKEN" \
      -H "content-type: application/json" \
      -H "accept: application/json, text/event-stream" \
      -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"pedidos_consultar","arguments":{"pedido_id":"'$PEDIDO'"}}}'

Point your MCP client at it

Claude Desktop and Claude Code reach an HTTP server through mcp-remote; Cursor and VS Code can send the header themselves. Our endpoint takes a bearer token and has no OAuth: the agent credential is the whole authentication.

Claude Desktop · Claude Code

{
  "mcpServers": {
    "vanisur-platform": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://platform.demo.vanisur.com/api/mcp",
        "--header",
        "Authorization:Bearer ${TOKEN_AGENTE}"
      ],
      "env": {
        "TOKEN_AGENTE": "vp_agente_…"
      }
    }
  }
}

Cursor · VS Code (they send the header)

{
  "mcpServers": {
    "vanisur-platform": {
      "url": "https://platform.demo.vanisur.com/api/mcp",
      "headers": {
        "Authorization": "Bearer vp_agente_…"
      }
    }
  }
}

What just happened

That agent has an identity, one scoped permission and a line in an audit trail that nobody can edit — not even us. Ask it for something it has no permission for and it gets refused, and the refusal is recorded too.

The same, as plain text for a machine: /llms.txt · Every route and who may call it: the home page

Connect an agent · Vanisur Platform