# ai_visibility

> 用给定的问题去查询 ChatGPT 公开的、未登录的搜索界面。

URL: https://mcp-docs.opennomos.com/zh/docs/tools/research/ai_visibility

> 用给定的问题去查询 ChatGPT 公开的、未登录的搜索界面。返回 markdown 格式的回答、来源、提到的品牌和搜索子查询。不保存回答。

> 以上是服务端发布的英文描述的译文；英文原文见[英文页](https://mcp-docs.opennomos.com/docs/tools/research/ai_visibility.md)。工具名、参数名和取值保持原样。

| 字段 | 值 |
| --- | --- |
| 工具包 | SEO & AI visibility (`seo`) |
| 每次调用的预估成本 | ~$0.004（上游成本；各 action 的具体数字见描述） |
| 工具包每月上限 | 上游成本 $3（不向用户显示） |
| 项目 | 可选（`project` 或 `X-OpenNomos-Project`）；只是把项目 id 附在结果里 |

## 参数

| 参数 | 必填 | 类型 | 说明 |
| --- | --- | --- | --- |
| `project` | 否 | `string` | 项目 slug 或 id。省略则用凭据或工作区的默认项目。 |
| `question` | 是 | `string` | 要问 ChatGPT 的问题，例如 'best open source CRM for startups'。 |
| `location_code` | 否 | `integer (≥ 1) \| string` | 从哪里搜索：国家名（如 "United States"、"China"、"Hong Kong"、"Japan"）、两位国家代码（"US"、"CN"），或数字形式的 DataForSEO 地区代码（如 2840）。默认 United States。 |
| `language_code` | 否 | `string` | 语言代码，例如 'en'、'de'、'ja'。默认 'en'。 |

## 示例调用

```json
{
  "question": "best open source CRM for startups",
  "location_code": "US",
  "language_code": "en"
}
```

REST:`POST https://service.opennomos.com/v1/tools/ai_visibility`，以上 JSON 作为请求体。MCP:`tools/call`,`name: "ai_visibility"`，以上 JSON 作为 `arguments`。

## 示例结果

示例里的值是示意性的；结构来自服务端代码。

```json
{
  "answer": "Several open source CRMs are popular with startups: …",
  "sources": [
    {
      "url": "https://example.com/best-crms",
      "domain": "example.com",
      "title": "Best open source CRMs"
    }
  ],
  "brands": [
    "Twenty",
    "SuiteCRM"
  ],
  "fan_out_queries": [
    "open source crm for startups",
    "self hosted crm"
  ]
}
```

## 说明

- 用你给的问题去查询 ChatGPT 公开的未登录搜索界面，返回一条回答。这只是一次采样，不是排名：在得出“我的品牌没出现”的结论之前，请换几种问法多问几次。
- 不保存任何内容。如果服务商没有返回回答，结果是 `{ "answer": null }`。

## 错误

上游出问题时，会在一个**正常结果里**以 `error`、`reason` 和 `action` 报告（适用时还有 `tool` / `retry_after_seconds`）。对 `search_signals`，这会按来源分别出现。见[错误](https://mcp-docs.opennomos.com/zh/docs/reference/errors.md)。

这个工具属于 **SEO & AI visibility** 工具包。如果该包没有启用，调用会以 `pack_required`（HTTP 403）失败；如果该包的每月上游成本上限已用完，会以 `soft_limit`（HTTP 429）失败。两者都带 `action: "give_up_and_tell_user"` 和控制台 URL。
