Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

ResuStack

by koksalkapucuogluversion 1.0.0i★ –iRuns in the cloud
Registry namecom.resustackapp/resustack

Install

Overview

Description from the maker (original English)

Build, version and render resumes as PDFs from Claude or any MCP client.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Other
  • You need to fill in: Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 0 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Run this in your terminal

claude mcp add --transport http resustack https://resustackapp.com/mcp --header 'Authorization: your-value'

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "resustack": {
      "url": "https://resustackapp.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "resustack": {
      "type": "http",
      "url": "https://resustackapp.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • Authorization secret required HTTP header
    Bearer token from your ResuStack Profile page (Profile > API token).

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ! Caution

    Maker matches the repo

    The publisher (resustackapp.com) is not the repo owner (koksalkapucuoglu); someone else may have listed it

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32484 servers in this category
  • Published to the registry more recently than 42% of the other 32484 servers in this category
  • Basic checks equal to or better than 33% of the other 32484 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is ResuStack safe?

It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Recta

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

Recta

by RectaBuild

Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.

Computer or cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

ResuStack

ResuStack is an AI resume builder. Import a PDF or your LinkedIn profile, pick one of 14 designs, and edit by form or by chat — in the browser, or straight from Claude through its MCP server. Every change is reversible, and the PDF you download is rendered from the same template as the live preview.

🔗 Live: resustackapp.com


✨ Features

Resume builder
  • PDF import — upload an existing resume or a LinkedIn profile PDF (told apart automatically); AI extracts and structures it and flags anything the file does not support
  • Split-pane editor — the form on the left, a live preview on the right, with page breaks where the PDF will break
  • 14 designs on 6 layouts — single column, banner, label gutter, header grid, left sidebar and right rail; ATS-safe designs are marked, and switching keeps your content
  • English and Turkish resumes — headings, "Present", month names and degree phrasing print in the language the resume is written in
  • "What I'm working on" — an optional section above Education, shown only when you tick it
  • Sign in with Google — or with a username and password; email sign-ups can import their first PDF at once and confirm their address before the other AI features
  • PDF export — rendered with WeasyPrint from the same template the preview uses
AI
  • One-click enhance — rewrites experience and project descriptions into stronger bullet points
  • Start from scratch in chat — the assistant creates the resume and fills it in as you answer
Agentic mode
  • Edit by chatting — *"Make my last role sound more senior"*; the agent uses tools, streams its progress and asks for approval before destructive actions
  • Template pane — pick a design for the active resume without leaving the chat
  • Undo — revert the last change from the conversation
Change history
  • A restore point before every save and every AI or MCP edit
  • Diff any version against the current one, and restore it — on every plan
Job postings
  • Score a resume against a posting, requirement by requirement, with where the evidence is
  • Job copy — improve a copy for one posting while the main resume stays as it is
  • Improve the gaps — answer a question per gap, review drafted lines, apply, see the score move
Language versions
  • Translate a resume in place, or create a translated copy linked to the original

🤖 Use ResuStack from Claude (MCP)

ResuStack is a Model Context Protocol server. Claude — or any MCP client with Streamable HTTP and custom headers — writes the resume; ResuStack stores it, versions it and renders it.

1. Create a token. Sign in, open Profile → API token, and create one. It is shown once; replacing it revokes the old one. The Profile page also shows the endpoint address to use.

2. Add the server. With Claude Code:

claude mcp add --transport http resustack https://resustackapp.com/mcp --header "Authorization: Bearer YOUR_TOKEN"

Authentication is a bearer token only; session cookies are not accepted on this endpoint.

3. Ask. *"List my resumes"*, *"Switch my CV to the Label Gutter design and give me the PDF"*, *"Fill What I'm working on from what we did this month."*

Tools
ToolWhat it does
list_resumesResumes on the account: id, title, language, template
get_resumeThe full stored content of one resume
create_resumeCreate a resume from structured content
update_resumeReplace a resume's content (read it first — this is a replace, not a merge)
set_focus_areasSet only the "What I'm working on" section; the rest of the resume is untouched
list_templatesThe designs, with a description and whether each is ATS-safe
set_templateChange a resume's design
render_pdfA download link for the PDF — single use, expires in 10 minutes
check_quotaWhat the account has left this month
Prompts
PromptWhat it does
focus_areas_from_my_workHas the client's model summarise the work you have actually done — from the conversations it can see — into a few lines, show them to you, and save them with set_focus_areas only after you approve
Safety rules
  • Every write takes a restore point first; you can undo it on the website
  • There is no delete tool — removing a resume stays on the website, where a person clicks
  • Every query is scoped to the token's owner
  • Rate limited per account
Listing in the MCP Registry

server.json at the repository root describes the server for the official MCP Registry as com.resustackapp/resustack. Publishing under that name requires proving ownership of resustackapp.com with a file served at /.well-known/mcp-registry-auth:

  1. Generate a key pair locally. Never commit key.pem (it is in .gitignore):
   openssl genpkey -algorithm Ed25519 -out key.pem
  1. Print the proof record and set it as the MCP_REGISTRY_AUTH environment variable in Dokploy, then redeploy:
   echo "v=MCPv1; k=ed25519; p=$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)"
  1. Check it is live:
   curl https://resustackapp.com/.well-known/mcp-registry-auth
  1. Log in and publish from the repository root:
   mcp-publisher login http --domain resustackapp.com --private-key "$(openssl pkey -in key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n')"
   mcp-publisher publish

Bump version in server.json (and SERVER_INFO in mcp_server/protocol.py) for each new listing.


📸 Screenshots

Editor — form, live preview and the template pane
Choosing a design
Agentic mode
Dashboard

💳 Plans

Free to start. Pro is a one-time purchase for a period — no subscription.

Free planLimit
AI credits (import, AI rewrite, improvement draft, chat message)30 / month
PDF downloads5 / month
Resumes (language versions are free)3
Job copies3

Pro ($9 for 3 months, $24 for 12 months, one-time) removes these limits. Payments are handled by Paddle, the merchant of record. Limits live in FREE_TIER_LIMITS in core/settings.py; see the pricing page.


🚀 Running locally

Prerequisites
  • Docker & Docker Compose
  • An OpenAI API key
1. Clone and configure
git clone https://github.com/koksalkapucuoglu/resume-enhance.git
cd resume-enhance && cp .env.example .env
VariableDescriptionExample
OPENAI_API_KEYOpenAI API keysk-proj-...
SECRET_KEYDjango secret keyany long random string
DEBUGDebug modeTrue
ALLOWED_HOSTSAllowed hostslocalhost,127.0.0.1
POSTGRES_DB / POSTGRES_USER / POSTGRES_PASSWORDDatabase credentialspostgres
POSTGRES_HOST / POSTGRES_PORTDatabase addressdb / 5432
EMAIL_HOST_USER / EMAIL_HOST_PASSWORDSMTP credentials for password resets and email verification; for Gmail, an app passwordyou@gmail.com / app password
EMAIL_HOST / EMAIL_PORT / EMAIL_USE_TLS / EMAIL_USE_SSLSMTP server; defaults to Gmail (smtp.gmail.com, 587, TLS). For implicit TLS on 465, set EMAIL_USE_SSL=Truesmtp.gmail.com / 587 / True / False
DOWNLOAD_LINK_MAX_AGESeconds a signed PDF link stays valid (optional)600
GOOGLE_OAUTH_CLIENT_ID / GOOGLE_OAUTH_CLIENT_SECRETGoogle sign-in; the button stays hidden until both are set (optional)from Google Cloud Console
DEFAULT_FROM_EMAILSender for account emails; defaults to EMAIL_HOST_USER (optional)ResuStack
MCP_REGISTRY_AUTHMCP Registry domain proof served at /.well-known/mcp-registry-auth (optional, public key only)v=MCPv1; k=ed25519; p=...
PAYMENT_STATUScoming_soon shows plans without taking payment; live enables checkoutcoming_soon
PAYMENT_PROVIDER, PAYMENT_WEBHOOK_SECRET, CHECKOUT_URL_*, PRODUCT_ID_*Payment provider settings (optional)
2. Start
docker compose up --build

The app runs at http://localhost:8000.

3. Run the tests
docker compose exec web python manage.py test resume mcp_server

WeasyPrint and OpenAI are mocked in the unit tests; no API calls are made.


☁️ Deployment

Production runs on [Dokploy](https://dokploy.com). Every push to main triggers a deploy through a GitHub webhook: Dokploy builds the Dockerfile, and entrypoint.sh runs migrate and collectstatic before starting Gunicorn. Traefik handles HTTPS.

Setting it up on a new server:

  1. Install Dokploy: curl -sSL https://dokploy.com/install.sh | sh
  2. Open http://YOUR_SERVER_IP:3000 and create an admin account
  3. Create a project → add an Application → connect this GitHub repository
  4. Add a PostgreSQL service in the same project
  5. Set the environment variables (see .env.example and .claude/integrations/) and the domain, then deploy

Notes:

  • Leave Dokploy's Run Command empty — the Dockerfile's ENTRYPOINT does everything
  • Behind Cloudflare's proxy, set Dokploy's domain encryption to None and Cloudflare SSL to Full
  • The image installs the fonts the resume designs use; nothing is fetched at render time

🔑 Google sign-in

Sign-in with Google uses django-allauth. ResuStack's own login, sign-up and password pages stay in charge; allauth adds only the Google flow.

  1. In Google Cloud Console, configure the OAuth consent screen (External), with the privacy policy URL https://resustackapp.com/privacy/ and only the openid, email and profile scopes.
  2. Create an OAuth client ID of type *Web application* with:
  • Authorized JavaScript origin: https://resustackapp.com
  • Authorized redirect URI: https://resustackapp.com/accounts/google/login/callback/
  • For local development, also http://localhost:8000/accounts/google/login/callback/
  1. Set GOOGLE_OAUTH_CLIENT_ID and GOOGLE_OAUTH_CLIENT_SECRET and redeploy.

How it behaves:

  • A Google account is never attached to an existing ResuStack account because the email matches — local addresses were never verified. Existing users connect Google from their Profile page while signed in.
  • New Google users pass through a short step to pick a username and give consent to transfers abroad.
  • Google accounts with an unverified email are refused.
  • Accounts created with an email address work at once, but AI features stay locked until the address is confirmed (soft verification). Accounts created before this existed are not affected.

🔒 Privacy

What ResuStack collects, who processes it (including OpenAI for AI features) and how to delete it: resustackapp.com/privacy. The Turkish version, written as the KVKK information notice, is at resustackapp.com/gizlilik. Users can delete their account and all its data from the Profile page.


🏗️ Architecture

Monolithic Django: views, an MCP endpoint, WeasyPrint for PDFs, OpenAI for writing, TypeSafe Jev for scores and checks, Paddle for payments, Sentry and PostHog (both optional) for errors and the product funnel. Resume content is a single JSONField; every design comes from one catalogue in resume/resume_templates.py. The full guide — conventions, patterns and pitfalls — is in .claude/CLAUDE.md; every in

Only the beginning is shown; read the rest in the repo

Ask PopNx