Keith APIs: web to Markdown, OG images, job & resume parsing, ratings

io.github.KeithhkPublished by GitHub account Keithhkv0.1.1Updated Nov 2, 2026

Web page to Markdown, link previews, OG images, job and resume parsing, Elo/Glicko-2 ratings

Overview

AI-generated overview

Local MCP server exposing eleven tools from five hosted RapidAPI services: web page to Markdown, link previews, OG images, job and resume parsing, and skill…

What you can do
  • Fetch a public web page as clean Markdown, or convert HTML you already have into Markdown
  • Get link previews with title, description, images, favicon and Open Graph/Twitter tags
  • Generate a 1200x630 PNG Open Graph share image from a title
  • Parse job postings (single or up to 20 in a batch) into structured fields such as seniority, salary, remote regions and skills
  • Parse a resume from text or a local PDF/DOCX/TXT file, and score it against a job posting with matched and missing skills
  • Compute Elo, Glicko-2 or OpenSkill ratings from match results, predict win probabilities and match quality, and list supported algorithms
When to use it
Useful when an assistant needs to read web articles or docs as token-efficient Markdown, build link previews or share images, screen resumes against job ads, or run skill ratings and match predictions for a league or game.
Requirements
Runs locally via npx, so Node.js 18 or newer is needed. A RapidAPI key supplied as the RAPIDAPI_KEY environment variable is required, and you must subscribe to each API you want to use (free plans available); tools for unsubscribed APIs return a not-subscribed error. Network access to RapidAPI is needed.
Before you install
The RAPIDAPI_KEY is a secret credential and should be kept out of shared configs. Requests, including resume contents and local file paths you pass, are sent to third-party APIs through RapidAPI; the README says they are not stored, but that is the provider's claim. Some APIs may be paid beyond free plans, and generated images or fetched pages consume API quota.

Installation

In SourceWeft

  1. Open Keith APIs: web to Markdown, OG images, job & resume parsing, ratings in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

keith-apis-mcp: web page to Markdown, OG images, job and resume parsing, Elo ratings

keith-apis-mcp is an MCP (Model Context Protocol) server that gives AI assistants such as Claude, Cursor and ChatGPT eleven tools from five small hosted APIs: read any web page as clean Markdown, get link previews, generate Open Graph share images, parse job postings and resumes, score a resume against a job, and compute Elo, Glicko-2 or OpenSkill ratings. One RapidAPI key works for all of them, and each API has a free plan.

Tools

ToolWhat it doesAPI
fetch_url_as_markdownFetch a page and return its main content as clean Markdown (for reading, summarising, RAG)Web Page API
html_to_markdownConvert HTML you already have to MarkdownWeb Page API
get_link_previewTitle, description, images, favicon, Open Graph and Twitter card tagsWeb Page API
generate_og_image1200×630 PNG Open Graph image from a title (returned as an image)OG Image API
parse_job_postingJob ad → seniority, job function, remote regions, annualised salary, skillsJob Posting Parser
parse_job_postings_batchUp to 20 postings in one callJob Posting Parser
parse_resumeResume (text, or a local PDF / DOCX / TXT file) → structured JSONResume Parser + Job Match
match_resume_to_job0–100 fit score with a breakdown and missing skillsResume Parser + Job Match
rate_matchesRatings from match results: OpenSkill, Glicko-2 or Elo; 1v1, teams, free-for-allsSkill Rating API
predict_matchWin probability and match quality for a matchupSkill Rating API
list_rating_algorithmsSupported algorithms and their parametersSkill Rating API

Setup

  1. Get a RapidAPI key and subscribe (free plans available) to the APIs you want, from each API's page linked above.
  2. Add the server to your client with your key as RAPIDAPI_KEY.

Claude Code

bash
claude mcp add keith-apis -e RAPIDAPI_KEY=your-key -- npx -y keith-apis-mcp

Claude Desktop, Cursor, Windsurf and other clients (claude_desktop_config.json, .cursor/mcp.json, ...):

json
{  "mcpServers": {    "keith-apis": {      "command": "npx",      "args": ["-y", "keith-apis-mcp"],      "env": { "RAPIDAPI_KEY": "your-key" }    }  }}

Requires Node.js 18 or newer.

Example prompts

  • "Read https://example.com/blog/post as Markdown and summarise it in five bullets."
  • "Make an OG image titled 'Release notes: October' with the light theme and footer example.com."
  • "Parse this job ad and tell me the salary range per year and whether it's open to Europe."
  • "Score my resume at ~/cv.pdf against this job description and list the skills I'm missing."
  • "Here are our league results; rank the players with Glicko-2 and predict next week's final."

Free tools

Try two of the APIs in a browser, with no key:

Privacy

The server runs on your machine and sends each request only to the API it uses, through RapidAPI. The APIs are stateless: inputs, including resumes, are processed and returned, never stored or logged.

FAQ

Which tool should an AI agent use to read a web page? fetch_url_as_markdown. It strips navigation, ads and boilerplate, so the model gets the article text at a fraction of the tokens of raw HTML.

Do I need all five subscriptions? No. Subscribe only to the APIs you use; tools for the others return a clear "not subscribed" error.

Can I use these without MCP? Yes. Each API is a normal REST API on RapidAPI, and each also runs as a pay-per-result Actor on the Apify Store.

License

MIT

Source: README.md at commit 4859aad

Tools

11

fetch_url_as_markdown

Web page to Markdown

Fetch a public web page and return its main content as clean Markdown (navigation, ads and boilerplate removed), with the title and metadata. Use it to read an article or docs page for summarising, quoting or RAG. Respects robots.txt.

Parametersurlrequiredmax_charsinclude_linksinclude_images

html_to_markdown

HTML to Markdown

Convert HTML you already have into clean Markdown of its main content. Nothing is fetched.

Parametershtmlrequiredbase_urlmax_charsinclude_linksinclude_images

generate_og_image

Generate Open Graph image

Render a 1200x630 PNG Open Graph (og:image) share image from a title, for link previews on X, LinkedIn, Facebook, Slack and Discord. Returns the image.

Parametersbadgethemetitlerequiredfootersubtitle

parse_job_posting

Parse a job posting

Parse a job ad into structured fields: normalized title, seniority, job function, remote type and allowed regions, salary (min/max, currency, annualised), years of experience, skills and flags.

Parameterstitlerequiredcompanylocationdescription

parse_job_postings_batch

Parse job postings (batch)

Parse 1 to 20 job postings in one call; results come back in the same order.

Parameterspostingsrequired

parse_resume

Parse a resume / CV

Parse a resume into structured JSON: contact details, current title, seniority, job function, experience, education and skills. Give either the text or a local file path (PDF with a text layer, DOCX or TXT, max 5 MB; no OCR). Nothing is stored.

Parameterstextfile_path

match_resume_to_job

Score a resume against a job

Score how well a resume fits a job posting, 0-100, with a breakdown (skills, seniority, job function, experience, location) and the matched and missing skills.

Parametersjobrequiredresumerequired

rate_matches

Rate match results

Compute player skill ratings from match results with OpenSkill, Glicko-2 or Elo. Handles 1v1, teams, free-for-alls and draws. Stateless: pass earlier ratings back in as players to continue.

Parametersparamsmatchesrequiredplayersalgorithm

predict_match

Predict a matchup

Predict each team's win probability and the match quality (how even it is) from current ratings.

Parametersteamsrequiredparamsplayersalgorithm

list_rating_algorithms

List rating algorithms

List the supported rating algorithms and their tunable parameters with defaults and ranges.

Takes no parameters.

Version history

1
  1. v0.1.1LatestOct 26, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts