Préférences de confidentialité

Fonctions nécessaires

Nécessaires à la sécurité et aux fonctions de base du site.

Toujours activées

Statistiques d’utilisation facultatives

Autoriser les statistiques d’utilisation PostHog ? Modifiez votre choix à tout moment dans le pied de page.

Autoriser aussi l’enregistrement des sessions sur ce site public

L’enregistrement des sessions montre les pages publiques et les interactions, en masquant les champs de saisie et les contenus privés. L’enregistrement dans l’application fait l’objet d’un choix distinct.

Nécessite les analyses ; la relecture du site est désactivée par défaut.

Les analyses du navigateur n’activent pas celles du compte.

La recherche se charge uniquement lorsque vous l’utilisez. Parcourez toutes les catégories ci-dessous.

Outil MCP

Créer un dossier de recherche avec citations

sosoapi_research_briefs_create

Créer un dossier Research avec du texte d’équipe non fiable et des citations exactes ; réutiliser mutation_id en cas de nouvelle tentative. Exige agent:research.

Lire en Markdown

Profils et transports

Profils : full · Transports : stdio, http

Choisissez core ou full pour définir les outils visibles du client ; cela ne change pas ses autorisations. Le téléversement local nécessite stdio et n’est pas disponible sur HTTP. Définissez SOSOAPI_OUTPUT_SCHEMAS=1 pour inclure les schémas de sortie à la découverte. Les outils renvoient des résultats structurés avec ou sans ce réglage.

Autorisations et effets de bord

Les annotations aident les clients à décrire un outil. Chaque appel vérifie toujours l’authentification, le rôle, l’accès aux ressources et les capacités accordées de l’utilisateur.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}

Champs d’entrée

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Champs d’entrée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
workspace_idstringRequis dans le parent
  • format: "uuid"
mutation_idstringRequis dans le parent
  • format: "uuid"
contentobjectRequis dans le parent
  • additionalProperties: false
content.titlestringRequis dans le parent
  • minLength: 1
  • maxLength: 200
content.questionstringRequis dans le parent
  • minLength: 1
  • maxLength: 2000
content.summarystringRequis dans le parent
  • maxLength: 10000
content.findingsarrayRequis dans le parent
  • maxItems: 100
content.findings[]objectFacultatif / élément
  • additionalProperties: false
content.findings[].idstringRequis dans le parent
  • format: "uuid"
content.findings[].statementstringRequis dans le parent
  • minLength: 1
  • maxLength: 4000
content.findings[].basisstringRequis dans le parent
  • enum: ["observed","inferred","generated"]
content.findings[].evidencearrayRequis dans le parent
  • maxItems: 500
content.findings[].evidence[]objectFacultatif / élément
  • additionalProperties: false
content.findings[].evidence[].evidence_idstringRequis dans le parent
  • format: "uuid"
content.findings[].evidence[].revisionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
content.findings[].uncertaintystringRequis dans le parent
  • maxLength: 1000
content.anglesarrayRequis dans le parent
  • maxItems: 30
content.angles[]stringFacultatif / élément
  • minLength: 1
  • maxLength: 2000
content.notesstringRequis dans le parent
  • maxLength: 10000
content.project_idreference | nullRequis dans le parent—
content.project_idanyOf 1stringRequis dans le parent
  • format: "uuid"
content.project_idanyOf 2nullRequis dans le parent—
content.project_revisionreference | nullRequis dans le parent—
content.project_revisionanyOf 1integerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
content.project_revisionanyOf 2nullRequis dans le parent—
content.corpus_snapshot_idreference | nullRequis dans le parent—
content.corpus_snapshot_idanyOf 1stringRequis dans le parent
  • format: "uuid"
content.corpus_snapshot_idanyOf 2nullRequis dans le parent—
content.languagestringRequis dans le parent
  • minLength: 1
  • maxLength: 35
JSON Schema complet
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "$ref": "#/$defs/s0"
    },
    "mutation_id": {
      "$ref": "#/$defs/s0"
    },
    "content": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "question": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "summary": {
          "type": "string",
          "maxLength": 10000
        },
        "findings": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "$ref": "#/$defs/s0"
              },
              "statement": {
                "type": "string",
                "minLength": 1,
                "maxLength": 4000
              },
              "basis": {
                "type": "string",
                "enum": [
                  "observed",
                  "inferred",
                  "generated"
                ]
              },
              "evidence": {
                "maxItems": 500,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "evidence_id": {
                      "$ref": "#/$defs/s0"
                    },
                    "revision": {
                      "$ref": "#/$defs/s1"
                    }
                  },
                  "required": [
                    "evidence_id",
                    "revision"
                  ],
                  "additionalProperties": false
                }
              },
              "uncertainty": {
                "type": "string",
                "maxLength": 1000
              }
            },
            "required": [
              "id",
              "statement",
              "basis",
              "evidence",
              "uncertainty"
            ],
            "additionalProperties": false
          }
        },
        "angles": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "notes": {
          "type": "string",
          "maxLength": 10000
        },
        "project_id": {
          "$ref": "#/$defs/s2"
        },
        "project_revision": {
          "anyOf": [
            {
              "$ref": "#/$defs/s1"
            },
            {
              "type": "null"
            }
          ]
        },
        "corpus_snapshot_id": {
          "$ref": "#/$defs/s2"
        },
        "language": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        }
      },
      "required": [
        "title",
        "question",
        "summary",
        "findings",
        "angles",
        "notes",
        "project_id",
        "project_revision",
        "corpus_snapshot_id",
        "language"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "workspace_id",
    "mutation_id",
    "content"
  ],
  "additionalProperties": false,
  "$defs": {
    "s0": {
      "type": "string",
      "format": "uuid"
    },
    "s1": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "s2": {
      "anyOf": [
        {
          "$ref": "#/$defs/s0"
        },
        {
          "type": "null"
        }
      ]
    }
  }
}

Sortie structurée

Ce schéma décrit structuredContent dans un résultat d’outil réussi. La réponse MCP contient aussi content et peut définir isError en cas d’échec. Pour publier, lisez le résultat final de la publication plutôt que de considérer une requête acceptée ou une réponse texte comme une confirmation. L’opération API liée explique les autorisations et règles de nouvelle tentative.

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Sortie structurée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
briefobjectRequis dans le parent
  • additionalProperties: false
brief.idstringRequis dans le parent
  • format: "uuid"
brief.workspace_idstringRequis dans le parent
  • format: "uuid"
brief.revisionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
brief.archivedbooleanRequis dans le parent—
brief.created_atstringRequis dans le parent
  • 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)))$"
brief.updated_atstringRequis dans le parent
  • 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)))$"
brief.contentobjectRequis dans le parent
  • additionalProperties: false
brief.content.titlestringRequis dans le parent
  • minLength: 1
  • maxLength: 200
brief.content.questionstringRequis dans le parent
  • minLength: 1
  • maxLength: 2000
brief.content.summarystringRequis dans le parent
  • maxLength: 10000
brief.content.findingsarrayRequis dans le parent
  • maxItems: 100
brief.content.findings[]objectFacultatif / élément
  • additionalProperties: false
brief.content.findings[].idstringRequis dans le parent
  • format: "uuid"
brief.content.findings[].statementstringRequis dans le parent
  • minLength: 1
  • maxLength: 4000
brief.content.findings[].basisstringRequis dans le parent
  • enum: ["observed","inferred","generated"]
brief.content.findings[].evidencearrayRequis dans le parent
  • maxItems: 500
brief.content.findings[].evidence[]objectFacultatif / élément
  • additionalProperties: false
brief.content.findings[].evidence[].evidence_idstringRequis dans le parent
  • format: "uuid"
brief.content.findings[].evidence[].revisionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
brief.content.findings[].uncertaintystringRequis dans le parent
  • maxLength: 1000
brief.content.anglesarrayRequis dans le parent
  • maxItems: 30
brief.content.angles[]stringFacultatif / élément
  • minLength: 1
  • maxLength: 2000
brief.content.notesstringRequis dans le parent
  • maxLength: 10000
brief.content.project_idstring | nullRequis dans le parent—
brief.content.project_idanyOf 1stringRequis dans le parent
  • format: "uuid"
brief.content.project_idanyOf 2nullRequis dans le parent—
brief.content.project_revisioninteger | nullRequis dans le parent—
brief.content.project_revisionanyOf 1integerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
brief.content.project_revisionanyOf 2nullRequis dans le parent—
brief.content.corpus_snapshot_idstring | nullRequis dans le parent—
brief.content.corpus_snapshot_idanyOf 1stringRequis dans le parent
  • format: "uuid"
brief.content.corpus_snapshot_idanyOf 2nullRequis dans le parent—
brief.content.languagestringRequis dans le parent
  • minLength: 1
  • maxLength: 35
brief.reviewed_revisioninteger | nullRequis dans le parent—
brief.reviewed_revisionanyOf 1integerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
brief.reviewed_revisionanyOf 2nullRequis dans le parent—
JSON Schema complet
{
  "type": "object",
  "properties": {
    "brief": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "archived": {
          "type": "boolean"
        },
        "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"
        },
        "content": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "question": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "summary": {
              "type": "string",
              "maxLength": 10000
            },
            "findings": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "statement": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "basis": {
                    "type": "string",
                    "enum": [
                      "observed",
                      "inferred",
                      "generated"
                    ]
                  },
                  "evidence": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "evidence_id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "revision": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "evidence_id",
                        "revision"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "uncertainty": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "id",
                  "statement",
                  "basis",
                  "evidence",
                  "uncertainty"
                ],
                "additionalProperties": false
              }
            },
            "angles": {
              "maxItems": 30,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 2000
              }
            },
            "notes": {
              "type": "string",
              "maxLength": 10000
            },
            "project_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ]
            },
            "project_revision": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "corpus_snapshot_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ]
            },
            "language": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            }
          },
          "required": [
            "title",
            "question",
            "summary",
            "findings",
            "angles",
            "notes",
            "project_id",
            "project_revision",
            "corpus_snapshot_id",
            "language"
          ],
          "additionalProperties": false
        },
        "reviewed_revision": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "workspace_id",
        "revision",
        "archived",
        "created_at",
        "updated_at",
        "content",
        "reviewed_revision"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "brief"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Exemple d’appel d’outil

Ces exemples utilisent des valeurs fictives vérifiées contre les schémas. Remplacez les identifiants par ceux que vous êtes autorisé à utiliser, les médias par des ressources prêtes et les dates par l’heure confirmée. Vérifiez l’éligibilité du compte avant toute écriture. Cette page n’envoie aucune requête API.

{
  "name": "sosoapi_research_briefs_create",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "mutation_id": "11111111-1111-4111-8111-111111111111",
    "content": {
      "title": "example",
      "question": "example",
      "summary": "example",
      "findings": [],
      "angles": [],
      "notes": "example",
      "project_id": null,
      "project_revision": null,
      "corpus_snapshot_id": null,
      "language": "example"
    }
  }
}

structuredContent

{
  "brief": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "archived": false,
    "created_at": "2099-01-15T09:00:00Z",
    "updated_at": "2099-01-15T09:00:00Z",
    "content": {
      "title": "example",
      "question": "example",
      "summary": "example",
      "findings": [],
      "angles": [],
      "notes": "example",
      "project_id": null,
      "project_revision": null,
      "corpus_snapshot_id": null,
      "language": "example"
    },
    "reviewed_revision": null
  }
}
Installer ou connecter MCP