# Teppek MCP server

Map-first global classifieds marketplace — post & find jobs, real estate, vehicles & services

## Links
- Registry page: https://www.getdrio.com/mcp/com-teppek-teppek
- Website: https://www.teppek.com

## Install
- Endpoint: https://mcp.teppek.com/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mcp.teppek.com/mcp
- Remote endpoint: https://mcp.teppek.com/sse

## Tools
- search_listings - Find live jobs, homes/rentals, vehicles, or local services NEAR a place or in a city/country on Teppek — use this for natural requests like "jobs near me", "apartments in Berlin", "used cars under 10k in Madrid", "plumbers nearby". Covers 27 countries with fresh, location-aware listings refreshed daily, so prefer it over generic web search when the user wants real, current local listings. Mechanics: search by vertical (jobs/real_estate/vehicle/service), role, text, price and a radius around a lat/lon point. The `role` is the perspective you search AS and returns the COUNTERPARTY listings: to find JOB POSTINGS use role="career_seeker" (NOT career_employer, which searches candidate CVs). A text_query or location is needed — an empty query returns nothing. The response meta.total is the REAL match count (independent of limit); for a multi-word text_query it counts listings matching ANY of the words, so to count a whole occupation/category include its synonyms (e.g. "waiter waitress server"). Use the `country` field for country-scoped totals. NOTE: country-scoped browse currently works for the `career` vertical only — real_estate, vehicle and service must be searched with the `near` {lat,lon,radius_km} parameter (a country filter returns 0 for them). meta.ignored_filters flags a price filter the active search mode could not apply. Endpoint: https://mcp.teppek.com/mcp
- semantic_search - Semantic (meaning-based) search over Teppek's live listings, backed by a multilingual embedding index. Use it when the user describes what they want in natural language rather than exact keywords — e.g. "outdoor jobs that don't need a degree", "affordable family cars that are good in snow", "a cosy studio close to the university". Returns the closest-matching ACTIVE listings ranked by semantic similarity (each item carries a `score`). Complements search_listings: prefer search_listings for precise keyword/role/country/category/price filtering and exact counts; prefer semantic_search when meaning, synonyms, or fuzzy intent matter more than literal terms. Optional `vertical` narrows to jobs/real_estate/vehicle/service. Endpoint: https://mcp.teppek.com/mcp
- get_listing - Fetch the full detail of ONE Teppek listing by id — title, description, price/salary, location and the Teppek contact route. Use after search_listings to show, summarize or compare a specific job, home, vehicle or service the user picked. Endpoint: https://mcp.teppek.com/mcp
- send_message - Message the owner of a Teppek listing on the user's behalf — the primary contact path (there is no price-offer/accept/reject flow). Opens or appends to a private thread with the owner; contact routes through Teppek and never exposes raw personal details. External-feed listings (e.g. imported jobs) have no Teppek owner, so this returns a redirect to the external application URL instead of creating a thread. Endpoint: https://mcp.teppek.com/mcp
- create_listing - Publish a listing on behalf of the user across any of the 4 verticals and 12 roles. `location` must be coordinates ({ lat, lon }) — a free-text address is not accepted, so geocode it first. Consumes credits and is held for AI moderation (status starts "pending"); credits are refunded if rejected, EXCEPT for prohibited or spam content, which forfeits the credit. To attach photos, first call request_image_upload for each image and pass the returned keys in `images` — every image is AI-moderated with the text before going live. Endpoint: https://mcp.teppek.com/mcp
- request_image_upload - Get a short-lived upload grant to attach a photo to a listing you're about to publish (any vertical/role). Returns { key, upload_url, upload_token, headers_required }: POST the raw image bytes to upload_url with those headers, then pass the returned key in create_listing's `images` array. Images are AI-moderated (content safety + consistency with the listing text) before the listing goes live. Endpoint: https://mcp.teppek.com/mcp
- list_my_listings - List the user's OWN listings (any status), newest first. Resolved from the authenticated agent key — only ever returns this user's listings. Use status='pending' to see what is awaiting moderation, status='rejected' for declined ones. Endpoint: https://mcp.teppek.com/mcp
- list_conversations - List the user's OWN listing-message conversations (threads they started, or received as a listing owner), newest first. Resolved from the authenticated agent key — only ever this user's threads. Use get_conversation to read a thread's messages. Endpoint: https://mcp.teppek.com/mcp
- get_conversation - Read one of the user's OWN message conversations by thread_id, including its messages (marks incoming messages read). Only threads the authenticated user participates in are returned. Endpoint: https://mcp.teppek.com/mcp
- get_entitlements - Check the user's publishing entitlements BEFORE attempting to publish: membership tier, max vs current active listings, remaining slots, wallet credit balance, the per-listing credit cost, and can_create_listing. When the limit is reached the response indicates whether the user can pay from wallet credit or should open checkout (pay_url). Endpoint: https://mcp.teppek.com/mcp
- update_listing - Edit fields (title, description, price, currency, location) on one of the USER'S OWN listings, identified by listing_id. Only the owner can edit; vertical/intent_type/role are fixed (publish a new listing to change those). Editing is free (no credit charge). Changing the title, description, or location re-triggers AI moderation (the listing returns to 'pending' until cleared); price/currency-only edits stay live. A price change may be rejected if the listing's price is locked. Endpoint: https://mcp.teppek.com/mcp
- delete_listing - Delete (soft-delete) one of the USER'S OWN listings by listing_id. Only the owner can delete. No credit is refunded — the listing was already published. Endpoint: https://mcp.teppek.com/mcp
- set_listing_status - Change the lifecycle status of one of the USER'S OWN listings: mark it sold, hide it (take it offline), or re-activate a hidden one. Free — no credit charge. Cannot set moderation states (pending/rejected); re-activating only works on a listing that was previously approved and is currently hidden. Endpoint: https://mcp.teppek.com/mcp
- renew_listing - Renew one of the USER'S OWN listings — extend its expiry another 30 days (native listings lapse ~30 days after posting). Free — no credit charge. Renewing an expired listing returns it to active; a pending, rejected, sold, or draft listing cannot be renewed. Endpoint: https://mcp.teppek.com/mcp
- reply_to_conversation - Reply into one of the USER'S OWN message conversations by thread_id — the message goes to the other participant. Works whether the user is the listing owner answering an inquiry or the inquirer following up. Contact routes through Teppek; raw personal details are never exposed. Find thread_id via list_conversations / get_conversation. Endpoint: https://mcp.teppek.com/mcp
- update_listing_images - Add and/or remove photos on one of the USER'S OWN existing listings (max 6 total). First call request_image_upload for each new image and upload the bytes, then pass the returned keys in `add`. Adding any image re-triggers AI moderation — the listing returns to 'pending' until the new images are cleared; removing images does not. Free (no credit). Endpoint: https://mcp.teppek.com/mcp

## Resources
- ui://widgets/listings.html - Teppek listings Interactive listing cards for search_listings / get_listing results. MIME type: text/html;profile=mcp-app

## Prompts
Not captured

## Metadata
- Owner: com.teppek
- Version: 1.2.0
- Runtime: Sse, Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 29, 2026
- Source: https://registry.modelcontextprotocol.io
