Kunkafa

Market forecasts with their own track record, inside Claude, ChatGPT and other MCP apps.

사용해야 할까요

품질 및 안전성

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

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

컨텍스트 비용

~1,800토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.41%)

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "kunkafa": {
      "url": "https://kunkafa.com/mcp"
    }
  }
}

원격 엔드포인트

https://kunkafa.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_markets(cursor, limit)

Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor.

입력 스키마

{
  "type": "object",
  "properties": {
    "cursor": {
      "description": "page.nextCursor from the previous reply, to read the next page; omit for the first page",
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "limit": {
      "description": "Items per page, 1 to 50; default 50",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_outlooks(market, durations, minDuration, maxDuration, maxDurationExclusive, ...)

Current forecasts for one market; one market per call by design, so data is not pulled in bulk. Choose durations (exact or a range) and optionally direction, confidence or target filters. At most 6 durations and 72 forecasts per call; calls can run in parallel.

입력 스키마

{
  "type": "object",
  "properties": {
    "market": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "Market slug from list_markets, for example bitcoin"
    },
    "durations": {
      "description": "Exact duration labels from list_markets, for example [\"1 hour\", \"6 hours\"]",
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 2,
        "maxLength": 24,
        "pattern": "^\\d{1,5}\\s*[A-Za-z]{1,8}$"
      }
    },
    "minDuration": {
      "description": "Shortest duration to include, for example \"1 hour\"",
      "type": "string",
      "minLength": 2,
      "maxLength": 24,
      "pattern": "^\\d{1,5}\\s*[A-Za-z]{1,8}$"
    },
    "maxDuration": {
      "description": "Longest duration to include, for example \"1 day\"",
      "type": "string",
      "minLength": 2,
      "maxLength": 24,
      "pattern": "^\\d{1,5}\\s*[A-Za-z]{1,8}$"
    },
    "maxDurationExclusive": {
      "description": "true for \"less than maxDuration\"; default includes maxDuration",
      "type": "boolean"
    },
    "direction": {
      "description": "Default both",
      "type": "string",
      "enum": [
        "up",
        "down",
        "both"
      ]
    },
    "minProbabilityPercent": {
      "description": "Only forecasts whose probability (Kunkafa's confidence) is at least this",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "maxProbabilityPercent": {
      "description": "Only forecasts whose probability is at most this",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "minTargetPercent": {
      "description": "Only targets at least this far from the reference price, in percent",
      "type": "number",
      "minimum": 0,
      "maximum": 10000
    },
    "maxTargetPercent": {
      "description": "Only targets at most this far from the reference price, in percent",
      "type": "number",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_performance(market, probabilityPercent)

How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline).

입력 스키마

{
  "type": "object",
  "properties": {
    "market": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "Market slug from list_markets, for example bitcoin"
    },
    "probabilityPercent": {
      "description": "A forecast's confidence; the headline shows past results at the nearest published level at or below it",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_results(market, durations)

Recent example forecasts with their outcomes; not a full record.

입력 스키마

{
  "type": "object",
  "properties": {
    "market": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "Market slug from list_markets, for example bitcoin"
    },
    "durations": {
      "description": "Only these duration labels, for example [\"1 hour\", \"1 day\"]; default every duration",
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 2,
        "maxLength": 24,
        "pattern": "^\\d{1,5}\\s*[A-Za-z]{1,8}$"
      }
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_usage(cursor, limit)

Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance.

입력 스키마

{
  "type": "object",
  "properties": {
    "cursor": {
      "description": "page.nextCursor from the previous reply, to read the next page; omit for the first page",
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "limit": {
      "description": "Items per page, 1 to 50; default 50",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴follow_market(market, confirmReplacement)

Follow a market for this account. Check canFollow in get_usage first. Replacing a followed market is allowed once every 30 days: ask the user, then call with confirmReplacement true.

입력 스키마

{
  "type": "object",
  "properties": {
    "market": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "Market slug from list_markets, for example bitcoin"
    },
    "confirmReplacement": {
      "description": "Set true only after the user agreed to replace a market they already follow",
      "type": "boolean"
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴unfollow_market(market)

Stop following a market; its data stops being readable. Check canFollow in get_usage first.

입력 스키마

{
  "type": "object",
  "properties": {
    "market": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "Market slug from list_markets, for example bitcoin"
    }
  },
  "required": [
    "market"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_glossary

What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_account_links

Links to create an account, sign in and manage connections.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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