Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Kardow

FreeNot checked

Connect Claude, ChatGPT, Cursor, and Codex to your Kardow job board over MCP.

GitHubEmbed

About

Connect Claude, ChatGPT, Cursor, and Codex to your Kardow job board over MCP.

README

A remote MCP (Model Context Protocol) server that lets Claude (and any other MCP client) work with a Kardow job board: scrape and post jobs, look up employers, approve pending jobs, and pull analytics.

It is a thin wrapper around the public Kardow API (api.kardow.com, the /api/external/* routes in apps/web). Every tool call is authenticated with a regular Kardow API key, so permissions and rate limits are exactly the same as the REST API.

Tools

Tool What it does
scrape_job_from_url Fetches a job posting page and returns its text so the model can extract structured fields
find_employer Searches employer accounts by name/email (for posted_by_email)
create_job Creates a job posting
list_jobs Lists jobs with search and filters
get_job Full details of one job
update_job / delete_job Update (approve/fix/expire) or permanently delete a job
list_categories List job categories (assign one by name on create_job)
list_applications List candidate applications, filterable by job and status
get_analytics Visitors, pageviews, top jobs, top sources
list_pages / get_page Browse custom pages and blog posts (body returned as HTML)
create_page / update_page Create or edit a page or blog post from HTML content
list_authors / create_author Manage blog bylines
list_assets / upload_asset Search the media library, or import an image URL and get a hosted cdn.kardow.com link

Architecture

  • Cloudflare Worker using the agents SDK (McpAgent). Each MCP session runs in a Durable Object, which is why wrangler.jsonc has the MCP_OBJECT binding and a new_sqlite_classes migration.
  • Two endpoints: /mcp (Streamable HTTP, current protocol) and /sse (legacy SSE for older clients).
  • Multi-tenant by design: the Kardow API key is resolved per request, so one deployment serves every customer board. Resolution order:
    1. Authorization: Bearer <key> header
    2. ?key=<key> query parameter (for clients that cannot send custom headers, like claude.ai connectors)
    3. KARDOW_API_KEY worker secret (optional fallback for a single-board setup)

Customers create API keys in their dashboard under Settings > API.

Deploy

cd apps/mcp
npm install
npx wrangler deploy

That gives you https://kardow-mcp.<account>.workers.dev. Optional extras:

# Optional fallback key for your own testing (not needed for customers)
npx wrangler secret put KARDOW_API_KEY

# Local dev
npm run dev

To serve it from a nicer hostname (e.g. mcp.kardow.com), add a custom domain to the worker in the Cloudflare dashboard (Workers & Pages > kardow-mcp > Settings > Domains & Routes), or add to wrangler.jsonc:

"routes": [{ "pattern": "mcp.kardow.com", "custom_domain": true }]

How customers connect

The server is served at the root, so the connect URL is just https://mcp.kardow.com. (The /mcp path still works too, for back-compat.)

Claude Desktop / claude.ai (custom connector)

Settings > Connectors > Add custom connector, with the key in the URL (these clients cannot send custom headers):

https://mcp.kardow.com?key=<api-key>

Leave the OAuth fields blank. The key is in the connector URL, so treat that URL as a secret.

Claude Code

claude mcp add --transport http kardow https://mcp.kardow.com --header "Authorization: Bearer <api-key>"

Cursor / other MCP clients

Any client that supports remote MCP servers works; point it at https://mcp.kardow.com (or /sse for older SSE-only clients) with either the header or the ?key= query parameter.

Example prompts once connected

  • "Post this job to my board: https://careers.example.com/jobs/123"
  • "List my pending jobs and publish the ones from Acme Corp"
  • "How did my board perform in the last 30 days vs the previous period?"

from github.com/Kardow/kardow-mcp

Installing Kardow

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/Kardow/kardow-mcp

FAQ

Is Kardow MCP free?

Yes, Kardow MCP is free — one-click install via Unyly at no cost.

Does Kardow need an API key?

No, Kardow runs without API keys or environment variables.

Is Kardow hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Kardow in Claude Desktop, Claude Code or Cursor?

Open Kardow on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Kardow with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs