Skip to main content
Glama
hyperplayer7

remotive-mcp-server

by hyperplayer7

remotive-mcp-server

An MCP server that gives Claude (or any MCP client) two tools for searching Remotive's public remote-job board: remotive_search_jobs and remotive_get_job. No API key or signup required — Remotive's job endpoint is free and public.

Built as a small, focused demo of MCP server design: real API integration, defensive handling of an upstream quirk, Pydantic-validated inputs, and a verifiable evaluation set.

What it does

  • remotive_search_jobs — search current Remotive listings by keyword and/or category, returns a compact markdown or JSON digest (title, company, category, tags, location, salary, post date, apply URL).

  • remotive_get_job — given a job id from a search result, returns the full listing including the plain-text job description.

Example prompts once connected to Claude:

  • "Find remote Rails jobs on Remotive and summarize the top 3."

  • "Pull the full description for job 2069746."

  • "What DevOps roles are open right now, and what do they pay?"

Related MCP server: job-search-mcp

A real-world gotcha this server works around

Remotive's public /api/remote-jobs endpoint sits behind a Cloudflare cache that, in testing, keyed its cache only on the request path — not the query string. Every request, regardless of search, category, or limit params, returned an identical cached response (confirmed via the cf-cache-status: HIT response header and byte-identical results across differing params).

To make filtering actually work for callers, this server fetches the full current listing and applies search/category filtering client-side rather than trusting the upstream query params. See the comment at the top of server.py for details.

Setup

git clone <this-repo>
cd remotive-mcp-server
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

Run standalone (stdio)

.venv/bin/python server.py

Connect to Claude Desktop / Claude Code

Add to your MCP client config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "remotive": {
      "command": "/absolute/path/to/remotive-mcp-server/.venv/bin/python",
      "args": ["/absolute/path/to/remotive-mcp-server/server.py"]
    }
  }
}

Restart your client and the remotive_search_jobs / remotive_get_job tools will be available.

Evaluation

evaluation/evaluation.xml has 10 verifiable question/answer pairs exercising both tools (including ones that require calling remotive_search_jobs to find a job id, then remotive_get_job to read facts only present in the full description). Remotive's listing changes daily, so the pinned answers are a snapshot from 2026-08-10 — regenerate them against the live API before relying on this for regression testing.

Attribution & fair use

Per Remotive's API terms, every tool response includes a link back to the original Remotive job URL and credits Remotive as the source. This server does not cache or redistribute job data beyond a single request/response cycle, and calls the endpoint only on demand (Remotive asks for at most a few requests per day since data refreshes slowly).

Stack

Python 3.10+, MCP Python SDK, httpx, pydantic.

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Remote jobs MCP server — search 100,000+ remote jobs, post listings, find candidates, and check salary benchmarks from Claude, ChatGPT, Cursor, and any MCP client. Free, no API key required.
    19
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.
    7
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Official Model Context Protocol (MCP) server to search, filter, and retrieve live remote job listings from the Jobicy database in real-time. Works with Claude Code, Cursor, Cline, and custom AI agents.
    2
    2
    MIT