Kunkafa
by kunkafa.com · remote · no sign-in to list tools · v1.0.0 · published by com.kunkafa
Market forecasts with their own track record, inside Claude, ChatGPT and other MCP apps.
9 tools: 2 can delete or cancel things, 1 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http kunkafa https://kunkafa.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "get_account_links" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_account_links" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Deletes or cancels 2Claude Code: deny
follow_marketFollow a market for this account.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Follow a market
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
unfollow_marketStop following a market; its data stops being readable.No findings
Why it is in this group
- The description's first verb is "stop": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Stop following a market; its data stops being readable. Check canFollow in get_usage first.
Annotations the server declares
- title: Unfollow a market
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 1Claude Code: ask
get_account_linksLinks to create an account, sign in and manage connections.1 finding
Why it is in this group
- The name "get_account_links" says "get": a word for reading.
- The description's first verb is "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_account_links" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_account_links" says "get": a word for reading.
Description, as the server wrote it Links to create an account, sign in and manage connections.
Annotations the server declares
- title: Kunkafa account links
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Only reads 6Claude Code: allow
get_glossaryWhat every Kunkafa term and number means and how to read them.No findings
Why it is in this group
- The name "get_glossary" says "get": a word for reading.
Description, as the server wrote it What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed.
Annotations the server declares
- title: Glossary
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_outlooksCurrent forecasts for one market; one market per call by design, so data is not pulled in bulk.No findings
Why it is in this group
- The name "get_outlooks" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Current forecasts
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_performanceHow often past forecasts touched their target, by confidence level and period.No findings
Why it is in this group
- The name "get_performance" says "get": a word for reading.
Description, as the server wrote it How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline).
Annotations the server declares
- title: Past performance
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_resultsRecent example forecasts with their outcomes; not a full record.No findings
Why it is in this group
- The name "get_results" says "get": a word for reading.
Description, as the server wrote it Recent example forecasts with their outcomes; not a full record.
Annotations the server declares
- title: Past results
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_usageRemaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry.No findings
Why it is in this group
- The name "get_usage" says "get": a word for reading.
Description, as the server wrote it Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance.
Annotations the server declares
- title: Usage and limits
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
list_marketsMarkets this account can read, each with the durations that have forecasts now, and what it follows.No findings
Why it is in this group
- The name "list_markets" says "list": a word for reading.
Description, as the server wrote it Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor.
Annotations the server declares
- title: Available markets
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http kunkafa https://kunkafa.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__kunkafa__list_markets",
"mcp__kunkafa__get_outlooks",
"mcp__kunkafa__get_performance",
"mcp__kunkafa__get_results",
"mcp__kunkafa__get_usage",
"mcp__kunkafa__get_glossary"
],
"ask": [
"mcp__kunkafa__get_account_links"
],
"deny": [
"mcp__kunkafa__follow_market",
"mcp__kunkafa__unfollow_market"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as kunkafa. Review it before you use it.