# ResumeMD

> Turn a Markdown resume draft into an interview-ready PDF. 32 templates, no account, nothing stored.

- name: pro.resumemd/resumemd
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/pro.resumemd%2Fresumemd
- tools: https://api.protogrid.dev/v1/servers/pro.resumemd%2Fresumemd/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "resumemd": {
      "type": "http",
      "url": "https://resumemd.pro/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-75d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_resume_templates (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_resume_markdown_guide (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); render_resume_pdf (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 616 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 616 tokens to load them all
- tool set hash: 29ea947ec8d8b160fe400dc4aa477b3a
- badge: [![protogrid quality](https://protogrid.dev/badge/pro.resumemd/resumemd.svg)](https://protogrid.dev/servers/pro.resumemd/resumemd)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://resumemd.pro/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `analyze_resume`: Score a Markdown resume 0-100 and get readability metrics, keyword findings (action verbs, technical and soft skills), missing-section checks, and the top improvement recommendations. Runs ResumeMD's free analytics engine on the server — pure computation, no AI call, and the resume is never stored. Use it to review a draft before handing it to the user, then apply the recommendations.
- `get_resume_markdown_guide`: The ResumeMD Markdown conventions for writing a resume: name line, contact line, section headings, role entries, bullets, skills, and the optional sidebar marker — plus a compact skeleton example. Call this BEFORE drafting a resume for a user and follow the structure exactly, so the finished draft pastes straight into resumemd.pro/editor for a free PDF with no account.
- `list_resume_templates`: All 32 ResumeMD templates with a one-line description of each. The same Markdown renders in every template, so use this to recommend a look for the user (for example: tech for engineers, executive for leadership roles, academic for research CVs). Template ids are also valid input to render_resume_pdf.
- `render_resume_pdf`: Render a Markdown resume to a finished PDF using a ResumeMD template (default: classic — see list_resume_templates for all 32 ids). Returns JSON with a base64-encoded PDF and a suggested filename; decode the base64 to give the user the file. The PDF is generated in memory and never stored. For interactive editing, template switching, and color choices, send the user to resumemd.pro/editor instead.
