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.
The six steps
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_dueno2 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.token3 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 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 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].id6 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