隐私偏好

必要功能

用于安全验证和网站基本功能。

始终启用

可选的使用分析

允许 PostHog 用量分析吗?可随时在页脚更改选择。

同时允许在此公开网站上录制会话回放

回放显示公开页面和交互,输入内容及私密内容会被遮蔽。App 回放需要另行选择。

需先开启分析;网站操作回放默认关闭。

浏览器分析选择不会开启账户分析。

仅在使用时加载搜索。在下方浏览所有类别。

MCP 工具

寻找研究项目

sosoapi_research_projects_query

使用 UUID 分页寻找 Research 项目;无法使用的已保存项目不含过时文字。需要 agent:research。

阅读 Markdown

配置与传输方式

配置: full · 传输方式: stdio、http

选择 core 或 full 以控制客户端显示的工具;这不会变更权限。本地文件上传需要 stdio,无法通过 HTTP 使用。设置 SOSOAPI_OUTPUT_SCHEMAS=1 可在探索结果加入输出schema。无论是否启用此设置,工具皆会返回结构化结果。

权限与副作用

注解帮助客户端描述工具。每次调用仍会检查用户身份验证、角色、资源访问和能力授权。

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

输入字段

「必填」是指在其父对象及所选分支内必填。必填子字段不会使可选父对象变成必填。下列规则与字段名称均复制自契约。

输入字段
字段 / 分支类型 / 必填约束
$object在父对象中必填
  • additionalProperties: false
workspace_idstring在父对象中必填
  • format: "uuid"
querystring可选/项目
  • maxLength: 200
archivedboolean可选/项目—
cursorstring可选/项目

依 UUID 递增顺序从此 Research 记录 UUID 之后继续;游标包含无法使用的数据库位置。

  • format: "uuid"
limitinteger可选/项目
  • minimum: 1
  • maximum: 50
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "query": {
      "type": "string",
      "maxLength": 200
    },
    "archived": {
      "type": "boolean"
    },
    "cursor": {
      "description": "Continue after this Research record UUID in ascending UUID order; the marker includes unavailable library slots.",
      "type": "string",
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "workspace_id"
  ],
  "additionalProperties": false
}

结构化输出

此 schema 描述成功工具结果中的 structuredContent。MCP 响应也包含 content,并可能在调用失败时设置 isError。对于发布,请读取帖子的最终结果,不要把获接受的请求或文字响应当作确认。链接的 API 操作说明了权限和重试规则。

「必填」是指在其父对象及所选分支内必填。必填子字段不会使可选父对象变成必填。下列规则与字段名称均复制自契约。

结构化输出
字段 / 分支类型 / 必填约束
$object在父对象中必填
  • additionalProperties: false
itemsarray在父对象中必填
  • maxItems: 50
items[]object可选/项目
  • additionalProperties: false
items[].idstring在父对象中必填
  • format: "uuid"
items[].workspace_idstring在父对象中必填
  • format: "uuid"
items[].revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
items[].archivedboolean在父对象中必填—
items[].created_atstring在父对象中必填
  • 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)))$"
items[].updated_atstring在父对象中必填
  • 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)))$"
items[].contentobject在父对象中必填
  • additionalProperties: false
items[].content.titlestring在父对象中必填
  • minLength: 1
  • maxLength: 200
items[].content.questionstring在父对象中必填
  • minLength: 1
  • maxLength: 2000
items[].content.purposestring在父对象中必填
  • maxLength: 1000
items[].content.audiencestring在父对象中必填
  • maxLength: 2000
items[].content.brandsarray在父对象中必填
  • maxItems: 20
items[].content.brands[]object可选/项目
  • additionalProperties: false
items[].content.brands[].idstring在父对象中必填
  • format: "uuid"
items[].content.brands[].namestring在父对象中必填
  • minLength: 1
  • maxLength: 100
items[].content.brands[].termsarray在父对象中必填
  • minItems: 1
  • maxItems: 20
items[].content.brands[].terms[]string可选/项目
  • minLength: 1
  • maxLength: 100
items[].content.scopeobject在父对象中必填
  • additionalProperties: false
items[].content.scope.querystring在父对象中必填
  • maxLength: 2000
items[].content.scope.excluded_termsarray在父对象中必填
  • maxItems: 50
items[].content.scope.excluded_terms[]string可选/项目
  • minLength: 1
  • maxLength: 100
items[].content.scope.platformsarray在父对象中必填
  • maxItems: 7
items[].content.scope.platforms[]string可选/项目
  • enum: ["threads","instagram","facebook","youtube","x","reddit","web"]
items[].content.scope.source_categoriesarray在父对象中必填
  • minItems: 1
  • maxItems: 3
items[].content.scope.source_categories[]string可选/项目
  • enum: ["your_accounts","public_posts","team_notes"]
items[].content.scope.languagesarray在父对象中必填
  • maxItems: 18
items[].content.scope.languages[]string可选/项目
  • minLength: 1
  • maxLength: 35
items[].content.scope.sincestring | null在父对象中必填—
items[].content.scope.sinceanyOf 1string在父对象中必填
  • 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)))$"
items[].content.scope.sinceanyOf 2null在父对象中必填—
items[].content.scope.untilstring | null在父对象中必填—
items[].content.scope.untilanyOf 1string在父对象中必填
  • 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)))$"
items[].content.scope.untilanyOf 2null在父对象中必填—
unavailable_itemsarray在父对象中必填
  • maxItems: 50
  • default: []
unavailable_items[]object可选/项目
  • additionalProperties: false
unavailable_items[].idstring在父对象中必填
  • format: "uuid"
unavailable_items[].workspace_idstring在父对象中必填
  • format: "uuid"
unavailable_items[].revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
unavailable_items[].archivedboolean在父对象中必填—
unavailable_items[].availabilitystring在父对象中必填
  • const: "dependency_unavailable"
next_cursorstring | null在父对象中必填

有下一个位置时,为 items 和 unavailable_items 中最后读取的记录 UUID;结尾为 null。

—
next_cursoranyOf 1string在父对象中必填
  • format: "uuid"
next_cursoranyOf 2null在父对象中必填—
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "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
              },
              "purpose": {
                "type": "string",
                "maxLength": 1000
              },
              "audience": {
                "type": "string",
                "maxLength": 2000
              },
              "brands": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "terms": {
                      "minItems": 1,
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      }
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "terms"
                  ],
                  "additionalProperties": false
                }
              },
              "scope": {
                "type": "object",
                "properties": {
                  "query": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "excluded_terms": {
                    "maxItems": 50,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    }
                  },
                  "platforms": {
                    "maxItems": 7,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "threads",
                        "instagram",
                        "facebook",
                        "youtube",
                        "x",
                        "reddit",
                        "web"
                      ]
                    }
                  },
                  "source_categories": {
                    "minItems": 1,
                    "maxItems": 3,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "your_accounts",
                        "public_posts",
                        "team_notes"
                      ]
                    }
                  },
                  "languages": {
                    "maxItems": 18,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 35
                    }
                  },
                  "since": {
                    "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"
                      }
                    ]
                  },
                  "until": {
                    "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"
                      }
                    ]
                  }
                },
                "required": [
                  "query",
                  "excluded_terms",
                  "platforms",
                  "source_categories",
                  "languages",
                  "since",
                  "until"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "title",
              "question",
              "purpose",
              "audience",
              "brands",
              "scope"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "workspace_id",
          "revision",
          "archived",
          "created_at",
          "updated_at",
          "content"
        ],
        "additionalProperties": false
      }
    },
    "unavailable_items": {
      "default": [],
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "workspace_id": {
            "type": "string",
            "format": "uuid"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "archived": {
            "type": "boolean"
          },
          "availability": {
            "type": "string",
            "const": "dependency_unavailable"
          }
        },
        "required": [
          "id",
          "workspace_id",
          "revision",
          "archived",
          "availability"
        ],
        "additionalProperties": false
      }
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "description": "Last consumed record UUID across items and unavailable_items when another slot exists; null at the end."
    }
  },
  "required": [
    "items",
    "unavailable_items",
    "next_cursor"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

工具调用示例

这些示例使用已依schema检查的虚构值。请将 ID 替换为你有权使用的 ID、将媒体替换为已就绪素材,并将日期替换为已确认的发布时间。提交写入前,请检查账号资格。本页不会发送 API 请求。

{
  "name": "sosoapi_research_projects_query",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111"
  }
}

structuredContent

{
  "items": [],
  "unavailable_items": [],
  "next_cursor": null
}
安装或连接 MCP