Kairos Signal — verifiable DePIN data API

DePIN network telemetry, 370+ networks with live data. Every value carries an upstream verify URL.

사용해야 할까요

품질 및 안전성

B
설명 품질
95%
스키마 완전성
72%
이름 품질
95%
오염 위험
60%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (4)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainregister_agent에서
  • MEDIUMTool description contains URL to non-standard domaintopup_credits에서
  • LOWTool 'get_data_dictionary' description lacks action verbget_data_dictionary에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,670토큰 (도구 정의)
~705 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.30%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "kairos-signal": {
      "url": "https://kairossignal.com/mcp"
    }
  }
}

원격 엔드포인트

https://kairossignal.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (11)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢register_agent(email, agent_name)

START HERE. One call: get an API key instantly (no card, no human, no Stripe, ~5 seconds) plus $5 free credits, no card (first 3 keys per IP per 30 days). Past that per-IP limit a key is still created, at $0, and the response says so — it is never a silent zero. Works immediately: query live DePIN telemetry (504 symbols, every value carries a verify_url you can check yourself), GPU inference, DAG manifold. Try get_data_dictionary first if you want the coverage spec, or GET https://kairossignal.com/try with zero setup. Nothing to cancel; credits just sit there until you spend them. Then list_products to see what $0.49+ buys.

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "OPTIONAL contact email (for delivery and topup notifications). Omit to register anonymously."
    },
    "agent_name": {
      "type": "string",
      "description": "Your agent name"
    }
  },
  "required": [
    "agent_name"
  ]
}
🟢list_products

Browse purchasable products with prices in credits ($1 = 1 credit). DePIN supply-telemetry, provenance, derivation-replay, history, grades and the intel bundle are BUYABLE NOW from $0.49. Signal-feed tiers, DAG-manifold tiers and mcp_unlimited are priced but NOT yet purchasable: their entitlement is not wired into the serving API, so purchase_data refuses them with 503 not_yet_deliverable rather than charging you for nothing. Call after register_agent.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟡purchase_data(product_key, api_key, idempotency_key)

Buy a product with your credits; the data ships inline in the response. Deliverable today: the whole depin_* family plus depin_intel_bundle — call list_products for the live prices rather than trusting a figure restated here, which is how a price in a second place drifts from the first. The signal_*, dag_* and mcp_unlimited keys are priced but return 503 not_yet_deliverable — they are deliberately blocked, not broken, because nothing grants their entitlement yet. Credits buy DATA; they do not change your access tier. Use api_key from register_agent.

입력 스키마

{
  "type": "object",
  "properties": {
    "product_key": {
      "type": "string",
      "description": "Product key to purchase (e.g. dag_pro, mcp_unlimited)"
    },
    "api_key": {
      "type": "string",
      "description": "Your API key from register_agent"
    },
    "idempotency_key": {
      "type": "string",
      "description": "Optional. Any stable string unique to THIS intended purchase (e.g. a uuid). If a network error makes you retry the same call, re-send the SAME idempotency_key: the retry returns the same receipt and re-delivers the data without a second charge."
    }
  },
  "required": [
    "product_key",
    "api_key"
  ]
}
🟡topup_credits(api_key, method, amount, from_address, tx_hash)

Add credits. Card (one call): {"method": "stripe", "amount": N} where N is $20 or $99 — returns a Stripe checkout_url already bound to your api_key, and credits post automatically once Stripe confirms payment at $1 = 1 credit. No human step and no wallet needed. USDC on Base ({"method": "usdc"}) is also accepted but requires more work: verify your sender first via POST /v1/credits/crypto/challenge and /verify with X-API-Key, sign the returned challenge with your own EOA, then pass the verified from_address and send only after a successful quote — credit requires finalized Base evidence. Instructions: https://kairossignal.com/docs/crypto.html

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your API key"
    },
    "method": {
      "type": "string",
      "enum": [
        "usdc",
        "stripe"
      ],
      "description": "Payment method"
    },
    "amount": {
      "type": "number",
      "enum": [
        20,
        99
      ],
      "description": "Amount in USD to add. Fixed packs only: 20 or 99. Any other value returns the available packs instead of a link."
    },
    "from_address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Required for USDC: your EOA address already verified to this API account through the wallet challenge flow."
    },
    "tx_hash": {
      "type": "string",
      "description": "Legacy optional field; a transaction hash does not replace from_address or verify payment."
    }
  },
  "required": [
    "api_key",
    "method",
    "amount"
  ],
  "allOf": [
    {
      "if": {
        "properties": {
          "method": {
            "const": "usdc"
          }
        },
        "required": [
          "method"
        ]
      },
      "then": {
        "required": [
          "from_address"
        ]
      }
    }
  ]
}
🟢check_balance(api_key)

Check your remaining credit balance. Use after purchases to see remaining credits.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Your API key"
    }
  },
  "required": [
    "api_key"
  ]
}
🟢list_datasets

List all available datasets with record counts. Free to browse — market ticks, DePIN network stats, technical indicators, US county atlas, ZK footprints.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_stats

Get aggregate statistics from the databases

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_data_dictionary

ONBOARDING SPEC: freshness, history depth, coverage and endpoints per feed (depin_onchain, depin_daily, health_profiles, signal_ledger, market_ticks, zk_footprints). Machine-legible; answers 'how stale is this and how far back does it go' for every feed. Free, no key.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_derivation_ledger(symbol)

DERIVATION TRUTH: raw upstream payloads, SHA-256-pinned, with the exact collector code hash for each fetch. Replay any published value: fetch the verify_url yourself, run the pinned code, compare. Answers 'a hash proves a footprint, not the derivation' — divergence from origin is mechanically detectable. Free.

입력 스키마

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Optional: filter to one symbol (e.g. AKT). Omit for the coverage list."
    }
  }
}
🟢fetch_dataset(dataset, limit, offset)

Query records from a dataset with limit/offset. Free tier: 10 records per query. For depin_onchain, raw archived observations, including rejected rows, are retained. observation_quality reports limited PKT airdrop checks; not_checked means not validated. This read-time annotation is not covered by original proof hashes.

입력 스키마

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "description": "Dataset name (e.g., depin_onchain)"
    },
    "limit": {
      "type": "integer",
      "description": "Max records (max 10 for free tier)"
    },
    "offset": {
      "type": "integer",
      "description": "Record offset"
    }
  },
  "required": [
    "dataset"
  ]
}
🟢verify_footprint(dataset, stamp_day, leaf_index, expected_row_sha256)

Retained Merkle-membership check for one depin_onchain observation: stamp_day (YYYYMMDD), leaf_index (0-based row in /attestations/batch_<day>.tsv), expected_row_sha256. verified=true ONLY when the row at that index hashes to expected_row_sha256 AND its inclusion path reaches that day's manifest merkle_root. Says nothing about Bitcoin status or upstream accuracy. Other datasets: unsupported (no retained proof).

입력 스키마

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "enum": [
        "depin_onchain"
      ]
    },
    "stamp_day": {
      "type": "string"
    },
    "leaf_index": {
      "type": "integer",
      "minimum": 0
    },
    "expected_row_sha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    }
  },
  "required": [
    "dataset",
    "stamp_day",
    "leaf_index",
    "expected_row_sha256"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개
검증됨버전이 기록되지 않음도구 11개