maviapi
Provides a hosted JSON API for Airbnb, enabling searches for listings (e.g. by location and dates) and retrieval of structured property data such as ratings, nightly prices and listing details.
Provides a hosted JSON API for Tripadvisor, enabling retrieval of structured data such as top-rated restaurants in a city along with review counts and ratings.
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., "@maviapi Find a 3-night Airbnb in Lisbon next month under €120 a night."
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.
maviapi MCP server
Give Claude, Cursor, or any MCP client live, structured JSON from websites that have no API: Booking.com, Airbnb, Tripadvisor, Kiwi.com, Trainline, Hepsiburada, Yemeksepeti and more, plus any site you ask for.
You: Find me a 3-night Airbnb in Lisbon next month under €120 a night.
Claude: → search_apis "airbnb" → get_api "airbnb" → call_api airbnb/search {location: "Lisbon", …}
Here are the 5 best-rated options under €120…Agents are bad at the web. Browsing is slow, burns tokens on raw HTML, and stalls on bot protection; hand-written scrapers break the next time the site changes its layout. maviapi turns a website into a hosted, schema-first JSON API, and monitors and repairs it when the site changes, so the endpoint your agent depends on keeps answering. This server puts those APIs one tool call away.
Works with no setup. Out of the box it uses maviapi's shared demo key: 30 requests a minute and 300 a day per network, plus 3 free API builds per 30 days. Create a free key for more.
Missing a site? Your agent can start a draft. create_api hands maviapi's build agent a URL and a description of the data you want. Follow progress with get_build_status, then review and publish the draft from your account before calling the public API. Build duration depends on the site and requested endpoints.
Install
Claude Code
Install it as a plugin from this repo's marketplace:
/plugin marketplace add kuzenlabs/maviapi-mcp
/plugin install maviapi@maviapiThe plugin reads MAVIAPI_API_KEY (and MAVIAPI_TOOLS) from your environment, so export your key before starting Claude Code to use it instead of the demo key.
Or add the server directly. Quote the package name so zsh doesn't offer to "correct" the @ scope away:
claude mcp add maviapi -- npx -y '@maviapi/mcp'
# with your own key
claude mcp add maviapi -e MAVIAPI_API_KEY=mvk_live_... -- npx -y '@maviapi/mcp'Claude Desktop, Cursor, Windsurf, and others
Add this to the client's MCP config (claude_desktop_config.json, ~/.cursor/mcp.json, …):
{
"mcpServers": {
"maviapi": {
"command": "npx",
"args": ["-y", "@maviapi/mcp"],
"env": { "MAVIAPI_API_KEY": "mvk_live_..." }
}
}
}Leave out env to try it with the demo key.
VS Code
.vscode/mcp.json:
{
"inputs": [{ "type": "promptString", "id": "maviapi-key", "description": "maviapi API key", "password": true }],
"servers": {
"maviapi": {
"command": "npx",
"args": ["-y", "@maviapi/mcp"],
"env": { "MAVIAPI_API_KEY": "${input:maviapi-key}" }
}
}
}Related MCP server: data-refinery
Tools
Tool | What it does |
| Find an API for a website or topic ("flights", "turkish news", "booking.com"). Empty query lists the whole catalog. |
| An API's endpoints, their parameters, and the fields each one returns. |
| Call an endpoint and get live JSON back. List endpoints return 10 results unless you pass |
| No API for the site you need? Starts a build from a URL and a plain-language description, and returns a |
| Follows build progress and checks public catalog visibility separately. A |
A handful of generic tools keeps the agent's context small however large the catalog grows. If you rely on a few APIs, MAVIAPI_TOOLS also exposes each of their endpoints as its own typed tool, with a full input schema:
claude mcp add maviapi -e MAVIAPI_TOOLS=booking,airbnb,kiwi -- npx -y '@maviapi/mcp'
# adds booking_search, booking_explore, airbnb_listing_by_id, kiwi_search, …What you can ask
"Cheapest flights from Istanbul to Berlin any day in the first week of December?" (Kiwi.com, FlightList)
"Train or plane from London to Paris on Friday: which is cheaper?" (Trainline, Kiwi.com)
"Top-rated restaurants in Istanbul on Tripadvisor, with review counts."
"Bu hafta sonu İstanbul'da hangi konserler var?" (Bubilet)
"What are gold and silver trading at right now?" (Selcoin)
"What does 'serendipity' mean in Turkish? Give me every sense." (Sesli Sözlük)
search_apis with no query lists everything currently in the catalog. And for a site that is not there yet:
"Start an API build for news.ycombinator.com with front-page stories, points and comment counts."
Use your own account and API key when you need to review and publish a build from the dashboard. The shared demo key can start builds, but does not provide an owner dashboard session for them. If an API is already public, get_api and call_api use its current public build; a newly completed candidate may still await publication.
Configuration
Variable | Default | Purpose |
| shared demo key | Your key from the maviapi dashboard. |
| none | Comma-separated API slugs to expose as typed per-endpoint tools, or |
|
| Point at another maviapi deployment. |
Pricing
Each successful call uses one credit; failed calls are free. Building an API is free on any plan, within the daily build limit (10 a day per account with your own key). New accounts start with a 7-day trial of 5,000 credits, no card required. Plans are on maviapi.com/pricing.
Development
pnpm install
pnpm test # unit and protocol tests, offline
pnpm build
pnpm test:live # smoke test of the built server against the real API
pnpm inspect # open the MCP Inspector against the built serverLicense
MIT
Available Tools
5 toolscall_apiCall a maviapi endpointARead-only
Fetch live, structured JSON from a website through a maviapi endpoint. api is the API slug (or domain), endpoint the endpoint name or path from get_api, and params its parameters, path parameters such as {id} included. List endpoints return 10 results unless you pass limit; page with offset. Each successful call uses one maviapi credit.
Inputs: api (required), endpoint (required), params.
create_apiBuild a new maviapi APIA
Start an API draft for a website that no catalog API covers. maviapi's build agent studies the site and builds a JSON API from a plain-language description. This returns a request_id at once; follow it with get_build_status. Build completion does not publish the API. Use your own account and key to review and publish the draft in the dashboard. With the shared demo key each network gets 3 free builds per 30 days.
Inputs: url (required), description (required), build_anyway.
get_apiShow a maviapi APIARead-onlyIdempotent
Show one maviapi API's endpoints: what each returns, its parameters (required ones marked), and the fields in the response. Accepts the API slug from search_apis, or the site's domain (e.g. "airbnb.com"). Read this before call_api.
Inputs: api (required).
get_build_statusCheck a maviapi buildARead-only
Progress of a build started with create_api: queued, building, deploying, published, or failed. The build status published means the build completed, not that the API is publicly available. Checks catalog visibility separately; the owner reviews and publishes drafts in the dashboard. Check back every few minutes rather than in a tight loop.
Inputs: request_id (required).
search_apisSearch maviapi APIsARead-onlyIdempotent
Find a ready-made maviapi API for a website or topic, e.g. "hotels", "flights", "booking.com" or "turkish news". maviapi turns websites that have no official API into structured JSON endpoints, and monitors and repairs them when the site changes. Leave query empty to list every API. Next step: get_api, to see an API's endpoints and parameters.
Inputs: query.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool maps to a distinct stage of one workflow: search_apis discovers, get_api inspects endpoints/params, call_api executes, create_api drafts a new API, and get_build_status polls a build. The descriptions explicitly spell out the handoffs (e.g. search_apis → get_api → call_api), so misselection is unlikely even between get_api and call_api.
All names follow a consistent verb_noun snake_case pattern: search_apis, get_api, call_api, create_api, get_build_status. The get_* prefix is used coherently for read operations and create_ for mutation.
Five tools is tightly scoped to the domain: discovery, schema inspection, execution, provisioning, and async status. No tool looks redundant and none feels padded.
The core discover→inspect→call and request→build→status workflows are covered. There is a gap at the end of the lifecycle: publishing a draft must happen in the dashboard, and there is no tool to update, delete, or manage created APIs, nor to check credits.
Maintenance
Related MCP Connectors
Turn any public webpage into JSON with AI, save it as a live JSON API, and call it from your agent.
Live web access for agents: scrape, SERP search, crawl/map, 100+ collectors, datasets, proxies.
Live web data for AI agents: structured JSON from 248 websites through one API key.
Web scraping, search, crawling, structured extraction and research for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides AI agents live web access through scraping, multi-engine search, site mapping, crawling, SEO audits, and 31 data collectors via natural language tool calls.984 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query structured data refined from unstructured web sources, including developer breaking changes, B2B pricing matrices, regulatory compliance, semantic search, and on-demand URL refinement.1Business Source 1.1
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search the web, read and extract content from webpages, fetch JSON from REST APIs, and collect links while bypassing anti-bot protections.44 npmISC
- FlicenseNot gradedqualityAmaintenanceEnables language models to perform AI-powered web scraping, structured extraction, search, crawling, schema generation, and scheduled monitoring through an integrated web-scraping API.-