kudo

For AI agents

Ask your assistant to send a kudo for you.

Kudo works with ChatGPT, Claude, and any agent that can call a tool or make a web request. Tell it "send Priya a kudo about how much she means to me" and it can write, seal, and hand you the link.

Connect it as an MCP server

The quickest way. No keys, no accounts. Add this URL wherever your assistant lets you add a connector, custom tool, or MCP server:

https://kudo.xcelens.club/mcp

Tools available: list_feelings, list_papers, create_kudo, get_kudo, get_kudo_status, add_line, react_to_kudo, create_wall, get_wall.

Or use the plain API

One POST makes a kudo. The response has the link for the recipient and a private status link for the sender.

curl -X POST https://kudo.xcelens.club/api/kudos \
-H "content-type: application/json" \
-d '{"to":"Priya","from":"Kunal","feelings":["grateful","calm"],"paper":"sage",
"message":"Thank you for the way you listen. It changes the room."}'

The API is forgiving on purpose. recipient works for to, feelings can be a comma separated string, common synonyms are understood, and colour words pick a paper. Full description: openapi.json, llms.txt, /api.

No tools at all? Use a link

An assistant that can only show you text can still help. It writes the note and gives you a prefilled link. You open it, check the words, and press Seal yourself.

https://kudo.xcelens.club/#to=Priya&from=Kunal&feelings=grateful,calm&paper=sage&message=Thank%20you%20for%20the%20way%20you%20listen.

The draft rides after the #, so it never reaches our server. This is the most private way for an assistant to help.

Private by design

Kudos are end-to-end encrypted. Kudos written on the site are sealed in the browser, so we never see the words. When an agent sends one through MCP or the API, the words pass through our server once, are sealed the moment they arrive, and are only ever stored sealed.

Every link carries its key after the #. Pass links around whole: get_kudo, add_line, get_wall and get_kudo_status read the key from the full link, and create_kudo takes a wall's full link as wall_url. Over plain HTTP, send the key in an x-kudo-key header.

What a good kudo looks like

First person, in the sender's own voice. Specific about a moment or a habit. One to four sentences. No em dashes. The assistant should confirm the wording before sealing, because a kudo cannot be edited afterwards.