Productivity & teams
Redmine
Issues, time entries and projects in your Redmine, from your agent.
12 endpoints
Your upvoted, hidden and favorite items and your comment threads on Hacker News. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
9 tools Reads, two private writes
Hacker News has an official API, but it is public and read-only, and there is no official MCP server (checked 28 Oct 2026). For public stories and comments you do not need Cotlet. The 9 Cotlet tools cover what sits behind your login: upvoted and hidden items, your favorites, favorite and hide.
| What you need | Firebase + Algolia API | GitHub MCP server | Cotlet |
|---|---|---|---|
| Public stories, comments and search | Yes, free | Yes, free | Items only, no search |
| Your upvoted and hidden items | No | No | Yes, as you |
| Your favorites | No | No | Stories and comments |
| Favorite or hide an item | No | No | Yes, undo with one call |
| Upvote, comment or submit | No | No | No, on purpose |
Checked 28 Oct 2026. Sources: Hacker News API (Y Combinator, GitHub) · Hacker News Search API (Algolia) · Hacker News Guidelines · Hacker News FAQ · n8n Hacker News node · Y Combinator Terms of Use
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
Ask your agent or send an HTTP request.
We never keep your Hacker News password, and no tool can vote, comment or submit in your name. Who can see your session
Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.
Enable Hacker News for agents. Create a Cotlet account, log in to Hacker News in its Cloud Browser and press Enable for agents.
Add the Cotlet address. Put https://cotlet.dev/mcp/v1 in your agent as an MCP server or custom connector.
Confirm who you are. Chat apps send you through a Cotlet sign-in. Editors, n8n and scripts take an API key from the console.
Hacker News shares https://cotlet.dev/mcp/v1 with every other app you enable. Turned Hacker News on after you connected? Refresh the connector and its 9 tools appear.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-hacker-news \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-hacker-news": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-hacker-news]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: hacker_news_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: hacker_news_write Create a Cotlet API key with access to Hacker News and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect Hacker News in Cotlet and enable it for agents. Account access: Your own Hacker News account (any account; upvoted and hidden lists are private to you).
curl https://cotlet.dev/api/v1/hacker-news/my-profile \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"status": "success",
"app": "hacker-news",
"tool": "get_my_profile",
"result": {
"username": "maya_dev",
"karma": 1284,
"created": "2019-03-14",
"about": "Building small tools."
}
} Returns the account behind the Cloud Browser session. It is the call to make first to check that the session is signed in and which username the other tools act for.
Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | List the stories or comments you added to your favorites. Use list_favorites in your configured workspace report. |
| Make | HTTP > Make a request | List your comments with the thread each one belongs to. Use list_my_comments in your configured workspace report. |
| Python or Node.js | REST API | List the stories you submitted, with points and comment counts. Use list_my_submissions in your configured workspace report. |
Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.
Cotlet reads Hacker News; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.
Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.
The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.
Upvoted and hidden are visible to you alone; favorites are public on your profile. One page of the list per call, in the order Hacker News shows it.
Returns the items of your upvoted page in the order Hacker News shows them, one page per call, with a next_page number while more pages exist. Only you can see this list, so it needs your session.
MCP callhacker_news_read → list_upvoted_items
REST endpointGET https://cotlet.dev/api/v1/hacker-news/upvoted-items
| Name | Type | Description |
|---|---|---|
| comments boolean | boolean | true lists upvoted comments instead of stories. Default false |
| page integer | integer | Page of the list, starting at 1. Default 1 |
{
"items": [
{
"id": 45012345,
"title": "Show HN: A tiny SQLite sync engine",
"site": "example.dev",
"points": 412,
"comments": 96,
"by": "quillmark",
"age": "2 days ago"
},
{
"id": 45009876,
"title": "Why we left our message queue",
"site": "example.org",
"points": 188,
"comments": 54,
"by": "denny_ro",
"age": "3 days ago"
},
{
"id": 45003210,
"title": "Notes on running Postgres at small scale",
"site": "example.net",
"points": 97,
"comments": 31,
"by": "lukasz_k",
"age": "5 days ago"
}
],
"next_page": 2
} Returns your favorites in the order Hacker News shows them, one page per call. Favorites are the list you build with the favorite link on an item page. The list is public on Hacker News, and this tool reads it through your session.
MCP callhacker_news_read → list_favorites
REST endpointGET https://cotlet.dev/api/v1/hacker-news/favorites
| Name | Type | Description |
|---|---|---|
| comments boolean | boolean | true lists favorite comments instead of stories. Default false |
| page integer | integer | Page of the list, starting at 1. Default 1 |
{
"items": [
{
"id": 44998877,
"title": "The cost of a cold start",
"site": "example.dev",
"points": 240,
"comments": 73,
"by": "ivo_b",
"age": "1 week ago"
}
],
"next_page": null
} Public on Hacker News, but read as you: one call gives reply counts, points and whether an item is in your favorites.
Returns the account behind the Cloud Browser session. It is the call to make first to check that the session is signed in and which username the other tools act for.
MCP callhacker_news_read → get_my_profile
REST endpointGET https://cotlet.dev/api/v1/hacker-news/my-profile
No parameters.
{
"username": "maya_dev",
"karma": 1284,
"created": "2019-03-14",
"about": "Building small tools."
} Returns your comments newest first, each with the story it sits under and a reply_count. Use get_item on a comment id to read the replies.
MCP callhacker_news_read → list_my_comments
REST endpointGET https://cotlet.dev/api/v1/hacker-news/my-comments
| Name | Type | Description |
|---|---|---|
| page integer | integer | Page of the list, starting at 1. Default 1 |
{
"items": [
{
"id": 45013001,
"story_id": 45012345,
"story_title": "Show HN: A tiny SQLite sync engine",
"text": "We tried the same approach and hit clock skew first.",
"reply_count": 2,
"age": "5 hours ago"
}
],
"next_page": null
} Returns your submitted page newest first, one page per call. Each row has the points and the comment count at the time of the call, so run it again later to see how a post moved.
MCP callhacker_news_read → list_my_submissions
REST endpointGET https://cotlet.dev/api/v1/hacker-news/my-submissions
| Name | Type | Description |
|---|---|---|
| page integer | integer | Page of the list, starting at 1. Default 1 |
{
"items": [
{
"id": 44990001,
"title": "Show HN: A tiny SQLite sync engine",
"site": "example.dev",
"points": 412,
"comments": 96,
"by": "maya_dev",
"age": "2 weeks ago"
}
],
"next_page": null
} Returns the item and its replies in the ranked order Hacker News shows. Signed in, it also tells you whether the item is in your favorites.
MCP callhacker_news_read → get_item
REST endpointGET https://cotlet.dev/api/v1/hacker-news/item
| Name | Type | Description |
|---|---|---|
| id integer required | integer | Item id, the number after id= in the item URL |
| depth integer | integer | How many levels of replies to return. Default 2 |
{
"id": 1
} {
"id": 45012345,
"type": "story",
"title": "Show HN: A tiny SQLite sync engine",
"by": "quillmark",
"points": 412,
"comment_count": 96,
"favorited": false,
"comments": [
{
"id": 45012900,
"by": "denny_ro",
"text": "How does it handle clock skew between devices?",
"replies": [
{
"id": 45013001,
"by": "maya_dev",
"text": "We tried the same approach and hit clock skew first.",
"replies": []
}
]
}
]
} Both change only your own view and the same tool undoes them. Nothing here votes, flags, vouches or posts.
Changes only your own favorites list. It reaches nobody and one call undoes it, so it does not wait for your OK. It does not vote on the item.
MCP callhacker_news_write → favorite_item
REST endpointPOST https://cotlet.dev/api/v1/hacker-news/item/favorite
| Name | Type | Description |
|---|---|---|
| id integer required | integer | Item id |
| favorite boolean | boolean | false removes it from your favorites. Default true |
{
"id": 45012345,
"favorite": true
} {
"id": 45012345,
"favorited": true
} Hacker News removes a hidden submission from your personal view only; others still see it. It reaches nobody and one call undoes it, so it does not wait for your OK.
MCP callhacker_news_write → hide_item
REST endpointPOST https://cotlet.dev/api/v1/hacker-news/item/hide
| Name | Type | Description |
|---|---|---|
| id integer required | integer | Story id |
| hide boolean | boolean | false shows the story again. Default true |
{
"id": 1
} {
"id": 45001111,
"hidden": true
} Your logged-in Hacker News profile, AES-256-GCM, in Finland. Not your password.
The 9 Hacker News tools, never the session cookie.
Your account: upvoted and hidden lists, favorites, threads, karma.
Votes, flags, vouches, comments, submissions, profile and password.
You get an email with a link to log in again. We never type it for you.
Disable for agents, reset the browser or delete the API key.
cotlet.dev scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). We have no SOC 2 report or third-party pentest yet.
"In connection with your use of the Site you will not engage in or use any data mining, robots, scraping or similar data gathering or extraction methods."
The HN guidelines go further on posting: "please don't automate posting" and, since 12 Mar 2026, "Don't post generated text or AI-edited text." That is why Cotlet has no tool to upvote, comment or submit, and never will. Moderators do ban accounts for AI-written comments. We found no public case of a ban for reading your own lists or for favoriting and hiding (checked 28 Oct 2026). Reading through any tool is still automation under the terms above.
The FAQ says an IP that requests many pages quickly may get banned, and the terms forbid getting round a block with another IP. Read a long upvote history over a few days, not in one go.
Hacker News changes its pages rarely, but a new field on the upvoted page or a moved hide link would break a tool that reads them. The repair happens on our side. status.cotlet.dev watches the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Favorite an item | Yes, favorite_item with favorite false |
| Hide a story | Yes, hide_item with hide false |
| Upvote, comment, submit | No tool does these |
None of the 9 tools waits for your OK. The 2 writes change only your own favorites and hidden list, other readers see no difference, and one call reverses each. Enable Hacker News read only if you want no writes at all.
Favorites are public on your profile. Favoriting a story shows it there to anyone who looks.
{
"name": "favorite_item",
"arguments": {
"id": 45012345,
"favorite": true
}
} curl -X POST https://cotlet.dev/api/v1/hacker-news/item/favorite \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id":45012345,"favorite":true}' {
"id": 45012345,
"favorited": true
} Scripts and cron jobs call the same tools over REST at /api/v1/hacker-news, with the same key and price. An item id that does not exist fails, and a failed call costs nothing. The tools table lists the REST path of each tool.
About $19 a monthfor a reader who checks replies daily and digests upvotes weekly, 3,320 credits. Hacker News itself is free.
| Job | Calls | Credits |
|---|---|---|
| Check replies to my comments, daily | 3 × 30 | 900 |
| Digest of upvoted stories, weekly | 11 × 4 | 440 |
| Favorites sorted by topic, weekly | 6 × 4 | 240 |
| Favorite or hide what I picked, weekly | 5 × 4 | 200 |
| How my submissions did, monthly | 4 × 1 | 40 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 3,320 |
Hacker News publishes no per-user numbers, so the month is our example: about 10 upvotes a week, a few comments, a submission now and then. The Cloud Browser is close to half the bill; a weekly digest alone costs less. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| erithwik/mcp-hn | Python MCP server on the public API, 76 stars, MIT: front page, Ask and Show HN, threads, search, users. | No login, so none of your lists. Last commit 14 Jul 2025. |
| pskill9/hn-server and about a dozen more | Node, Rust and Python servers, 10 to 40 stars, reading the public API or HN's HTML. | Public data only, on your own computer. |
| sidoshi/karakeep-sync | Copies your upvotes into Karakeep every day, 147 stars, MIT. | Not an MCP server; your user cookie sits in its config; upvotes only. |
| Composio, MCPBundles | Hosted MCP with 14 and 10 read tools on the Firebase and Algolia APIs. | Public data only, no Hacker News login. |
| hnrss.org and the n8n Hacker News node | RSS of anyone's favorites; n8n gets items, articles and users. | Favorites feed has posts, not comments; n8n reads public data only. |
For the front page, search and public threads, take a free GitHub server or Composio and skip Cotlet. To feed upvotes into a bookmark app, karakeep-sync does it with a cookie you manage. Pick Cotlet when your agent should read your upvoted, hidden and favorite lists and keep them in order without you running anything.
Behind Cotlet is Take Group sp. z o.o., a Polish software company in the EU (VAT PL6342984273) that has worked since 2019. Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing) founded it. Questions about the Hacker News tools go to contact@cotlet.dev.
Make a free account at https://cotlet.dev, open Hacker News under Integrations in the console and log in to Hacker News in its Cloud Browser. The trial starts with your first app, no card.
Sign up at cotlet.dev, log in to Hacker News once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Hacker News account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Hacker News: weekly digest of upvoted stories; track replies to my comments; turn upvotes into a reading list. You ask in plain words, and anything that reaches other people waits for your OK first.
No. Cotlet has no tool for these. The Hacker News guidelines say "please don't automate posting" and "don't post generated text or AI-edited text". The agent reads your lists and threads and keeps your favorites and hidden items in order; you write and vote yourself. See the guidelines in the sources.
No. Stories, comments and users are public through the official API, and a plain MCP server or script can read them without a login. Cotlet adds the lists that exist only behind your login: upvoted and hidden items, plus favorite and hide.
No, there is no search tool. HN Search by Algolia does that for free without a key, up to 10,000 requests an hour per IP, and the free GitHub servers wrap it. Cotlet is for the lists behind your login.
No. The Firebase API can push changes to public items, but nothing tells an agent about a new reply to you or a change in your lists. Run your agent on a schedule, for example a daily list_my_comments pass.
Only the way in differs. Both carry the same 9 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.
No. Cotlet is independent and not affiliated with Hacker News or Y Combinator.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy