# Keith APIs: web to Markdown, OG images, job & resume parsing, ratings (npm · keith-apis-mcp)

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

- Trust score: 69/100 (medium)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `keith-apis-mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/keithhk-keith-apis-mcp/keith-apis-mcp.md), [page](https://verifymcp.io/servers/keithhk-keith-apis-mcp/keith-apis-mcp)

## Channel facts

- Registry: `npm`
- Package: `keith-apis-mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 92 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 9 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1001 tokens (~91/item across 11 items; 11 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 94/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 81% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the Keith APIs: web to Markdown, OG images, job & resume… MCP server?

Keith APIs: web to Markdown, OG images, job & resume… runs locally as an npm package, launched with npx -y keith-apis-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add keithhk-keith-apis-mcp -- npx -y keith-apis-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "keithhk-keith-apis-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "keith-apis-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "keithhk-keith-apis-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "keith-apis-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add keithhk-keith-apis-mcp -- npx -y keith-apis-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "keithhk-keith-apis-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "keith-apis-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add keithhk-keith-apis-mcp --command npx --arg -y --arg keith-apis-mcp
```

### Hermes

```yaml
mcp_servers:
  keithhk-keith-apis-mcp:
    command: "npx"
    args: ["-y", "keith-apis-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "keithhk-keith-apis-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "keith-apis-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add keithhk-keith-apis-mcp -t stdio -c npx -a -y keith-apis-mcp
```

### Other

```json
{
  "mcpServers": {
    "keithhk-keith-apis-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "keith-apis-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-27 (score 69, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-26 (score 54)

First indexed and scored.

## MCP tools (11)

### `fetch_url_as_markdown` (~126 tokens)

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.

Input parameters:

- `include_images` (boolean): Keep images in the Markdown (default false)
- `include_links` (boolean): Keep hyperlinks in the Markdown (default false)
- `max_chars` (integer): Truncate the Markdown (default 100,000)
- `url` (string, required): http(s) URL of the page

### `html_to_markdown` (~81 tokens)

HTML to Markdown

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

Input parameters:

- `base_url` (string): URL the HTML came from, used to resolve relative links
- `html` (string, required): The page's HTML
- `include_images` (boolean)
- `include_links` (boolean)
- `max_chars` (integer)

### `get_link_preview` (~51 tokens)

Link preview

Get a link preview for a URL: title, description, canonical URL, images, favicon, site name, Open Graph and Twitter card tags.

Input parameters:

- `url` (string, required): http(s) URL to preview

### `generate_og_image` (~123 tokens)

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.

Input parameters:

- `badge` (string): Small label above the title, e.g. NEW or GUIDE
- `footer` (string): Bottom-left text, usually a domain
- `subtitle` (string): Second line under the title
- `theme` (string): Colour theme (default dark)
- `title` (string, required): Headline, wraps to up to 3 lines

### `parse_job_posting` (~119 tokens)

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.

Input parameters:

- `company` (string): Company name
- `description` (string): Full job description, text or HTML; salary, skills and flags come from it
- `location` (string): Location as posted, e.g. 'Remote - US' or 'Hybrid (London)'
- `title` (string, required): Job title exactly as posted

### `parse_job_postings_batch` (~38 tokens)

Parse job postings (batch)

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

Input parameters:

- `postings` (array, required)

### `parse_resume` (~97 tokens)

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.

Input parameters:

- `file_path` (string): Path to a local PDF, DOCX or TXT file
- `text` (string): The resume as plain text

### `match_resume_to_job` (~76 tokens)

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.

Input parameters:

- `job` (object, required): The job posting
- `resume` (required): The resume as plain text, or the JSON returned by parse_resume

### `rate_matches` (~146 tokens)

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.

Input parameters:

- `algorithm` (string): openskill (default, Weng-Lin, for teams and free-for-alls), glicko2, elo, or custom (Club Points)
- `matches` (array, required)
- `params` (object): Algorithm parameter overrides, e.g. {"k": 24} for Elo
- `players` (object): Ratings from a previous rate_matches call, keyed by player id; unknown players start at the default

### `predict_match` (~119 tokens)

Predict a matchup

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

Input parameters:

- `algorithm` (string): openskill (default, Weng-Lin, for teams and free-for-alls), glicko2, elo, or custom (Club Points)
- `params` (object): Algorithm parameter overrides, e.g. {"k": 24} for Elo
- `players` (object): Ratings from a previous rate_matches call, keyed by player id; unknown players start at the default
- `teams` (array, required)

### `list_rating_algorithms` (~25 tokens)

List rating algorithms

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

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/keithhk-keith-apis-mcp/keith-apis-mcp#diagnostics

## Score history

- 2026-11-05: 69
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 69
- 2026-11-01: 69
- 2026-10-31: 69
- 2026-10-30: 69
- 2026-10-29: 69
- 2026-10-28: 69
- 2026-10-27: 69
- 2026-10-26: 54

## Common questions

### What is the Keith APIs: web to Markdown, OG images, job & resume… MCP server?

Keith APIs: web to Markdown, OG images, job & resume… is an MCP server listed in the public MCP registry as io.github.Keithhk/keith-apis-mcp. Web page to Markdown, link previews, OG images, job and resume parsing, Elo/Glicko-2 ratings. This page covers its npm package (keith-apis-mcp).

### Is the Keith APIs: web to Markdown, OG images, job & resume… MCP server safe to use?

Keith APIs: web to Markdown, OG images, job & resume… scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Keith APIs: web to Markdown, OG images, job & resume… MCP server expose?

Keith APIs: web to Markdown, OG images, job & resume… exposes 11 tools: fetch_url_as_markdown, html_to_markdown, get_link_preview, generate_og_image, parse_job_posting, and 6 more. Their descriptions and schemas cost roughly 1,001 tokens of context every time the server is loaded.

### Is the Keith APIs: web to Markdown, OG images, job & resume… MCP server still maintained?

Keith APIs: web to Markdown, OG images, job & resume… is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Keith APIs: web to Markdown, OG images, job & resume… MCP server under?

Keith APIs: web to Markdown, OG images, job & resume… declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/keith-apis-mcp
- Socket report: https://socket.dev/npm/package/keith-apis-mcp
- Repository: https://github.com/Keithhk/keith-apis-mcp
- Changelog RSS feed: https://verifymcp.io/servers/keithhk-keith-apis-mcp/keith-apis-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/keithhk-keith-apis-mcp/keith-apis-mcp.json
- HTML version of this page: https://verifymcp.io/servers/keithhk-keith-apis-mcp/keith-apis-mcp
