# 鎖定指定研究資料集

Canonical URL: https://sosoapi.ai/zh-hant/docs/mcp/research-corpora-create

`sosoapi_research_corpora_create`

選定專案版本及每項 evidence_id／revision，再建立不可變更的語料快照。伺服器逐項核對範圍、來源權限及有效期，並保留實際缺漏及樣本限制；不會自行補齊資料。

## Profiles 及連接方式

Profiles: full

Transports: stdio, http

Profile 只影響工具可見性，不會授予權限。HTTP 不提供本機檔案上傳。SOSOAPI_OUTPUT_SCHEMAS=1 會宣告輸出 schema；兩種模式均會回傳 structured results。

## 權限及改動

MCP annotations 只提供工具發現提示，並非存取控制保證；實際呼叫仍須通過登入、角色、資源及能力檢查。

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

`/research-api/corpora/create` — agent:research; committed Research resource version; no provider action

## 輸入欄位

```json
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "$ref": "#/$defs/s1"
    },
    "mutation_id": {
      "$ref": "#/$defs/s1"
    },
    "project_id": {
      "$ref": "#/$defs/s1"
    },
    "expected_project_revision": {
      "$ref": "#/$defs/s0"
    },
    "evidence": {
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "evidence_id": {
            "$ref": "#/$defs/s1"
          },
          "revision": {
            "$ref": "#/$defs/s0"
          }
        },
        "required": [
          "evidence_id",
          "revision"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "workspace_id",
    "mutation_id",
    "project_id",
    "expected_project_revision",
    "evidence"
  ],
  "additionalProperties": false,
  "$defs": {
    "s0": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "s1": {
      "type": "string",
      "format": "uuid"
    }
  }
}
```

## 結構化輸出

此 schema 描述成功工具結果的 structuredContent。MCP envelope 亦包括 content，失敗時可能設定 isError；請勿將文字收據或已接受的請求視為平台終態。權限及重試規則請參閱對應的 API 操作。

```json
{
  "type": "object",
  "properties": {
    "snapshot": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "project_id": {
          "type": "string",
          "format": "uuid"
        },
        "project_revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "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
          }
        },
        "sealed_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"
        },
        "coverage": {
          "type": "string",
          "enum": [
            "supplied_set",
            "bounded_sample",
            "partial"
          ]
        },
        "missing_sources": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "method_version": {
          "type": "string",
          "const": "research-corpus/v1"
        }
      },
      "required": [
        "id",
        "workspace_id",
        "project_id",
        "project_revision",
        "evidence",
        "sealed_at",
        "coverage",
        "missing_sources",
        "method_version"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "snapshot"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## 工具呼叫範例

以下虛構值已按 contract 驗證，並非真實帳戶 ID、憑證或發佈紀錄。請以已授權範圍回傳的 ID、已準備完成的素材及已審核排程取代，並在寫入前核對平台資格。此頁不會呼叫 API。

```json
{
  "name": "sosoapi_research_corpora_create",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "mutation_id": "11111111-1111-4111-8111-111111111111",
    "project_id": "11111111-1111-4111-8111-111111111111",
    "expected_project_revision": 1,
    "evidence": [
      {
        "evidence_id": "11111111-1111-4111-8111-111111111111",
        "revision": 1
      }
    ]
  }
}
```

structuredContent

```json
{
  "snapshot": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "project_id": "11111111-1111-4111-8111-111111111111",
    "project_revision": 1,
    "evidence": [],
    "sealed_at": "2099-01-15T09:00:00Z",
    "coverage": "supplied_set",
    "missing_sources": [],
    "method_version": "research-corpus/v1"
  }
}
```

## 對應 API 操作

- [/research-api/corpora/create](https://sosoapi.ai/zh-hant/docs/api/research-api-corpora-create)
