{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_emre42ruptw6","handle":"kunkafa","url":"https://wellknown.network/agents/kunkafa","links":{"self":"https://wellknown.network/agents/kunkafa/record.json","html":"https://wellknown.network/agents/kunkafa","markdown":"https://wellknown.network/agents/kunkafa/record.md","api":"https://wellknown.network/api/v1/agents/kunkafa","status":"https://wellknown.network/api/v1/agents/kunkafa/status","claim":"https://wellknown.network/agents/kunkafa/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/kunkafa/claim.json","badge":"https://wellknown.network/agents/kunkafa/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/kunkafa/history","tools":"https://wellknown.network/api/v1/agents/kunkafa/tools"},"ard":{"identifier":"urn:air:kunkafa.com:server:kunkafa","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Kunkafa","summary":"Market forecasts with their own track record, inside Claude, ChatGPT and other MCP apps.","description":"Market forecasts with their own track record, inside Claude, ChatGPT and other MCP apps.","publisher":{"name":"com.kunkafa","url":null},"homepage":"https://kunkafa.com/developers/setup","repository":"https://github.com/Kareemfarid/kunkafa-mcp","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://kunkafa.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-03T08:51:36.841772Z","publishedAt":"2026-10-03T08:51:36.841772Z","registryName":"com.kunkafa/kunkafa"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.weather","name":"Weather","confidence":0.938,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.569,"provenance":"derived"},{"slug":"productivity.email","name":"Email","confidence":0.51,"provenance":"derived"}],"categories":["data","productivity","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T02:30:44.928Z","lastProbedAt":"2026-10-10T02:30:44.928Z","statusComputedAt":"2026-10-10T02:31:58.264Z","reliability30d":{"probes":25,"successRate":1,"p50Ms":819,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":25,"ok":25,"authBoundaryOk":0,"serviceOk":25,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T02:30:44.928Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":613,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:29:53.575Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1025,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:30:00.342Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":949,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:22:14.501Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":991,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:26:44.095Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1183,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T18:26:56.451Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1094,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:24:07.162Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":845,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T05:22:42.440Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":886,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:31.211Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":637,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T17:29:22.107Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":787,"error":null,"detail":{"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"toolCount":9,"toolsHash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","serverName":"Kunkafa","capabilities":["tools","prompts","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_markets","description":"Markets this account can read, each with the durations that have forecasts now, and what it follows. Page with page.nextCursor."},{"name":"get_outlooks","description":"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, co"},{"name":"get_performance","description":"How often past forecasts touched their target, by confidence level and period. Pass probabilityPercent for the matching row (headline)."},{"name":"get_results","description":"Recent example forecasts with their outcomes; not a full record."},{"name":"get_usage","description":"Remaining allowances, what one get_outlooks call returns, and this connection's permissions, canFollow and expiry. Uses no allowance."},{"name":"follow_market","description":"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 co"},{"name":"unfollow_market","description":"Stop following a market; its data stops being readable. Check canFollow in get_usage first."},{"name":"get_glossary","description":"What every Kunkafa term and number means and how to read them. Call once before explaining results. No sign-in needed."},{"name":"get_account_links","description":"Links to create an account, sign in and manage connections."}],"package":null,"toolSurface":{"id":"ts_axbeqv4wbcry","endpointId":"ep_ze3nptpvm295","hash":"63998caef40624d2c7b926f0ad6798f01b834519622644e2420dc1db7164fc4a","toolCount":9,"serverName":"Kunkafa","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-03T13:31:39.489Z","lastSeenAt":"2026-10-10T02:30:44.923Z","observations":25,"toolNames":["list_markets","get_outlooks","get_performance","get_results","get_usage","follow_market","unfollow_market","get_glossary","get_account_links"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_ze3nptpvm295","url":"https://kunkafa.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T13:30:00.352Z","auth":{"observedAt":"2026-10-09T13:30:01.237Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://kunkafa.com/.well-known/oauth-protected-resource/mcp","resource":"https://kunkafa.com/mcp","authorizationServers":["https://kunkafa.com/oauth"],"scopesSupported":["markets:read","outlooks:read","performance:read","results:read","usage:read","following:write"]},"authorizationServer":{"url":"https://kunkafa.com/.well-known/oauth-authorization-server/oauth","issuer":"https://kunkafa.com/oauth","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","private_key_jwt"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":["ES256","Ed25519","EdDSA"],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":true,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-09T13:30:01.247Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"kunkafa.com","issuer":{"commonName":"WR3","organization":"Google Trust Services"},"validFrom":"2026-09-13T03:20:23.000Z","validTo":"2026-12-12T04:19:39.000Z","daysToExpiry":62,"sanCount":4,"fingerprint256":"5F:AC:16:86:29:5B:2D:91:EB:AF:FC:08:D0:3F:F3:10:6D:95:E5:47:6D:79:9B:01:02:5B:16:03:A7:5D:2A:CA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.kunkafa/kunkafa","url":"https://registry.modelcontextprotocol.io/v0/servers/com.kunkafa%2Fkunkafa","firstSeenAt":"2026-10-03T13:22:40.849Z","fetchedAt":"2026-10-09T07:21:15.098Z","normalizedAt":"2026-10-09T07:21:15.098Z"}]},"firstSeenAt":"2026-10-03T13:22:40.849Z","updatedAt":"2026-10-10T02:33:01.570Z"}