Preferencias de privacidad

Funciones necesarias

Necesarias para la seguridad y las funciones básicas del sitio.

Siempre activas

Analítica opcional de uso

¿Permitir analítica de uso de PostHog? Puedes cambiar tu elección en el pie de página cuando quieras.

Permitir también la grabación de sesiones en este sitio web público

La grabación de sesiones muestra las páginas públicas y las interacciones, con los datos introducidos y el contenido privado ocultos. La grabación de sesiones en la aplicación es una opción independiente.

Requiere análisis; la reproducción del sitio está desactivada por defecto.

Los análisis del navegador no activan los de la cuenta.

La búsqueda solo se carga cuando la usas. Explora todas las categorías a continuación.

Herramienta MCP

Actualizar un flujo de Listening

sosoapi_listening_streams_update

Reemplazar los ajustes del flujo con expected_revision; las consultas modificadas bloquean la recopilación anterior y requieren nueva autorización. Requiere agent:research.

Leer en Markdown

Perfiles y transportes

Perfiles: full · Transportes: stdio, http

Elige core o full para controlar qué herramientas ve tu cliente; no cambia sus permisos. La carga de archivos locales requiere stdio y no está disponible por HTTP. Establece SOSOAPI_OUTPUT_SCHEMAS=1 para incluir esquemas de salida en la detección. Las herramientas devuelven resultados estructurados con o sin esa opción.

Permisos y efectos secundarios

Las anotaciones ayudan a los clientes a describir una herramienta. Cada llamada sigue comprobando la autenticación, el rol, el acceso al recurso y los permisos de capacidades del usuario.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}
  • /listening-api/streams/update: agent:research · versión confirmada de recurso Listening o barrera de cancelación; sin escrituras en plataformas sociales

Campos de entrada

Obligatorio significa obligatorio dentro del objeto principal y la rama elegida. Un campo secundario obligatorio no convierte en obligatorio un objeto principal opcional. Las reglas y nombres de campos siguientes se copian del contrato.

Campos de entrada
Campo / ramaTipo / obligatorioRestricciones
$objectObligatorio en el objeto principal
  • additionalProperties: false
workspace_idstringObligatorio en el objeto principal
  • format: "uuid"
mutation_idstringObligatorio en el objeto principal
  • format: "uuid"
idstringObligatorio en el objeto principal
  • format: "uuid"
expected_revisionintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
contentobjectObligatorio en el objeto principal
  • additionalProperties: false
content.namestringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 120
content.querystringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 200
content.source_overridesobjectOpcional / elemento
  • additionalProperties: false
content.source_overrides.hacker_newsstringOpcional / elemento
  • minLength: 1
  • maxLength: 200
content.include_termsarrayOpcional / elemento
  • maxItems: 20
content.include_terms[]stringOpcional / elemento
  • minLength: 1
  • maxLength: 100
content.exclude_termsarrayOpcional / elemento
  • maxItems: 20
content.exclude_terms[]stringOpcional / elemento
  • minLength: 1
  • maxLength: 100
content.item_typesarrayOpcional / elemento
  • minItems: 1
  • maxItems: 2
content.item_types[]stringOpcional / elemento
  • enum: ["story","comment"]
content.cadence_minutesintegerOpcional / elemento
  • minimum: 30
  • maximum: 1440
content.lookback_daysintegerOpcional / elemento
  • minimum: 1
  • maximum: 7
JSON Schema completo
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "mutation_id": {
      "type": "string",
      "format": "uuid"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "content": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        },
        "query": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "source_overrides": {
          "type": "object",
          "properties": {
            "hacker_news": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          },
          "additionalProperties": false
        },
        "include_terms": {
          "$ref": "#/$defs/s0"
        },
        "exclude_terms": {
          "$ref": "#/$defs/s0"
        },
        "item_types": {
          "minItems": 1,
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "story",
              "comment"
            ]
          }
        },
        "cadence_minutes": {
          "type": "integer",
          "minimum": 30,
          "maximum": 1440
        },
        "lookback_days": {
          "type": "integer",
          "minimum": 1,
          "maximum": 7
        }
      },
      "required": [
        "name",
        "query"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "workspace_id",
    "mutation_id",
    "id",
    "expected_revision",
    "content"
  ],
  "additionalProperties": false,
  "$defs": {
    "s0": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    }
  }
}

Salida estructurada

Este esquema describe structuredContent en un resultado exitoso de herramienta. La respuesta MCP también incluye content y puede establecer isError si falla una llamada. Para publicación, consulta el resultado final de la publicación en vez de considerar una solicitud aceptada o una respuesta de texto como confirmación. La operación API enlazada explica los permisos y las reglas de reintento.

Obligatorio significa obligatorio dentro del objeto principal y la rama elegida. Un campo secundario obligatorio no convierte en obligatorio un objeto principal opcional. Las reglas y nombres de campos siguientes se copian del contrato.

Salida estructurada
Campo / ramaTipo / obligatorioRestricciones
$objectObligatorio en el objeto principal
  • additionalProperties: false
streamobjectObligatorio en el objeto principal
  • additionalProperties: false
stream.idstringObligatorio en el objeto principal
  • format: "uuid"
stream.workspace_idstringObligatorio en el objeto principal
  • format: "uuid"
stream.revisionintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
stream.query_revisionintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
stream.generationintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
stream.sourcestringObligatorio en el objeto principal
  • const: "hacker_news"
stream.contentobjectObligatorio en el objeto principal
  • additionalProperties: false
stream.content.namestringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 120
stream.content.querystringObligatorio en el objeto principal
  • minLength: 1
  • maxLength: 200
stream.content.source_overridesobjectObligatorio en el objeto principal
  • default: {}
  • additionalProperties: false
stream.content.source_overrides.hacker_newsstringOpcional / elemento
  • minLength: 1
  • maxLength: 200
stream.content.include_termsarrayObligatorio en el objeto principal
  • maxItems: 20
  • default: []
stream.content.include_terms[]stringOpcional / elemento
  • minLength: 1
  • maxLength: 100
stream.content.exclude_termsarrayObligatorio en el objeto principal
  • maxItems: 20
  • default: []
stream.content.exclude_terms[]stringOpcional / elemento
  • minLength: 1
  • maxLength: 100
stream.content.item_typesarrayObligatorio en el objeto principal
  • minItems: 1
  • maxItems: 2
  • default: ["story","comment"]
stream.content.item_types[]stringOpcional / elemento
  • enum: ["story","comment"]
stream.content.cadence_minutesintegerObligatorio en el objeto principal
  • minimum: 30
  • maximum: 1440
  • default: 60
stream.content.lookback_daysintegerObligatorio en el objeto principal
  • minimum: 1
  • maximum: 7
  • default: 7
stream.statestringObligatorio en el objeto principal
  • enum: ["active","paused","needs_reauthorization","deleted"]
stream.authorization_expires_atstring | nullObligatorio en el objeto principal—
stream.authorization_expires_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
stream.authorization_expires_atanyOf 2nullObligatorio en el objeto principal—
stream.last_attempt_atstring | nullObligatorio en el objeto principal—
stream.last_attempt_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
stream.last_attempt_atanyOf 2nullObligatorio en el objeto principal—
stream.last_success_atstring | nullObligatorio en el objeto principal—
stream.last_success_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
stream.last_success_atanyOf 2nullObligatorio en el objeto principal—
stream.next_due_atstring | nullObligatorio en el objeto principal—
stream.next_due_atanyOf 1stringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
stream.next_due_atanyOf 2nullObligatorio en el objeto principal—
stream.created_atstringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
stream.updated_atstringObligatorio en el objeto principal
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
JSON Schema completo
{
  "type": "object",
  "properties": {
    "stream": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "query_revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "generation": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "source": {
          "type": "string",
          "const": "hacker_news"
        },
        "content": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            },
            "query": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "source_overrides": {
              "default": {},
              "type": "object",
              "properties": {
                "hacker_news": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "additionalProperties": false
            },
            "include_terms": {
              "default": [],
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              }
            },
            "exclude_terms": {
              "default": [],
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              }
            },
            "item_types": {
              "default": [
                "story",
                "comment"
              ],
              "minItems": 1,
              "maxItems": 2,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "story",
                  "comment"
                ]
              }
            },
            "cadence_minutes": {
              "default": 60,
              "type": "integer",
              "minimum": 30,
              "maximum": 1440
            },
            "lookback_days": {
              "default": 7,
              "type": "integer",
              "minimum": 1,
              "maximum": 7
            }
          },
          "required": [
            "name",
            "query",
            "source_overrides",
            "include_terms",
            "exclude_terms",
            "item_types",
            "cadence_minutes",
            "lookback_days"
          ],
          "additionalProperties": false
        },
        "state": {
          "type": "string",
          "enum": [
            "active",
            "paused",
            "needs_reauthorization",
            "deleted"
          ]
        },
        "authorization_expires_at": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "last_attempt_at": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "last_success_at": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "next_due_at": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "workspace_id",
        "revision",
        "query_revision",
        "generation",
        "source",
        "content",
        "state",
        "authorization_expires_at",
        "last_attempt_at",
        "last_success_at",
        "next_due_at",
        "created_at",
        "updated_at"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "stream"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ejemplo de llamada a herramienta

Estos ejemplos usan valores ficticios comprobados con los esquemas. Sustituye los IDs por otros autorizados, los archivos multimedia por recursos listos y las fechas por tu hora de publicación confirmada. Comprueba la elegibilidad de la cuenta antes de enviar una escritura. Esta página no envía solicitudes API.

{
  "name": "sosoapi_listening_streams_update",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "mutation_id": "11111111-1111-4111-8111-111111111111",
    "id": "11111111-1111-4111-8111-111111111111",
    "expected_revision": 1,
    "content": {
      "name": "example",
      "query": "example"
    }
  }
}

structuredContent

{
  "stream": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "query_revision": 1,
    "generation": 1,
    "source": "hacker_news",
    "content": {
      "name": "example",
      "query": "example",
      "source_overrides": {},
      "include_terms": [],
      "exclude_terms": [],
      "item_types": [
        "story",
        "comment"
      ],
      "cadence_minutes": 60,
      "lookback_days": 7
    },
    "state": "active",
    "authorization_expires_at": null,
    "last_attempt_at": null,
    "last_success_at": null,
    "next_due_at": null,
    "created_at": "2099-01-15T09:00:00Z",
    "updated_at": "2099-01-15T09:00:00Z"
  }
}
Instala o conecta MCP