The Notetakers

The Notetakers API and MCP server

Everything on thenotetakers.com can be read from code, for free. There is no sign up, no API key and no auth. Use whichever fits your tool: a read-only JSON API, an MCP server, or a Markdown copy of every page.

REST API

List or search posts with GET https://thenotetakers.com/api/v1/posts. Results are sorted newest updated first.

  • q: optional string, up to 200 characters. Case-insensitive match against each post's title, description and body. Omit it to list all posts.
  • limit: optional integer, 1 to 50. Defaults to 20.

The response is { "posts": [...] }. Each item has:

  • slug
  • title
  • description
  • url: the canonical HTML URL
  • markdownUrl: the Markdown version of the post
  • updated: the last updated date, as YYYY-MM-DD
curl https://thenotetakers.com/api/v1/posts
curl "https://thenotetakers.com/api/v1/posts?q=free%20plan&limit=5"

Get one post with GET https://thenotetakers.com/api/v1/posts/{slug}. It returns the same fields, plus markdown: the full post as Markdown with YAML frontmatter.

curl https://thenotetakers.com/api/v1/posts/circleback-free-plan

GET https://thenotetakers.com/api is the API index. It lists the entry points: posts, openapi, mcp, docs.

Responses are JSON (application/json), and CORS is open (Access-Control-Allow-Origin: *).

Errors. Errors use RFC 9457 problem details, with content type application/problem+json and the fields type, title, status, detail and instance.

  • 404: unknown slug, or any other path under /api.
  • 400: invalid q or limit, or a slug longer than 200 characters.
  • 405: wrong HTTP method. The response includes an Allow: GET header.

Machine-readable descriptions.

MCP server

Point an MCP client at https://thenotetakers.com/api/mcp. The server is read-only and needs no auth.

The transport is Streamable HTTP: JSON-RPC 2.0 over POST, one message per request, with JSON responses. Any non-POST request returns 405 with Allow: POST.

Supported protocol versions: 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26.

Three tools, all read-only:

  • search_posts: lists every post, or only the posts whose title, description or body match a query, newest updated first. Parameters: query (optional string, up to 200 characters; omit it or leave it empty to list all posts) and limit (optional integer, 1 to 50, default 20).
  • get_post_markdown: returns one post as Markdown with YAML frontmatter, the same document served at the post's .md URL. Parameter: slug (required string, 1 to 200 characters). Get slugs from search_posts.
  • get_llms_txt: returns llms.txt. Parameter: full (optional boolean, default false). Set it to true to get llms-full.txt instead.

Start a session with an initialize request:

curl -X POST https://thenotetakers.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Server card (server name com.thenotetakers/reviews, version 1.0.0): https://thenotetakers.com/.well-known/mcp/server-card.json

llms.txt and Markdown

Versioning

The API is v1, and the version is part of the URL path (/api/v1). Breaking changes ship under a new versioned path such as /api/v2.

Rate limits

There are no published rate limits. API responses are cached for a few minutes, so polling more often than that gains nothing.

Questions

Email hello@thenotetakers.com.