Skip to content
Kulhad logo

Kulhad MCP server

Which MCP servers are Kulhad's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-27

← Back to Kulhad

Whose server it is
  • Registry nameco.kulhad/kulhadverified in the MCP registry

The registry name sits under kulhad.co. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-27
  • Stateanswerschecked 2026-10-27
  • Tools44
  • Server calls itselfkulhad
  • Server version0.1.0
  • Protocol version2025-06-18

On 2026-10-27 the server answered initialize and tools/list without a sign-in. First answer in 545 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.

Once connected

  • Keep approval on for send_test_alert: they delete, send or pay without saying so.
  • update_profile, update_page_appearance, update_page_behaviour, update_seo, set_saved_replies change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 21 of 44 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 7, the first on 2026-10-27
  • INITE MCP score64 of 100answers 100 · definitions 92 · context 76 · connects 100 · lowered by the warning signs below
  • Answered100% of days7 of 7 daily checks
  • Median first answer564 ms
  • Space in an agent's context≈ 7,173 tokensthe definitions of all its tools (44), which an agent carries on every turn
  • Tool definitionsA · 92 of 100
  • Typed results44 of 44 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 21 of 44

What an agent can do with it

  • not sure · Collect tips from supporters through a UPI QR code
  • not sure · Put a printed QR code at a shop counter
  • can do · Approve supporter messages before they appear on a page

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that delete, send or pay, marked as not destructive: send_test_alert
  • Tools that change data, on a server that answers without a sign-in: update_profile, update_page_appearance, update_page_behaviour, update_seo, set_saved_replies

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers44 tools · read 2026-10-27
  • check_username_available

    Check whether a Kulhad page name is free. A page name is the last part of the address, as in kulhad.co/priya. Use this before suggesting a name to somebody setting up a page.

  • start_signup

    Get a link that opens Kulhad sign-up with a page name already filled in. Hand it to the person setting up the page; they finish it themselves in a browser. This does not create an account and cannot. It marks the name as taken for…

  • get_my_profile

    Read the page details for the signed-in creator: name, page address, bio, links, language, plan, and any custom domain recorded on the account with its status (pending, active or disabled).

  • get_page_settings

    Read the current appearance and behaviour settings for the page: theme, banner, suggested amounts, what is shown publicly, and the thank-you note.

  • update_profile

    Change the creator's name, bio, page address, kind of page (person or organisation), page language, dashboard language, and the links on the page. Only the fields you pass change. Links replace the whole list, so pass every link that…

  • update_page_appearance

    Change the page theme and the announcement banner across the top of it. Page themes, a custom theme colour (shown only when the theme is "custom"), your own banner colour, hiding the Kulhad badge, and a Google Analytics measurement ID are…

  • update_page_behaviour

    Change what the page does: whether new supporters go up without approval, whether people may give without a name, whether the supporter count and total show, the three suggested amounts and their labels, the headline on the pay card, the…

  • update_seo

    Set the title (up to 60 characters) and description (up to 160) in the page's HTML head, which search engines and link previews read. Part of Premium. A blank value goes back to the text Kulhad generates. This does not set an image and…

  • set_saved_replies

    Replace the list of ready-made thank-you replies the creator picks from when approving a supporter. Part of Premium. At most 7, each up to 280 characters; blank replies and any containing a link or a flagged word are dropped and counted…

  • get_dashboard_summary

    The headline numbers from the creator dashboard: what came in this month against last, the all-time total, how many approved supports there have been, and how many are waiting to be approved.

  • list_pending_supports

    List the supporters who have marked a payment as sent and are waiting for the creator to approve them. Kulhad cannot see a bank account, so this is what people say they sent, not what has been received. The creator checks their own bank…

  • list_supports

    List supporters, newest first, optionally narrowed by status or by date. Use this for history and for questions about a particular period; use list_pending_supports for the approval queue.

  • get_support

    Read everything the creator can see about one supporter, by its id.

  • approve_support

    Approve one supporter after the creator has found the payment in their own bank app. This cannot be undone. The supporter's name and amount then show on the creator's page and stream overlays and count toward totals and the active goal…

  • reject_support

    Reject one supporter when the creator has checked their bank and the payment is not there. This cannot be undone. Any voice recording is deleted immediately; the record itself is cleared a week later. Nothing shows on the page and nothing…

  • reply_to_supporter

    Write or replace the thank-you beside one supporter, up to 280 characters; links and flagged words are refused. It shows on the creator's page once the supporter is approved, and on the supporter's own receipt link in any case. Replaces…

  • bulk_approve_supports

    Approve up to 100 waiting supporters at once after the creator has checked their bank. Part of Premium. This cannot be undone. Ids that are not waiting (already settled, not yet marked as sent, missing, or not this creator's) are skipped…

  • bulk_reject_supports

    Reject up to 100 waiting supporters at once. Part of Premium. This cannot be undone and any voice recordings are deleted immediately, so confirm the list with the creator first. Ids that are not waiting are skipped and counted.

  • list_goals

    List every goal on the page, the active one first, with how much each has raised against its target.

  • get_goal

    Read one goal in full, including its impact tiers and its progress notes.

  • create_goal

    Create a goal with a title and a target in whole rupees. Unless active is false, it becomes the goal shown on the page and any other goal is put away, not deleted (set_active_goal brings one back). The free plan refuses while another goal…

  • update_goal

    Change a goal's title, target, description, deadline or impact tiers. Only the fields you pass change, and each replaces the old value; impact replaces the whole list. Renaming changes the goal's web address, and the old address stops…

  • set_active_goal

    Make one goal the one shown on the page, or turn the current one off. The page shows a single goal at a time, so choosing one puts the others away without deleting anything. Reversible.

  • delete_goal

    Delete a goal that has no approved support. This cannot be undone, and its cover image is deleted with it. Pending or rejected supports pinned to it lose the link. A goal with approved support stays in the history and can only be turned…

  • post_goal_update

    Add a short note, up to 280 characters, under a goal saying what the money did. Notes are kept newest first, at most 20 per goal, and show on the goal's page while the goal is active or complete. Free on every plan. Nobody is notified.

  • delete_goal_update

    Remove one progress note from a goal by its position in the list, counting from zero with the newest first. This cannot be undone.

  • list_upi_ids

    List the UPI IDs on the account, which are the addresses supporters pay into. The free plan keeps one of them active at a time.

  • add_upi_id

    Add a UPI ID for supporters to pay into. Kulhad cannot check that an address is real or that it belongs to the creator, so tell them to send one rupee to it themselves and confirm it arrived before sharing the page. Duplicates are not…

  • update_upi_id

    Change the address or label of a UPI ID, switch it on or off, or mark the one-rupee test done. Changing the address clears the test, and from then on the new address is what supporters are quoted and what past supports display. At least…

  • set_default_upi_id

    Make one active UPI ID the one supporters are shown first. The others stay on the account. This does not switch an ID on: an inactive ID made default is never quoted.

  • remove_upi_id

    Remove a UPI ID from the account. The last one, and the only active one, cannot be removed. This cannot be undone, and past supports lose the link to it; switching it off instead keeps it.

  • set_upi_rotation

    When on, active UPI IDs take turns being quoted so support spreads across them instead of landing in one account. Part of Premium.

  • get_share_assets

    Get the page address, a QR code that opens the page (and a UPI payment QR for the counter when the counter QR is switched on), share images for stories and posts, and the printable sheets. Everything comes back as a link to open or…

  • get_embed_code

    Get the HTML to put a support button, the pay card, or a live goal bar on the creator own website or blog. Returns the snippets to paste, not a rendered preview.

  • get_stream_overlays

    Get the three overlay addresses to add to OBS or any streaming software as a browser source: a goal bar, a wall of recent supporters, and an alert that appears when someone gives. Includes the size each source should be and when alerts…

  • send_test_alert

    Fire a test alert so the creator can see where it lands in OBS while setting up. It is not a real support: nothing is recorded, no goal moves and nobody is thanked. The overlay picks it up within about five seconds and it disappears after…

  • get_analytics

    Daily page views, approved supports and amounts for up to the last ninety days, thirty by default, with the rate at which visitors go on to support. Part of Premium. Comes from the nightly rollup, so today is not included and only days…

  • get_wrapped

    Kulhad Wrapped for a year: how many people supported, the total, page views, the busiest month, and the largest single support. Free on every plan.

  • get_support_sources

    Break approved support down by where it came from: the page itself, an embedded button, a QR code, the printed counter card, or a link tagged for WhatsApp, Instagram, YouTube or a standee. Use this to answer which channel is actually…

  • get_plan_and_billing

    Read which plan the account is on, when Premium runs to, whether it is set to end, and the past charges with links to their invoices. Read-only: nothing here starts, changes or cancels a subscription.

  • get_custom_domain

    Read whether a custom domain is connected to the page, and what DNS record it needs. Part of Premium.

  • set_custom_domain

    Record the domain the creator wants in front of their page and return the DNS record to add. Part of Premium. Replaces any domain already recorded, including a working one, which then stops serving until verify_custom_domain passes again…

  • verify_custom_domain

    Look the domain up in public DNS and, if it points at Kulhad, switch the page to it; kulhad.co/<name> then redirects there. Part of Premium. Clears the same domain from any other account's unverified claim. Fails until the record has…

  • remove_custom_domain

    Disconnect the custom domain, so the page is served from its kulhad.co address again. Anything printed with the old domain on it stops working, so confirm with the creator first.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "kulhad": {
      "type": "http",
      "url": "https://kulhad.co/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http kulhad https://kulhad.co/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://kulhad.co/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.