call_mcp

El MCP de Emporium, con un token OAuth 2.1 de Emporium (entrar con PayBox): las seis tools de la casa, las tres de un negocio por su slug y las billeteras de la persona, de lectura

POST https://emporium.ultravioletadao.xyz/mcp

Por dónde se llega

API RESTVivoPOST https://emporium.ultravioletadao.xyz/mcp
MCPMuy pronto
CLIMuy pronto
SDK de PythonMuy pronto
SDK de TypeScriptMuy pronto
SDK de RustMuy pronto

Vivo: se usa hoy, para leer y para escribir. Solo lectura: hoy se lee y no se escribe. Muy pronto: todavía no está.

Parámetros

NombreDóndeRequeridoEsquemaQué es
MCP-Protocol-VersioncabeceranostringLa versión del protocolo MCP, después de initialize

El cuerpo de la petición

Requerido.

application/json

{
  "$ref": "#/components/schemas/PeticionJsonRpc"
}

Respuestas

200

Correcto

application/json

{
  "$ref": "#/components/schemas/RespuestaJsonRpc"
}

text/event-stream string

202

Aceptado, sin cuerpo

Sin cuerpo.

Cualquier otro status

Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada

application/json

{
  "anyOf": [
    {
      "$ref": "#/components/schemas/SobreDeError"
    },
    {
      "$ref": "#/components/schemas/RespuestaJsonRpc"
    }
  ]
}

Esquemas

Los que nombra esta operación, tal cual están en components.schemas del contrato.

CodigoDeError
{
  "enum": [
    "dominio_invalido",
    "slug_ocupado",
    "tenant_no_encontrado",
    "tenant_no_publicado",
    "tenant_suspendido",
    "clave_invalida",
    "estado_no_permite",
    "ventana_no_cumplida",
    "metodo_invalido",
    "manifiesto_invalido",
    "categoria_prohibida",
    "terminos_no_aceptados",
    "canal_no_confirmado",
    "version_de_terminos_desconocida",
    "pedido_invalido",
    "faltan_datos",
    "respuesta_invalida",
    "firma_invalida",
    "enlace_vencido",
    "enlace_ya_usado",
    "demasiadas_peticiones",
    "parametro_invalido",
    "metodo_no_permitido",
    "firma_no_configurada",
    "correo_no_configurado",
    "terminos_no_configurados",
    "casa_no_configurada",
    "almacen_no_disponible",
    "error_interno",
    "paybox_no_configurado",
    "boveda_no_disponible",
    "sesion_requerida",
    "estado_oauth_invalido",
    "consentimiento_rechazado",
    "concesion_insegura",
    "paybox_no_responde",
    "paybox_rechazo",
    "sin_vinculo",
    "vinculo_revocado",
    "vinculo_vencido",
    "reconexion_requerida",
    "vinculo_ajeno",
    "renovacion_en_curso"
  ],
  "type": "string"
}
CuerpoDelError
{
  "additionalProperties": false,
  "properties": {
    "codigo": {
      "$ref": "#/components/schemas/CodigoDeError"
    },
    "detalles": {
      "items": {
        "$ref": "#/components/schemas/Detalle"
      },
      "type": "array"
    },
    "mensaje": {
      "type": "string"
    },
    "peticion_id": {
      "type": "string"
    }
  },
  "required": [
    "codigo",
    "detalles",
    "mensaje",
    "peticion_id"
  ],
  "type": "object"
}
Detalle
{
  "additionalProperties": false,
  "properties": {
    "campo": {
      "type": "string"
    },
    "problema": {
      "type": "string"
    }
  },
  "required": [
    "campo",
    "problema"
  ],
  "type": "object"
}
ErrorJsonRpc
{
  "properties": {
    "code": {
      "format": "int64",
      "type": "integer"
    },
    "data": true,
    "message": {
      "type": "string"
    }
  },
  "required": [
    "code",
    "message"
  ],
  "type": "object"
}
IdJsonRpc
{
  "anyOf": [
    {
      "format": "int64",
      "type": "integer"
    },
    {
      "type": "string"
    }
  ]
}
PeticionJsonRpc
{
  "properties": {
    "id": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/IdJsonRpc"
        },
        {
          "type": "null"
        }
      ]
    },
    "jsonrpc": {
      "$ref": "#/components/schemas/VersionJsonRpc"
    },
    "method": {
      "type": "string"
    },
    "params": {
      "additionalProperties": true,
      "default": null,
      "type": [
        "object",
        "null"
      ]
    }
  },
  "required": [
    "jsonrpc",
    "method"
  ],
  "type": "object"
}
RespuestaJsonRpc
{
  "properties": {
    "error": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ErrorJsonRpc"
        },
        {
          "type": "null"
        }
      ]
    },
    "id": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/IdJsonRpc"
        },
        {
          "type": "null"
        }
      ]
    },
    "jsonrpc": {
      "$ref": "#/components/schemas/VersionJsonRpc"
    },
    "result": {
      "additionalProperties": true,
      "type": [
        "object",
        "null"
      ]
    }
  },
  "required": [
    "id",
    "jsonrpc"
  ],
  "type": "object"
}
SobreDeError
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "$ref": "#/components/schemas/CuerpoDelError"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
VersionJsonRpc
{
  "enum": [
    "2.0"
  ],
  "type": "string"
}