addrbookFor publishers
← The evidence ledger

Evidence row 302425

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint d056dedf-832e-4491-a863-b7db77ded439
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
61ac9c51921acf4e92c3efc35ef76c6d63527312a20d535f74c6ca6d1f86f2fa
Leaf
0xf6f9b5d55821847f923518e1639c45e2cadf62a92b42334368e64a5456bb63bb

What was observed

{
  "count": 9,
  "tools": [
    {
      "description": "ChatAd 가 무엇이고 무엇을 할 수 있는지, 로그인 없이 쓸 수 있는 것과 가입 뒤에 쓸 수 있는 것, 가입하는 방법을 돌려준다. 처음 들어왔으면 이것부터 부른다. 하루 한도에 들지 않는다.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "about_chatad"
    },
    {
      "description": "웹사이트를 읽어 제목·설명·주요 내용·광고 목표 후보·문맥 힌트 후보와 광고별 최소 일예산을 돌려준다. 캠페인 초안을 만들기 전에 부른다. 🔴 로그인 없이 MCP 세션마다 50회, 세션 번호가 없으면 하루 3회(이름을 밝힌 봇은 5회)까지다.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "분석할 웹사이트 주소. https:// 는 빼도 된다",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "analyze_site"
    },
    {
      "description": "웹사이트 첫 화면을 읽어 광고 전환 측정 준비가 되어 있는지 본다(Google 태그 관리자 · GA4 · Meta 픽셀 · 사이트 응답). 🔴 로그인 없이 MCP 세션마다 50회, 세션 번호가 없으면 하루 3회(이름을 밝힌 봇은 5회)까지다.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "분석할 웹사이트 주소. https:// 는 빼도 된다",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "check_ad_readiness"
    },
    {
      "description": "device 방식에서 사용자가 승인했는지 본다. 승인됐으면 access_token 이 온다. 아직이면 status 가 pending 이니 interval 초 뒤에 다시 부른다.",
      "inputSchema": {
        "properties": {
          "device_code": {
            "type": "string"
          }
        },
        "required": [
          "device_code"
        ],
        "type": "object"
      },
      "name": "check_signup"
    },
    {
      "description": "email_code 방식의 마지막 단계. 사용자가 불러 준 6자리 코드로 가입·로그인을 마치고 access_token 을 받는다. 그 토큰을 Authorization: Bearer 로 붙여 회원 MCP(https://mcp.gmp.ai/chatad, ?guest 없이)를 부른다.",
      "inputSchema": {
        "properties": {
          "client_name": {
            "type": "string"
          },
          "code": {
            "description": "메일로 받은 6자리 숫자",
            "type": "string"
          },
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "code"
        ],
        "type": "object"
      },
      "name": "complete_signup"
    },
    {
      "description": "웹사이트와 하루 총 예산으로 OpenAI·Google·Meta 광고 캠페인 초안(예산 배분 · 핵심 메시지 · 키워드나 문맥 힌트 · 광고 문구)을 만든다. 🔴 초안만 만든다. 광고주 계정에는 아무것도 만들지 않는다. 🔴 예산은 사용자가 말한 금액만 쓴다. 🔴 로그인 없이 MCP 세션마다 50회, 세션 번호가 없으면 하루 3회(이름을 밝힌 봇은 5회)까지다.",
      "inputSchema": {
        "properties": {
          "daily_budget_krw": {
            "description": "하루 총 예산(원). 사용자가 말한 금액 그대로",
            "type": "integer"
          },
          "media": {
            "description": "초안을 만들 광고. 안 주면 셋 다",
            "items": {
              "enum": [
                "openai_ads",
                "google_ads",
                "meta_ads"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "url": {
            "description": "분석할 웹사이트 주소. https:// 는 빼도 된다",
            "type": "string"
          }
        },
        "required": [
          "url",
          "daily_budget_krw"
        ],
        "type": "object"
      },
      "name": "draft_campaign"
    },
    {
      "description": "광고를 시작할 때 필요한 준비물과 절차를 적은 가이드 목록(OpenAI·Google·Meta 광고 시작 가이드 등)을 돌려준다. 하루 한도에 들지 않는다.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_guides"
    },
    {
      "description": "요금제와 결제 방법을 돌려준다. 🔴 금액이 확정되지 않았으면 prices_confirmed 가 false 로 온다. 그때는 금액을 지어내지 말고 「확정 전」이라고 안내한다. 하루 한도에 들지 않는다.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_plans"
    },
    {
      "description": "사용자 대신 ChatAd 가입을 시작한다. 🔴 사용자가 가입하겠다고 답한 뒤에만 부른다. 방법이 둘이다. method=email_code: 사용자 메일로 6자리 코드가 간다. 사용자에게 코드를 물어 complete_signup 에 넣는다. method=device: 확인 주소와 짧은 코드가 온다. 사용자에게 그 주소를 열어 로그인·승인하라고 안내하고, check_signup 으로 승인됐는지 본다. 어느 쪽이든 약관 동의와 본인 확인은 사용자가 직접 한다.",
      "inputSchema": {
        "properties": {
          "client_name": {
            "description": "이 에이전트의 이름(예: Claude, ChatGPT, Grok, Meta AI). 승인 화면에 보인다",
            "type": "string"
          },
          "email": {
            "description": "method=email_code 일 때 필요한 사용자 이메일",
            "type": "string"
          },
          "method": {
            "enum": [
              "email_code",
              "device"
            ],
            "type": "string"
          }
        },
        "required": [
          "method"
        ],
        "type": "object"
      },
      "name": "start_signup"
    }
  ]
}

What the leaf hashes

{"body":"61ac9c51921acf4e92c3efc35ef76c6d63527312a20d535f74c6ca6d1f86f2fa","id":302425,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793054668704256,"prev":null,"subject":"d056dedf-832e-4491-a863-b7db77ded439","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xf6f9ddd7a44fe46bf98d7973df29196841c62519eb24aaa10a2746f1c3cbf594
  2. 0xabcc22b213d1161e81a4a3241236a6dbab780b18cc70f77440551226e2c119ba
  3. 0x729fc335a78f19d4aecb5a53c14c602ef797c3ac547a8aab22c229e550e518ba
  4. 0x5c83d4d48b7577f980f1e481794eb58c3281cc2fe93dd049a6eb86922986b5fa
  5. 0xa9558eda1379544d4c41c1c6d754a7dfeb6d555f733d953ea0c5465f1213f455
  6. 0xb838ad7aa10219ea085003837e1b0ca7181688eda8e8156372e94908c581f17c
  7. 0x8666be4dc6e9dcc9862592067c9bb7d7fc767debb3afdf5bf7d93f165abfe2e4
  8. 0x31b456e0cce7ebb17b9a014462a1ad91887b736e9ab1d39c127ca98ddcd0734b
  9. 0xc865b45a244321ced1b7d618c1c2ea85f1e537be60555dfbf759973d5b6c4b93
  10. 0xf5e8ef3ab5f9c23f542cbe0c046fd1eee75e680d15d275dfceddbf77d8c87937
  11. 0xd987c6ca981b8dd0b1b11d115372fd199a82de229e1bc3db5a7a430cbc5575be
  12. 0x4eeaa4735423e7633e0aaa6154804920315f945b1e4ceabd29282ec021cce244
  13. 0x79695e4356ea25a2b58265a824698704cd2c743099ce2dca9e41384ce8f1a8c5
  14. 0xd769d41500075835c3b2f9184d223699fb983fd05c29fbcb44d964abc7ee380d
  15. 0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a
  16. 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
  17. 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON