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

JobMojito

by JobMojitoversion 1.5.0i★ –iRuns in the cloud
Registry namecom.jobmojito/jobmojito

Install

Overview

Description from the maker (original English)

Run AI interviews, simulated personas and coaching sessions on JobMojito.

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.

Install

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

Before you install

  • Basic checks: 2 of 2 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

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

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://mcp.jobmojito.com/mcp

Run this in your terminal

claude mcp add --transport http jobmojito https://mcp.jobmojito.com/mcp

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "jobmojito": {
      "url": "https://mcp.jobmojito.com/mcp"
    }
  }
}

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": {
    "jobmojito": {
      "type": "http",
      "url": "https://mcp.jobmojito.com/mcp"
    }
  }
}

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.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://mcp.jobmojito.com/mcp

Menu names can differ slightly by plan and over time.

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

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 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain jobmojito.com (the registry checks domain ownership)

  • … 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

  • ✓ Pass

    Endpoint responds

    Responded in 675 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • … 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 32568 servers in this category
  • Published to the registry more recently than 90% of the other 32568 servers in this category
  • Basic checks equal to or better than 100% of the other 32568 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 JobMojito safe?

It passed 2 of 2 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?

The registry does not list a required key, though some servers ask you to sign in on first use.

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.5.0) reached the registry 3 days 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, FlyDocs

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

FlyDocs

by flydocs.ai

Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.

Runs on your computerUpdated 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.

JobMojito MCP Server

Welcome

JobMojito runs AI-led conversational sessions in three shapes. The difference between them matters, because one tool builds two of them:

  • Interviews — a scored Q&A for hiring. Generate the questions from a job description or supply your own; run them with a voice-only interviewer, a live video avatar or a pre-recorded one, in 30+ languages, with a fully branded candidate experience.
  • Simulated personas — instead of a question list, the avatar plays a defined character in free-form conversation — a sceptical buyer, an angry customer, a difficult stakeholder — and the person is scored on how they handle it. Same invitation, billing and result flow as an interview, so these land in the recruiter's result list alongside everything else.
  • Coaching — the same persona engine pointed at practice rather than assessment. Learners start sessions themselves from a browsable catalogue, pay per second from their own coaching minutes, and their results stay private from recruiters. Organise it with directories, tag filters and Markdown pages.

The one trap. create_persona builds both the second and the third product,

selected by its portal argument — and it defaults to `coaching`. For

anything used to assess or screen, pass portal="interview" explicitly, or you

silently get the wrong product: billed to the wrong credits and invisible to the

recruiter.

Across all three: register candidates in bulk and give each a personal link, upload documents to a knowledge base the AI draws on, read back transcripts, structured analysis and shareable HTML or PDF reports, and manage workspaces, credits and analytics across merchants and sub-merchants.

Everything the platform produces is decision support for a qualified human reviewer — never the hiring decision itself, and candidates are told AI is part of the process.

Around the product: the admin console at app.jobmojito.com, developer/API docs at developer.jobmojito.com, the help center at help.jobmojito.com, and the hosted MCP endpoint this repo powers at https://mcp.jobmojito.com/mcp.

This repository is the MCP server that puts all of that into AI assistants like Claude and ChatGPT.


An MCP server for the JobMojito API, built with FastMCP and designed to deploy on Prefect Horizon (the MCP platform from the FastMCP team — app.prefect.cloud → Horizon).

It exposes:

  • 39 API tools auto-generated from JobMojito's live OpenAPI spec (interviews, simulated personas and the coaching catalogue, candidates and results, knowledge base, merchant lists/analytics, custom reports, portal configuration). All endpoints — including the GET lists — are surfaced as tools with clean, curated names, each with a title and read-only/destructive annotations.
  • 2 documentation tools (search_documentation, get_documentation) that read the developer docs and help center live — docs stay single-source on their existing platforms; nothing is copied into this repo.
  • Supabase OAuth so end users can log in directly from Claude, ChatGPT, etc. The signed-in user's Supabase JWT is forwarded to the JobMojito API on every call.

How it fits together

MCP client (Claude / ChatGPT)

│ OAuth login (Supabase OAuth Server, DCR) ▼ JobMojito MCP server (this repo, on Horizon) │ forwards the user's Supabase JWT ▼ JobMojito API (https://cool.jobmojito.com/functions/v1)

ConcernApproach
API → toolsFastMCP.from_openapi(...), all routes mapped to Tools, curated names via injected operationIds
Spec freshnessFetched live at startup; a runtime cache + committed snapshot are fallbacks
AuthSupabaseProvider (Remote OAuth); per-request JWT forwarding to the upstream API
DocsBuilt-in tools reading developer.jobmojito.com/llms.txt + .md and the help.jobmojito.com (Featurebase) help center
Files
FilePurpose
server.pyEntry point — builds and exposes mcp (point Horizon at server.py:mcp)
config.pyEnvironment-driven settings
openapi_loader.pyLive fetch + cache/snapshot fallback + operationId injection
naming.pyCurated tool names, titles, hints and annotations per endpoint
upstream.pyhttpx client that forwards the user's Supabase JWT to the API
middleware.pyCall logging, upstream-error rewriting, result-size guard, annotation backfill
merchants.pyMerchant picker (MCP App UI) + list_my_merchants text fallback
docs_tools.pysearch_documentation / get_documentation
featurebase.pyFeaturebase REST client (help-center articles)
mintlify.pyMintlify developer-docs MCP proxy + client-credentials auth
tests/test_smoke.py (inventory, schema relaxation, docs) + test_listing_readiness.py (directory contract)
docs/Developer docs: architecture, development, deployment
scripts/update_snapshot.pyRefresh the committed fallback spec
scripts/try_docs.pyLocal smoke test for the documentation tools
data/openapi.snapshot.jsonOffline fallback spec (regenerate from your machine)
lazy_auth.pyUnauthenticated capability discovery + scope= on the 401 challenge
wellknown.py/healthz, OpenAI domain challenge, Smithery server card
server.jsonOfficial MCP Registry entry
.github/workflows/publish-registry.ymlPublishes server.json to the MCP Registry when a push to main changes server.py:SERVER_VERSION (or via manual dispatch)

Local development & testing (macOS)

# 1. Set up a virtualenv and install deps

python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt

2. Configure secrets in .env (auto-loaded; gitignored)

cp .env.example .env # then fill in your keys/credentials

3. Static check — see exactly what Horizon will deploy

fastmcp inspect server.py:mcp

4. Run the unit tests (offline; uses the snapshot fallback)

ENABLE_AUTH=false pytest -q --asyncio-mode=auto

5. Smoke-test the docs tools live (Featurebase + Mintlify federation)

ENABLE_AUTH=false python scripts/try_docs.py "how do I create an interview"

6. Run the server and connect a client

ENABLE_AUTH=false python server.py # → http://localhost:8000/mcp

then, in another terminal, open the MCP Inspector:

npx @modelcontextprotocol/inspector

transport: "Streamable HTTP", URL: http://localhost:8000/mcp

Testing notes:

  • Docs tools (search_documentation, and the mounted Mintlify search_*_developer_* / query_docs_filesystem_*) work with ENABLE_AUTH=false — no Supabase login needed. scripts/try_docs.py is the fastest check.
  • API tools (create_interview, list_candidates, …) call the real JobMojito API and need a Supabase user token. For local testing, set JOBMOJITO_DEV_BEARER_TOKEN in .env to a valid Supabase access token; it's forwarded when ENABLE_AUTH=false. (Never set this in production — there the token comes from the user's OAuth session.)
  • Full OAuth locally is rarely needed; if you want it, run with ENABLE_AUTH=true, set BASE_URL=http://localhost:8000, and connect a client that supports OAuth (it will bounce you through Supabase).

Refresh the fallback snapshot from a network that can reach the API:

python scripts/update_snapshot.py (the committed snapshot in this repo is a

thin structural fallback; this replaces it with the full live spec).


Supabase OAuth setup

This server uses Supabase's OAuth Server feature (which supports Dynamic Client Registration, so MCP clients self-register). The MCP server is the OAuth resource server — it validates tokens; Supabase issues them.

Project: https://momsbvnltsydezmoesqt.supabase.co SupabaseProvider derives every endpoint from this project URL:

EndpointURL
Authorize…/auth/v1/oauth/authorize
Token…/auth/v1/oauth/token
JWKS…/auth/v1/.well-known/jwks.json
OIDC discovery…/auth/v1/.well-known/openid-configuration

Steps:

  1. Supabase Dashboard → Authentication → OAuth Server
  • Enable the OAuth Server and Allow Dynamic OAuth Apps
  • Site URL: https://app.jobmojito.com
  • Authorization Path: /oauth/consent
  1. Env: SUPABASE_PROJECT_URL=https://momsbvnltsydezmoesqt.supabase.co, BASE_URL=https://mcp.jobmojito.com (public base, no /mcp), SUPABASE_JWT_ALGORITHM=ES256 (switch to RS256 if your JWKS shows RSA keys).
  2. If the JobMojito Edge Functions require an apikey header, set SUPABASE_ANON_KEY.

Consent is handled by Supabase / your app, not this server. Because the Site URL is app.jobmojito.com, Supabase serves the approve/deny screen at https://app.jobmojito.com/oauth/consent, where the user already has a Supabase session. This MCP server is only the OAuth resource server — it does not serve a consent page. SITE_URL and OAUTH_CONSENT_PATH are informational and should match your Supabase OAuth Server settings.

Token note: SupabaseProvider cannot validate token *audience* (Supabase Auth

doesn't implement RFC 8707 resource indicators yet). This is expected and

logged at startup.


Authentication model

**Every tool *call* requires the user to be signed in via Supabase OAuth** — including search_documentation and get_documentation. Keep ENABLE_AUTH=true; the signed-in user's token is forwarded to the JobMojito API so calls respect that user's permissions.

The one deliberate exception is capability discovery: with ENABLE_LAZY_AUTH (default true), initialize, ping and the */list methods answer without a token so directory crawlers can render the tool list. No data is reachable that way — every tools/call, resource read and prompt still needs a verified JWT.

Deploy to Prefect Horizon

  1. Push this repo to GitHub.
  2. At horizon.prefect.io, sign in with GitHub and select this repo.
  3. Configure:
  • Entrypoint: server.py:mcp
  • Dependencies: auto-detected from requirements.txt
  • Horizon Authentication: off — this server provides its own Supabase OAuth, so let it be the auth layer.
  1. Set environment variables / secrets:
  • ENABLE_AUTH=true
  • BASE_URL=https://mcp.jobmojito.com — critical. This must be the server's public base URL, with no `/mcp` and no trailing slash. It's what SupabaseProvider advertises as the OAuth resource; if it's left at the http://localhost:8000 default, clients get 401 invalid_token. The startup log prints base_url=… and warns if it's localhost.
  • SUPABASE_PROJECT_URL=https://momsbvnltsydezmoesqt.supabase.co
  • SUPABASE_ANON_KEY if the Edge Functions need the apikey header.
  • FEATUREBASE_API_KEY for help-center docs.
  1. Deploy. Your MCP endpoint is https://mcp.jobmojito.com/mcp. Horizon redeploys on every push to main.
Testing the login

A 401 on initialize is the normal first step of MCP OAuth — the client is meant to read the discovery metadata and run the Supabase login. Horizon's Inspector / ChatMCP do not perform that login, so they'll show a bare 401. Test by adding https://mcp.jobmojito.com/mcp as a custom connector in Claude.ai, which runs the full OAuth flow and prompts the Supabase login.

Make sure the Supabase side is configured (or the flow 401s regardless): OAuth Server enabled + Dynamic Client Registration on; Site URL https://app.jobmojito.com

  • Authorization Path `/

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

Ask PopNx