{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_uzyrwys6pn2s","handle":"kong-reviews","url":"https://wellknown.network/agents/kong-reviews","links":{"self":"https://wellknown.network/agents/kong-reviews/record.json","html":"https://wellknown.network/agents/kong-reviews","markdown":"https://wellknown.network/agents/kong-reviews/record.md","api":"https://wellknown.network/api/v1/agents/kong-reviews","status":"https://wellknown.network/api/v1/agents/kong-reviews/status","claim":"https://wellknown.network/agents/kong-reviews/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/kong-reviews/claim.json","badge":"https://wellknown.network/agents/kong-reviews/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/kong-reviews/history","tools":"https://wellknown.network/api/v1/agents/kong-reviews/tools"},"ard":{"identifier":"urn:air:kongreviews.com:server:kong-reviews","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Kong Reviews","summary":"Pick a tech stack from a PRD and see what it costs now and at scale, after startup perks.","description":"Pick a tech stack from a PRD and see what it costs now and at scale, after startup perks.","publisher":{"name":"com.kongreviews","url":null},"homepage":"https://kongreviews.com","repository":null,"version":"0.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://kongreviews.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-23T00:02:45.157649Z","publishedAt":"2026-10-23T00:02:45.157649Z","registryName":"com.kongreviews/kongreviews"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"code.review","name":"Code Review","confidence":1,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":1,"provenance":"derived"},{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":1,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"},{"slug":"productivity.tasks","name":"Tasks & To-do","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"}],"categories":["code","commerce","data","dev","productivity"],"language":"de"},"observed":{"status":"live","statusReason":"Responded 8h ago.","lastOkAt":"2026-10-29T10:24:24.344Z","lastProbedAt":"2026-10-29T10:24:24.344Z","statusComputedAt":"2026-10-29T10:27:48.731Z","reliability30d":{"probes":15,"successRate":1,"p50Ms":299,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":15,"ok":15,"authBoundaryOk":9,"serviceOk":6,"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-29T10:24:24.344Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":306,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-29T02:30:12.402Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":346,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-28T19:27:23.175Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":311,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-28T12:27:39.439Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":301,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-28T05:30:40.862Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":391,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-27T22:30:42.255Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":273,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-27T15:23:30.384Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":315,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-27T08:24:05.306Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":275,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-27T01:27:03.870Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":276,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://kongreviews.com/.well-known/oauth-protected-resource\", scope=\"stacks\""}},{"at":"2026-10-26T18:32:07.372Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"tools":[{"name":"recommend_stack","description":"Use for a new app (no saved project yet); for a saved one use get_project_context. Reads only; no sign-in. Start here. Describe the product in plain language an"},{"name":"compare_architectures","description":"Asks the questions that decide an architecture (static or dynamic, who signs in, how much data, uploads and media, background jobs and live updates, data sensit"},{"name":"list_vendors","description":"List vendors in the pricing catalogue, optionally for one category (hosting, database, auth, email, payments, observability, ai, edge, app_store, coding)."},{"name":"list_capabilities","description":"List capability ids (features, compliance, regions) that requirements can reference, e.g. auth.saml_sso, region.eu, payments.merchant_of_record."},{"name":"search_directory","description":"Search the directory of developer services (hosting, databases, auth, email, SMS, payments, analytics, monitoring, LLM APIs, vector databases, search, CMS and m"},{"name":"search_showcase","description":"Browse products startups have built and the stack each runs on: what it is, whether it is a website, a mobile app, both or a desktop app, its category and prici"},{"name":"get_pricing","description":"Structured pricing and capabilities for one vendor: every plan, base fee, metered usage, limits, unmodelled costs, lock-in notes, source URL and verification da"},{"name":"estimate_cost","description":"Monthly cost for one vendor at a given scale. Give mau (monthly active users) and a usage profile, or exact usage numbers. Picks the cheapest plan that fits unl"},{"name":"compare_vendors","description":"Rank vendors in one category at a given scale. Vendors meeting every must-have come first, then cheapest. Ranking is by cost and fit only. Example: {\"category\":"},{"name":"check_fit","description":"For each vendor, show whether each requirement is met on its cheapest plan, needs a higher tier (with that tier's cost), or is missing."},{"name":"project_stack","description":"Month-by-month cost for a whole stack as users grow, with startup perks applied if requested, plus cost cliffs (forced plan upgrades, sharp jumps, credits runni"},{"name":"find_cost_cliffs","description":"Scan a range of user counts for one vendor and report where cost jumps: forced plan upgrades and points where usage charges start. Example: {\"vendor_id\":\"clerk\""},{"name":"find_perks","description":"Startup credits for the given vendors, and whether you qualify based on your bank, incorporation provider, accelerator or funding. Example: {\"vendor_ids\":[\"supa"},{"name":"extract_requirements","description":"Turn PRD or spec text into structured requirements (scale, capabilities, compliance, regions, budget) for plan_stack, without planning. recommend_stack does bot"},{"name":"plan_stack","description":"Use to re-plan with confirmed requirements (after recommend_stack) or with exact inputs. Reads only; no sign-in. Given confirmed requirements as capability ids,"},{"name":"evaluate_change","description":"Use for one vendor in one category (stay, optimise or switch); to price a change against a whole saved project use price_change. Reads only; no sign-in. When so"},{"name":"detect_stack","description":"Work out which services an existing app runs on, from its files, a public GitHub repo, or its live website. From an AI coding app, read the project yourself and"},{"name":"audit_stack","description":"Assess the stack an existing app runs on and recommend what to do. For each service: its plan, cost now and in 12 months, must-haves it lacks, cost jumps in the"},{"name":"plan_migration","description":"Plan moving an existing app from one host to another (playbooks so far: netlify → digitalocean-app-platform). Reads the repo (files, pasted text or a GitHub rep"},{"name":"diff_stack","description":"Use for a pull request or a diff of an app that has no saved project; to price a change against the accepted project, use price_change. Reads only; no sign-in. "},{"name":"price_change","description":"Use before implementing anything that might change the bill: \"what does adding SMS reminders cost\", \"before I add this background-job package\", \"should we swap "},{"name":"accept_change","description":"Use only after the user agrees to a change that price_change priced (\"yes, add the SMS reminders\"). Changes data; needs sign-in. Pass exactly accept_with.argume"},{"name":"save_stack","description":"Changes data (creates a project); needs sign-in. Save a recommended stack, or an audit of an existing app, to the signed-in user's Kong Reviews account so it ca"},{"name":"get_project_context","description":"Use when the user wants to continue, change or ask about a project they saved (\"continue the booking app\", \"where was I\", \"add SMS to my project\"). Reads only; "},{"name":"list_saved_stacks","description":"Reads only; needs sign-in. To continue one project, get_project_context is usually the better first call: it resolves a name and returns the whole context. List"},{"name":"get_saved_stack","description":"Reads only; needs sign-in. Re-run a saved stack or audit with today's catalogue and compare it with when it was saved: monthly cost then and now, picks (or plan"},{"name":"get_build_pack","description":"Use when the user is ready to build or to resume setup. Reads only; a share_url needs no sign-in, a saved id does and adds the checklist with each step's state "},{"name":"record_setup_progress","description":"Use while setting a saved plan up, after the user finishes part of a step (\"the Supabase client is installed\", \"sign-in works on the live site\"). Changes data; "},{"name":"check_build","description":"Changes data (links the repo, records installed packages as tool-verified); needs sign-in; reads GitHub. Finding a package proves only that it is installed, nev"},{"name":"update_saved_stack","description":"Changes data; needs sign-in. Pass expected_version (the context_version you read) so an edit made meanwhile is never overwritten. To add or swap a service, use "},{"name":"record_bills","description":"Changes data (adds bills); needs sign-in. To explain a bill or a month-on-month increase, use explain_bill. Record what the user actually paid each service in a"},{"name":"explain_bill","description":"Use when the user asks about what they actually paid: \"why did my bill go up\", \"explain my bill\", \"are we over the estimate\". Reads only; needs sign-in. For one"},{"name":"delete_saved_stack","description":"Permanently delete one of the signed-in user's saved stacks by id. Only call it when the user explicitly asks to delete that stack; confirm the name first. Need"},{"name":"delete_account","description":"Permanently delete the signed-in user's Kong Reviews account: their GitHub sign-in link and every saved stack. This cannot be undone. Only call it when the user"}],"toolCount":34,"toolsHash":"747a8fafde33de00514d1a9c25a48d3e1010ef55d05a7909f6ab6e9bbe8c0ea2","serverName":"kongreviews","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":null,"package":null,"toolSurface":{"id":"ts_jkrfmes7c89z","endpointId":"ep_jukfuuqzu7u2","hash":"747a8fafde33de00514d1a9c25a48d3e1010ef55d05a7909f6ab6e9bbe8c0ea2","toolCount":34,"serverName":"kongreviews","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-26T18:32:07.387Z","lastSeenAt":"2026-10-26T18:32:07.387Z","observations":1,"toolNames":["recommend_stack","compare_architectures","list_vendors","list_capabilities","search_directory","search_showcase","get_pricing","estimate_cost","compare_vendors","check_fit","project_stack","find_cost_cliffs","find_perks","extract_requirements","plan_stack","evaluate_change","detect_stack","audit_stack","plan_migration","diff_stack","price_change","accept_change","save_stack","get_project_context","list_saved_stacks","get_saved_stack","get_build_pack","record_setup_progress","check_build","update_saved_stack","record_bills","explain_bill","delete_saved_stack","delete_account"],"distinctSurfaces":5},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.kongreviews/kongreviews","url":"https://registry.modelcontextprotocol.io/v0/servers/com.kongreviews%2Fkongreviews","firstSeenAt":"2026-10-25T06:19:34.863Z","fetchedAt":"2026-10-28T16:21:40.983Z","normalizedAt":"2026-10-28T16:21:40.983Z"}]},"firstSeenAt":"2026-10-25T06:19:34.863Z","updatedAt":"2026-10-26T18:36:22.691Z"}