Pencarian hanya dimuat saat digunakan. Jelajahi semua kategori di bawah.

Alat MCP

Cari di Threads

sosoapi_search_threads

Jalankan pencarian kata kunci atau tag resmi terbatas jika koneksi tersebut memiliki izin yang tepat. Hasil berperingkat tidak menyeluruh dan tidak menyiratkan persetujuan aplikasi publik.

Baca sebagai Markdown

Profil dan transport

Profil: full · Transport: stdio, http

Pilih core atau full untuk mengatur alat yang terlihat oleh klien; ini tidak mengubah izinnya. Unggahan file lokal memerlukan stdio dan tidak tersedia melalui HTTP. Atur SOSOAPI_OUTPUT_SCHEMAS=1 untuk menyertakan skema output saat penemuan. Alat mengembalikan hasil terstruktur dengan atau tanpa pengaturan itu.

Izin dan efek samping

Anotasi membantu klien menjelaskan alat. Setiap panggilan tetap memeriksa autentikasi pengguna, peran, akses sumber daya, dan izin kemampuan.

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

Kolom input

Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.

Kolom input
Kolom / cabangJenis / wajibBatasan
$objectWajib dalam induk
  • additionalProperties: false
workspace_idstringWajib dalam induk
  • format: "uuid"
social_account_idstringWajib dalam induk
  • format: "uuid"
sinceintegerOpsional / item
  • minimum: 1688540400
  • maximum: 9007199254740991
untilintegerOpsional / item
  • minimum: 1688540400
  • maximum: 9007199254740991
qstringWajib dalam induk
  • minLength: 1
  • maxLength: 200
search_typestringOpsional / item
  • enum: ["TOP","RECENT"]
search_modestringOpsional / item
  • enum: ["KEYWORD","TAG"]
media_typestringOpsional / item
  • enum: ["TEXT","IMAGE","VIDEO"]
author_usernamestringOpsional / item
  • pattern: "^[A-Za-z0-9._]{1,30}$"
limitintegerOpsional / item
  • minimum: 1
  • maximum: 100
JSON Schema lengkap
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "since": {
      "$ref": "#/$defs/s0"
    },
    "until": {
      "$ref": "#/$defs/s0"
    },
    "q": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "search_type": {
      "type": "string",
      "enum": [
        "TOP",
        "RECENT"
      ]
    },
    "search_mode": {
      "type": "string",
      "enum": [
        "KEYWORD",
        "TAG"
      ]
    },
    "media_type": {
      "type": "string",
      "enum": [
        "TEXT",
        "IMAGE",
        "VIDEO"
      ]
    },
    "author_username": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._]{1,30}$"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "q"
  ],
  "additionalProperties": false,
  "$defs": {
    "s0": {
      "type": "integer",
      "minimum": 1688540400,
      "maximum": 9007199254740991
    }
  }
}

Output terstruktur

Skema ini menjelaskan structuredContent dalam hasil alat yang berhasil. Respons MCP juga menyertakan content dan dapat menetapkan isError saat panggilan gagal. Untuk publikasi, baca hasil akhir postingan alih-alih menganggap permintaan diterima atau respons teks sebagai konfirmasi. Operasi API yang ditautkan menjelaskan izin dan aturan percobaan ulang.

Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.

Output terstruktur
Kolom / cabangJenis / wajibBatasan
$objectWajib dalam induk
  • additionalProperties: false
contract_versionstringWajib dalam induk
  • const: "threads-reads/v1"
operationstringWajib dalam induk
  • const: "keyword_search"
sourcestringWajib dalam induk
  • const: "official_threads_api"
workspace_idstringWajib dalam induk
  • format: "uuid"
social_account_idstringWajib dalam induk
  • format: "uuid"
provider_account_idstringWajib dalam induk
  • pattern: "^\\d{2,20}$"
provider_app_identitystring | nullWajib dalam induk—
provider_app_identityanyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 100
provider_app_identityanyOf 2nullWajib dalam induk—
oauth_snapshot_idstring | nullWajib dalam induk—
oauth_snapshot_idanyOf 1stringWajib dalam induk
  • format: "uuid"
oauth_snapshot_idanyOf 2nullWajib dalam induk—
fetched_atstringWajib dalam induk
  • 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)))$"
statusstringWajib dalam induk
  • enum: ["available","partial","unavailable"]
unavailable_reasonstring | nullWajib dalam induk—
unavailable_reasonanyOf 1stringWajib dalam induk
  • enum: ["grant_inventory_unknown","missing_permissions","issuing_app_unknown","credential_unavailable","credential_expired","account_unhealthy","provider_denied","provider_rate_limited","provider_unavailable","provider_response_invalid"]
unavailable_reasonanyOf 2nullWajib dalam induk—
accessobjectWajib dalam induk
  • additionalProperties: false
access.required_permissionsarrayWajib dalam induk
  • maxItems: 4
access.required_permissions[]stringOpsional / item
  • pattern: "^[a-z][a-z0-9_]{0,99}$"
access.missing_permissionsarrayWajib dalam induk
  • maxItems: 4
access.missing_permissions[]stringOpsional / item
  • pattern: "^[a-z][a-z0-9_]{0,99}$"
access.permission_statestringWajib dalam induk
  • enum: ["granted","missing","unknown"]
access.grant_evidencestringWajib dalam induk
  • enum: ["exact","unknown"]
access.app_accessstringWajib dalam induk
  • const: "unverified"
dataarrayWajib dalam induk
  • maxItems: 100
data[]objectOpsional / item
  • additionalProperties: false
data[].idstringWajib dalam induk
  • pattern: "^\\d{2,20}$"
data[].textstring | nullWajib dalam induk—
data[].textanyOf 1stringWajib dalam induk
  • maxLength: 30000
data[].textanyOf 2nullWajib dalam induk—
data[].usernamestring | nullWajib dalam induk—
data[].usernameanyOf 1stringWajib dalam induk
  • pattern: "^[A-Za-z0-9._]{1,30}$"
data[].usernameanyOf 2nullWajib dalam induk—
data[].permalinkstring | nullWajib dalam induk—
data[].permalinkanyOf 1stringWajib dalam induk
  • format: "uri"
data[].permalinkanyOf 2nullWajib dalam induk—
data[].timestampstring | nullWajib dalam induk—
data[].timestampanyOf 1stringWajib dalam induk
  • 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)))$"
data[].timestampanyOf 2nullWajib dalam induk—
data[].media_typestring | nullWajib dalam induk—
data[].media_typeanyOf 1stringWajib dalam induk
  • enum: ["TEXT","TEXT_POST","IMAGE","VIDEO","CAROUSEL_ALBUM","AUDIO","REPOST_FACADE"]
data[].media_typeanyOf 2nullWajib dalam induk—
data[].is_replyboolean | nullWajib dalam induk—
data[].is_quote_postboolean | nullWajib dalam induk—
data[].has_repliesboolean | nullWajib dalam induk—
data[].root_post_idstring | nullOpsional / item—
data[].root_post_idanyOf 1stringOpsional / item
  • pattern: "^\\d{2,20}$"
data[].root_post_idanyOf 2nullOpsional / item—
data[].replied_to_idstring | nullOpsional / item—
data[].replied_to_idanyOf 1stringOpsional / item
  • pattern: "^\\d{2,20}$"
data[].replied_to_idanyOf 2nullOpsional / item—
profileobject | nullWajib dalam induk—
profileanyOf 1objectWajib dalam induk
  • additionalProperties: false
profile.usernameanyOf 1stringWajib dalam induk
  • pattern: "^[A-Za-z0-9._]{1,30}$"
profile.nameanyOf 1string | nullWajib dalam induk—
profile.nameanyOf 1 / anyOf 1stringWajib dalam induk
  • maxLength: 200
profile.nameanyOf 1 / anyOf 2nullWajib dalam induk—
profile.biographyanyOf 1string | nullWajib dalam induk—
profile.biographyanyOf 1 / anyOf 1stringWajib dalam induk
  • maxLength: 2000
profile.biographyanyOf 1 / anyOf 2nullWajib dalam induk—
profile.is_verifiedanyOf 1boolean | nullWajib dalam induk—
profile.follower_countanyOf 1integer | nullWajib dalam induk—
profile.follower_countanyOf 1 / anyOf 1integerWajib dalam induk
  • minimum: 0
  • maximum: 9007199254740991
profile.follower_countanyOf 1 / anyOf 2nullWajib dalam induk—
profileanyOf 2nullWajib dalam induk—
locationsarrayOpsional / item
  • maxItems: 100
locations[]objectOpsional / item
  • additionalProperties: false
locations[].idstringWajib dalam induk
  • pattern: "^\\d{2,20}$"
locations[].namestring | nullWajib dalam induk—
locations[].nameanyOf 1stringWajib dalam induk
  • maxLength: 200
locations[].nameanyOf 2nullWajib dalam induk—
locations[].addressstring | nullWajib dalam induk—
locations[].addressanyOf 1stringWajib dalam induk
  • maxLength: 500
locations[].addressanyOf 2nullWajib dalam induk—
locations[].citystring | nullWajib dalam induk—
locations[].cityanyOf 1stringWajib dalam induk
  • maxLength: 200
locations[].cityanyOf 2nullWajib dalam induk—
locations[].countrystring | nullWajib dalam induk—
locations[].countryanyOf 1stringWajib dalam induk
  • maxLength: 200
locations[].countryanyOf 2nullWajib dalam induk—
locations[].postal_codestring | nullWajib dalam induk—
locations[].postal_codeanyOf 1stringWajib dalam induk
  • maxLength: 100
locations[].postal_codeanyOf 2nullWajib dalam induk—
root_post_idstringOpsional / item
  • pattern: "^\\d{2,20}$"
target_usernamestringOpsional / item
  • pattern: "^[A-Za-z0-9._]{1,30}$"
coverageobjectWajib dalam induk
  • additionalProperties: false
coverage.completebooleanWajib dalam induk
  • const: false
coverage.next_cursorstring | nullWajib dalam induk—
coverage.next_cursoranyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 4096
coverage.next_cursoranyOf 2nullWajib dalam induk—
coverage.omitted_rowsintegerWajib dalam induk
  • minimum: 0
  • maximum: 9007199254740991
coverage.reasonsarrayWajib dalam induk
  • maxItems: 8
coverage.reasons[]stringOpsional / item
  • maxLength: 400
quotaarrayWajib dalam induk
  • maxItems: 1
quota[]objectOpsional / item
  • additionalProperties: false
quota[].providerstringWajib dalam induk
  • const: "meta"
quota[].usageobjectWajib dalam induk
  • additionalProperties: false
quota[].usage.call_countnumberOpsional / item—
quota[].usage.total_cputimenumberOpsional / item—
quota[].usage.total_timenumberOpsional / item—
quota[].usage.estimated_time_to_regain_accessnumberOpsional / item—
quota[].sourcesarrayWajib dalam induk
  • maxItems: 2
quota[].sources[]stringOpsional / item
  • enum: ["x-app-usage","x-business-use-case-usage"]
JSON Schema lengkap
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "threads-reads/v1"
    },
    "operation": {
      "type": "string",
      "const": "keyword_search"
    },
    "source": {
      "type": "string",
      "const": "official_threads_api"
    },
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "provider_account_id": {
      "type": "string",
      "pattern": "^\\d{2,20}$"
    },
    "provider_app_identity": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ]
    },
    "oauth_snapshot_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ]
    },
    "fetched_at": {
      "type": "string",
      "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)))$"
    },
    "status": {
      "type": "string",
      "enum": [
        "available",
        "partial",
        "unavailable"
      ]
    },
    "unavailable_reason": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "grant_inventory_unknown",
            "missing_permissions",
            "issuing_app_unknown",
            "credential_unavailable",
            "credential_expired",
            "account_unhealthy",
            "provider_denied",
            "provider_rate_limited",
            "provider_unavailable",
            "provider_response_invalid"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "access": {
      "type": "object",
      "properties": {
        "required_permissions": {
          "maxItems": 4,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{0,99}$"
          }
        },
        "missing_permissions": {
          "maxItems": 4,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{0,99}$"
          }
        },
        "permission_state": {
          "type": "string",
          "enum": [
            "granted",
            "missing",
            "unknown"
          ]
        },
        "grant_evidence": {
          "type": "string",
          "enum": [
            "exact",
            "unknown"
          ]
        },
        "app_access": {
          "type": "string",
          "const": "unverified"
        }
      },
      "required": [
        "required_permissions",
        "missing_permissions",
        "permission_state",
        "grant_evidence",
        "app_access"
      ],
      "additionalProperties": false
    },
    "data": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^\\d{2,20}$"
          },
          "text": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 30000
              },
              {
                "type": "null"
              }
            ]
          },
          "username": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Za-z0-9._]{1,30}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "permalink": {
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "timestamp": {
            "anyOf": [
              {
                "type": "string",
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "media_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "TEXT",
                  "TEXT_POST",
                  "IMAGE",
                  "VIDEO",
                  "CAROUSEL_ALBUM",
                  "AUDIO",
                  "REPOST_FACADE"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "is_reply": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_quote_post": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "has_replies": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "root_post_id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{2,20}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "replied_to_id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{2,20}$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "text",
          "username",
          "permalink",
          "timestamp",
          "media_type",
          "is_reply",
          "is_quote_post",
          "has_replies"
        ],
        "additionalProperties": false
      }
    },
    "profile": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "username": {
              "type": "string",
              "pattern": "^[A-Za-z0-9._]{1,30}$"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "biography": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "null"
                }
              ]
            },
            "is_verified": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "follower_count": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "username",
            "name",
            "biography",
            "is_verified",
            "follower_count"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "locations": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^\\d{2,20}$"
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ]
          },
          "city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "postal_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "address",
          "city",
          "country",
          "postal_code"
        ],
        "additionalProperties": false
      }
    },
    "root_post_id": {
      "type": "string",
      "pattern": "^\\d{2,20}$"
    },
    "target_username": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._]{1,30}$"
    },
    "coverage": {
      "type": "object",
      "properties": {
        "complete": {
          "type": "boolean",
          "const": false
        },
        "next_cursor": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        },
        "omitted_rows": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "reasons": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 400
          }
        }
      },
      "required": [
        "complete",
        "next_cursor",
        "omitted_rows",
        "reasons"
      ],
      "additionalProperties": false
    },
    "quota": {
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "const": "meta"
          },
          "usage": {
            "type": "object",
            "properties": {
              "call_count": {
                "type": "number"
              },
              "total_cputime": {
                "type": "number"
              },
              "total_time": {
                "type": "number"
              },
              "estimated_time_to_regain_access": {
                "type": "number"
              }
            },
            "additionalProperties": false
          },
          "sources": {
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "x-app-usage",
                "x-business-use-case-usage"
              ]
            }
          }
        },
        "required": [
          "provider",
          "usage",
          "sources"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "contract_version",
    "operation",
    "source",
    "workspace_id",
    "social_account_id",
    "provider_account_id",
    "provider_app_identity",
    "oauth_snapshot_id",
    "fetched_at",
    "status",
    "unavailable_reason",
    "access",
    "data",
    "profile",
    "coverage",
    "quota"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Contoh panggilan alat

Contoh ini menggunakan nilai fiktif yang diperiksa terhadap skema. Ganti ID dengan yang diizinkan bagi Anda, media dengan aset siap, dan tanggal dengan waktu publikasi yang dikonfirmasi. Periksa kelayakan akun sebelum mengirim penulisan. Halaman ini tidak mengirim permintaan API.

{
  "name": "sosoapi_search_threads",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "22222222-2222-4222-8222-222222222222",
    "q": "fictional example",
    "search_type": "RECENT",
    "search_mode": "KEYWORD",
    "limit": 25
  }
}

structuredContent

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "22222222-2222-4222-8222-222222222222",
  "contract_version": "threads-reads/v1",
  "operation": "keyword_search",
  "source": "official_threads_api",
  "provider_account_id": "12345",
  "provider_app_identity": null,
  "oauth_snapshot_id": null,
  "fetched_at": "2099-01-15T09:00:00Z",
  "status": "unavailable",
  "unavailable_reason": "issuing_app_unknown",
  "access": {
    "required_permissions": [
      "threads_basic",
      "threads_keyword_search"
    ],
    "missing_permissions": [],
    "permission_state": "unknown",
    "grant_evidence": "unknown",
    "app_access": "unverified"
  },
  "data": [],
  "profile": null,
  "quota": [],
  "coverage": {
    "complete": false,
    "next_cursor": null,
    "omitted_rows": 0,
    "reasons": [
      "Fictional documentation example: no provider request was made and no account data was read.",
      "App access and any pending permission review remain unverified; this is not successful provider or public-access evidence."
    ]
  }
}
Instal atau hubungkan MCP