platform-mcp-hub
This server exposes Reed's job board API as an MCP server with three read-only tools for finding and inspecting job postings.
Verify credentials / identify the account (
me) — no inputs, returnsokplus account details; works by running a one-result search since Reed has no account endpoint.Search job postings (
search) — keyword search (queryrequired) with paging (page/limit, up to 100), cursor pagination, plus optionallocation,country, andremotefilters; returns normalised postings (id, title, company, location, url, posted_at, salary_min/max, currency, description) alongside the raw record, plus totals and next-page/next-cursor info.Fetch a single posting (
get_posting) — look up one job by theidfrom a search result and get its full normalised fields and raw record.
All three tools are read-only, idempotent, non-destructive, and documented against Reed's jobseeker developer docs (verified 2026-09-04). No write actions (e.g. applying) are offered. Credentials come from PLATFORM_MCP_REED_* environment variables, and the server can run over stdio or Streamable HTTP.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@platform-mcp-hub Find remote Python jobs on Reed"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
platform-mcp
MCP servers for the platform APIs behind real business work: job boards, freelance marketplaces, ad networks,
e-commerce channels and suppliers, messaging, social networks, sales data, trading venues, market data and car
listings. One evidence-only catalog (catalog/) describes each platform; one package, platform-mcp-hub,
serves any of them: platform-mcp-hub serve <id>. The Python package (PyPI) and the TypeScript package (npm) ship the
same runtime contract, the whole catalog and the same CLI.
Quick start
From PyPI (uvx / pip install platform-mcp-hub) or npm (npx platform-mcp-hub):
uvx platform-mcp-hub list # every served platform (455), with its tools
uvx platform-mcp-hub describe reed # tools, credentials (PLATFORM_MCP_REED_*), run commands
PLATFORM_MCP_REED_API_KEY=... uvx platform-mcp-hub serve reed # stdio MCP server
uvx platform-mcp-hub serve reed --http --port 8000 # Streamable HTTP on 127.0.0.1:8000/mcp
claude mcp add reed -e PLATFORM_MCP_REED_API_KEY=... -- uvx platform-mcp-hub serve reed
npx platform-mcp-hub serve reed # the TypeScript build: identical tools
uvx platform-mcp-hub directory # one server that searches the whole catalog (3,500 platforms)From source:
uvx --from git+https://github.com/tonyyang0504/platform-mcp platform-mcp-hub serve reed
# or in a checkout
git clone https://github.com/tonyyang0504/platform-mcp && cd platform-mcp
uv run platform-mcp-hub serve reed
cd runtime/typescript && npm ci --ignore-scripts && npm run build && node dist/cli.js serve reedAn id served in two categories needs the category: platform-mcp-hub serve social/linkedin. An entry you wrote
yourself runs the same way: platform-mcp-hub serve --entry my_entry.json, including a generic entry whose tools
come straight from an API's own operations (no category vocabulary; see docs/ADAPTER_CONTRACT.md).
Related MCP server: 0nMCP
Principles
Evidence only. Every tool maps to an endpoint documented on the platform's own developer pages, with the docs URL and the date it was verified. Nothing is guessed from a sibling API.
One verb vocabulary per category. All job boards expose the same
search,get_posting,apply,list_messages; all freelance marketplaces the samesearch_postings,submit_bid,list_messages, and so on.Honest capabilities. A verb a platform does not offer is not a tool (
not_offeredsays why). Operations a platform's terms forbid are never automated.Standard-first. Current MCP revision, JSON Schema 2020-12 in and out, tool annotations on every tool, API failures as
isErrorresults, client-side rate limits, credentials from the environment, no token passthrough.Same behaviour in both languages. The Python and TypeScript runtimes pass the same contract tests; the parity test compares the tools of every served entry and the CLI answers of both builds.
Layout
catalog/ the source of truth: <category>/<platform>.json, schema/vocab.json, index and directory snapshot
runtime/python/ platform_mcp_hub: runtime, CLI, directory server, lint, try/smoke/live-verify tools
runtime/typescript/ the npm package: runtime, CLI and directory server (same contract)
generators/python/ registry metadata per served entry (servers/<category>/<id>/server.json, manifest.json, README)
servers/ generated registry metadata (no code: every server is `platform-mcp-hub serve <id>`)
tools/ gen_all (regenerate everything derived), build_directory, auth_audit, smoke_stdio
tests/ contract tests per platform (both languages), runtime, security and CLI parity tests
docs/ adapter contract, architecture, live verification and auth audit reports, security reviewCredentials and security
Credentials come only from PLATFORM_MCP_<ID>_<FIELD> environment variables (describe lists them); vendor
sandboxes are selected with PLATFORM_MCP_<ID>_ENV. Outbound requests are refused for private, loopback and
metadata addresses (connections are pinned to the vetted address), secrets are redacted from every message, catalog
text is sanitised before an MCP client sees it, and --http binds 127.0.0.1 unless you pass --allow-remote and set
PLATFORM_MCP_HTTP_TOKEN. See SECURITY.md and docs/SECURITY_REVIEW_2026-10.md.
Limits (honest list)
Coverage. 455 of about 3,500 catalogued platforms are served. The others carry a status record (gated or partner-only docs, upload-only access, an official vendor MCP server, or auth the runtime does not support yet).
Verification depth. Keyless servers are live-verified (
docs/LIVE_VERIFICATION.md, each entry'slive_check). Servers that need credentials passed a credential-free audit (docs/AUTH_AUDIT.md): endpoints and specs were checked, but most have not been exercised with a real account. Write tools were never called live.APIs change. Entries cite the docs as they were on
verified_at; vendors move endpoints and limits.Terms are yours to respect. Using a server means using the platform's API under its terms with your credentials. The catalog notes known restrictions; it is not legal advice.
TypeScript CLI serves (
list,describe,serve,directory); the authoring tools (lint,try,smoke,verify) are in the Python package.
Related
The documentation-to-entry authoring tools that used to live here (the "forge") are now a separate project, api-to-mcp, which uses platform-mcp-hub as its runtime.
Contributing
Pull requests are welcome: a new platform, a fix to an entry, runtime work. Read CONTRIBUTING.md (gates, DCO
sign-off) and docs/ADAPTER_CONTRACT.md. Security issues: SECURITY.md. Changes: CHANGELOG.md.
Licence
Apache-2.0. See LICENSE and NOTICE.
Available Tools
3 toolsget_postingGet a job postingARead-onlyIdempotent
Fetch one posting by the id returned from search.
Inputs: id (required). Returns: id, raw, url, title, +7 more
meWho am IARead-onlyIdempotent
Verify the credentials and describe the connected account. Verified with a one-result search (Reed has no account endpoint).
Inputs: no named parameters. Returns: ok, account
searchSearch job postingsCRead-onlyIdempotent
Search the platform's job postings. Returns normalised postings plus the raw record.
Inputs: query (required), page, limit, cursor, +3 more. Returns: total, postings, next_page, next_cursor
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes: 'me' verifies account credentials, 'search' discovers job postings, and 'get_posting' retrieves a specific posting by ID. There is no overlap or ambiguity between them.
Names mix styles: 'me' is a noun/pronoun endpoint, 'search' is a bare verb, and 'get_posting' uses a verb_noun pattern. Still readable, but it does not follow a single predictable convention.
Three tools is a lean but adequate surface for a read-only job posting integration. It covers discovery, retrieval, and auth; a pagination or facets helper could be useful but is not essential.
The core read-only workflow is complete: authenticate/verify, search postings, and fetch a posting by ID. No create/update/delete is expected for a third-party platform, though ancillary operations like listing companies or saved searches are absent.
Maintenance
Related MCP Connectors
Verified, pay-per-use API tools for AI agents through one authenticated connection.
Stripe-native marketplace where AI agents discover and pay per call for API services.
Directory of APIs, merchants, and tools AI agents can actually use.
One key and one prepaid balance for 3,051 pay-per-call tools from 99 providers for AI agents: search, maps, shopping, market data, web pages, images and more. Agents find tools by job, see the price before running, and pay per call. Failed calls are free. Sign in with OAuth, no API key to copy. Sign-up is open to everyone.
Related MCP Servers
- AlicenseAqualityBmaintenanceThe API layer for AI agents. World's biggest API index with 22,000+ APIs and growing. Agents discover and call APIs at runtime with semantic search, structured metadata, and 18 Direct Call APIs including AI providers.14643 npm8MIT
- FlicenseNot gradedqualityNot gradedmaintenanceUniversal AI API Orchestrator. 850 tools across 53 services under a single MCP interface. Connect Claude, GPT, or Gemini to Stripe, Slack, GitHub, LinkedIn, Cloudflare, Shopify, Twilio, and 46 more via natural language. $0.10/execution, no subscription. Patent Pending.217 npm5-
- AlicenseNot gradedqualityAmaintenanceConnects AI coding assistants and other clients to 2,000+ models and APIs — search, social, scraping, e-commerce, finance, plus LLM, image, video, and audio generation — through a local MCP bridge that needs no per-API keys. Users approve a single browser sign-in, then agents can discover, inspect pricing and schemas, run calls, track run status, and roll back configuration changes.556,724 npmMIT
- AlicenseNot gradedqualityAmaintenanceConnects AI clients such as Claude Code, Cursor, Codex, ChatGPT, Hermes, and OpenClaw to 2,000+ AI models and data APIs through a local MCP bridge, letting an agent discover, inspect, price, and run tools after a single browser-approved OAuth sign-in. Backed by a read-only catalog, run history, and rollback so calls can be audited and reverted without managing individual API keys.556,724 npmMIT