隐私偏好

必要功能

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

始终启用

可选的使用分析

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

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

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

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

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

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

MCP 工具

读取舆情监测匹配项

sosoapi_listening_results_get

读取当前单一不可信的 Hacker News 匹配项;字面查询匹配不等于经验证的账户提及。需要 agent:research。

阅读 Markdown

配置与传输方式

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

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

权限与副作用

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

{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}
  • /listening-api/results/get: agent:research · 当前获授权的舆情监测数据;已索引的公开样本并不完整,也不是经验证的账户提及

输入字段

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

输入字段
字段 / 分支类型 / 必填约束
$object在父对象中必填
  • additionalProperties: false
workspace_idstring在父对象中必填
  • format: "uuid"
idstring在父对象中必填
  • format: "uuid"
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspace_id",
    "id"
  ],
  "additionalProperties": false
}

结构化输出

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

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

结构化输出
字段 / 分支类型 / 必填约束
$object在父对象中必填
  • additionalProperties: false
resultobject在父对象中必填
  • additionalProperties: false
result.idstring在父对象中必填
  • format: "uuid"
result.workspace_idstring在父对象中必填
  • format: "uuid"
result.stream_idstring在父对象中必填
  • format: "uuid"
result.run_idstring在父对象中必填
  • format: "uuid"
result.revisioninteger在父对象中必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
result.sourcestring在父对象中必填
  • const: "hacker_news"
result.source_item_idstring在父对象中必填
  • pattern: "^[1-9][0-9]{0,15}$"
result.canonical_urlstring在父对象中必填
  • pattern: "^https:\\/\\/news\\.ycombinator\\.com\\/item\\?id=[1-9][0-9]{0,15}$"
result.titlestring | null在父对象中必填—
result.titleanyOf 1string在父对象中必填
  • maxLength: 500
result.titleanyOf 2null在父对象中必填—
result.excerptstring | null在父对象中必填—
result.excerptanyOf 1string在父对象中必填
  • maxLength: 4000
result.excerptanyOf 2null在父对象中必填—
result.authorstring | null在父对象中必填—
result.authoranyOf 1string在父对象中必填
  • maxLength: 100
result.authoranyOf 2null在父对象中必填—
result.published_atstring | null在父对象中必填—
result.published_atanyOf 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)))$"
result.published_atanyOf 2null在父对象中必填—
result.retrieved_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)))$"
result.source_checked_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)))$"
result.expires_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)))$"
result.availabilitystring在父对象中必填
  • enum: ["available","removed","expired","unavailable"]
result.metricsobject在父对象中必填
  • additionalProperties: false
result.metrics.scoreinteger | null在父对象中必填—
result.metrics.scoreanyOf 1integer在父对象中必填
  • minimum: -9007199254740991
  • maximum: 9007199254740991
result.metrics.scoreanyOf 2null在父对象中必填—
result.metrics.repliesinteger | null在父对象中必填—
result.metrics.repliesanyOf 1integer在父对象中必填
  • minimum: 0
  • maximum: 9007199254740991
result.metrics.repliesanyOf 2null在父对象中必填—
result.handledboolean在父对象中必填—
result.archivedboolean在父对象中必填—
result.match_kindstring在父对象中必填
  • const: "literal_query_match"
result.coveragestring在父对象中必填
  • const: "partial_indexed_sample"
result.sentimentnull在父对象中必填—
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "result": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "stream_id": {
          "type": "string",
          "format": "uuid"
        },
        "run_id": {
          "type": "string",
          "format": "uuid"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "source": {
          "type": "string",
          "const": "hacker_news"
        },
        "source_item_id": {
          "type": "string",
          "pattern": "^[1-9][0-9]{0,15}$"
        },
        "canonical_url": {
          "type": "string",
          "pattern": "^https:\\/\\/news\\.ycombinator\\.com\\/item\\?id=[1-9][0-9]{0,15}$"
        },
        "title": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ]
        },
        "excerpt": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4000
            },
            {
              "type": "null"
            }
          ]
        },
        "author": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 100
            },
            {
              "type": "null"
            }
          ]
        },
        "published_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"
            }
          ]
        },
        "retrieved_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"
        },
        "source_checked_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"
        },
        "expires_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"
        },
        "availability": {
          "type": "string",
          "enum": [
            "available",
            "removed",
            "expired",
            "unavailable"
          ]
        },
        "metrics": {
          "type": "object",
          "properties": {
            "score": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "replies": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "score",
            "replies"
          ],
          "additionalProperties": false
        },
        "handled": {
          "type": "boolean"
        },
        "archived": {
          "type": "boolean"
        },
        "match_kind": {
          "type": "string",
          "const": "literal_query_match"
        },
        "coverage": {
          "type": "string",
          "const": "partial_indexed_sample"
        },
        "sentiment": {
          "type": "null"
        }
      },
      "required": [
        "id",
        "workspace_id",
        "stream_id",
        "run_id",
        "revision",
        "source",
        "source_item_id",
        "canonical_url",
        "title",
        "excerpt",
        "author",
        "published_at",
        "retrieved_at",
        "source_checked_at",
        "expires_at",
        "availability",
        "metrics",
        "handled",
        "archived",
        "match_kind",
        "coverage",
        "sentiment"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "result"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

工具调用示例

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

{
  "name": "sosoapi_listening_results_get",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "id": "30000000-0000-4000-8000-000000000005"
  }
}

structuredContent

{
  "result": {
    "id": "30000000-0000-4000-8000-000000000005",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "stream_id": "30000000-0000-4000-8000-000000000004",
    "run_id": "30000000-0000-4000-8000-000000000009",
    "revision": 1,
    "source": "hacker_news",
    "source_item_id": "9999999999999999",
    "canonical_url": "https://news.ycombinator.com/item?id=9999999999999999",
    "title": null,
    "excerpt": null,
    "author": null,
    "published_at": null,
    "retrieved_at": "2099-01-15T09:00:00Z",
    "source_checked_at": "2099-01-15T09:00:00Z",
    "expires_at": "2099-01-16T09:00:00Z",
    "availability": "unavailable",
    "metrics": {
      "score": null,
      "replies": null
    },
    "handled": false,
    "archived": false,
    "match_kind": "literal_query_match",
    "coverage": "partial_indexed_sample",
    "sentiment": null
  }
}
安装或连接 MCP