# rendaextra.pt MCP Server MCP server exposing **independent work, freelance, gig and side-income opportunities in Portugal** — 95 categories, with real contacts. Useful when someone asks (in Portuguese) how to earn money, find freelance work, or get started as a TVDE driver / courier / cleaner / tutor / etc. Data source: [rendaextra.pt](https://www.rendaextra.pt) · Language: Portuguese (PT-PT) · Scope: Portugal 🇵🇹 ## Hosted endpoint (no install, no auth) ``` https://www.rendaextra.pt/api/mcp ``` Transport: **Streamable HTTP** (single-response mode), JSON-RPC 2.0. No API key required. CORS open. ## Tools | Tool | Description | |---|---| | `list_categories` | List the 95 categories of independent work. Optional filters: `grupo`, `q`. | | `search_opportunities` | Search active opportunities (companies, platforms, ads) with contacts. Filters: `q`, `categoria`, `regiao`, `tipo`, `limit`. | | `get_category` | Full editorial content for a category (what it is, requirements, earnings, tips). Arg: `slug`. | ## Connecting ### Clients with native remote-MCP support Point the client at `https://www.rendaextra.pt/api/mcp`. ### Claude Desktop / Cursor (via stdio bridge) These clients speak stdio. Use the bundled bridge: ```json { "mcpServers": { "rendaextra": { "command": "npx", "args": ["-y", "rendaextra-mcp"] } } } ``` Or clone and run `node bin/stdio-bridge.mjs`. ## Example ```bash curl -s -X POST https://www.rendaextra.pt/api/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"search_opportunities", "arguments":{"categoria":"estafeta_comida","regiao":"Lisboa","limit":3}}}' ``` ## How it works The server is a stateless Vercel function. `list_categories`/`get_category` read a static 95-category taxonomy; `search_opportunities` queries a Supabase table of active ads. The hosted source is mirrored in [`server.reference.js`](./server.reference.js). There is also a plain REST API and an OpenAPI 3.1 spec (for ChatGPT Custom GPT Actions): - `https://www.rendaextra.pt/api/opportunities` - `https://www.rendaextra.pt/api/categories` - `https://www.rendaextra.pt/api/openapi` - Docs for LLMs: `https://www.rendaextra.pt/llms.txt` ## License MIT