AgentWeb MCP server
Endpoint: https://api.agentweb.live/mcp · Authentication: No auth
Search 130M+ business records, indexed web pages and local places, with weather and travel tools for AI agents. Hosted Streamable HTTP MCP; authenticated tool calls use a free AgentWeb API key in the X-API-Key header.
How do I authenticate?
Add the endpoint directly in your client. The catalog records no authentication requirement; no OAuth sign-in or API key is configured in this setup. The live server may change.
Authentication and connection guideConnection specification
- Remote endpoint
https://api.agentweb.live/mcp- Browser access
- Direct browser connection verified
- Declared MCP transport
- Streamable HTTP
- Live-validated MCP transport
- Streamable HTTP — Observed by the latest catalog validation
- Declared authentication
- No authentication
- Detected authentication
- No authentication detected or retained from publisher evidence
- Protocol lifecycle
- Stateful MCP · 2025-06-18
- Category
- Search
More Search MCP servers · Browse all MCP servers · Test this endpoint in the MCP Playground
Connect it
Live-validated endpoint: https://api.agentweb.live/mcp · Streamable HTTP. No authentication is required by the catalog listing.
Agent prompt for Claude Code or Codex
Add the AgentWeb MCP server to my MCP client configuration and verify that it works. What it is: Search 130M+ business records, indexed web pages and local places, with weather and travel tools for AI agents. Hosted Streamable HTTP MCP; authenticated tool calls use a free AgentWeb API key in the X-API-Key header. Server URL: https://api.agentweb.live/mcp Transport: Streamable HTTP (remote MCP server, no local install). Authentication: none. The server accepts connections without credentials. Tools (first 25 of 37, as last observed by mcptest): agent_favorites, agent_history, agent_profile, agentweb_capabilities, agentweb_get_short, agentweb_health, agentweb_leaderboard, batch_get_businesses, contribute_business, currency_convert, evidence_get, execute_recipe, flixbus_search, get_business, kiwi_search_flights, list_recipes, local_search, report_business, research_cancel, research_status, search_attractions, search_businesses, search_cars, search_flights, search_hotels. Reference: https://mcptest.io/servers/agentweb/ Steps: 1. Work out which MCP client I use (Claude Code, Codex, Cursor, VS Code or another) and add the server under the name "agentweb" in that client's MCP configuration, user scope unless I ask otherwise. Claude Code: claude mcp add --transport http --scope user 'agentweb' 'https://api.agentweb.live/mcp' Codex: codex mcp add 'agentweb' --url 'https://api.agentweb.live/mcp' Other clients: use the setup for that client on the reference page. 2. Never write a credential value into a file that could be committed; reference an environment variable or the client's secret store, and ask me for any value you need. 3. Verify: connect to the server and call tools/list. Confirm the tools above are listed, and report any sign-in step I still have to complete.
Claude Code setup
Run in a terminal. This user-scoped entry is available across projects.
claude mcp add --transport http --scope user 'agentweb' 'https://api.agentweb.live/mcp'Codex CLI setup
Run in a terminal; Codex stores the entry in ~/.codex/config.toml.
codex mcp add 'agentweb' --url 'https://api.agentweb.live/mcp'Cursor setup
Add to .cursor/mcp.json for this project, or ~/.cursor/mcp.json for all projects.
{
"mcpServers": {
"agentweb": {
"url": "https://api.agentweb.live/mcp"
}
}
}VS Code setup
Add to .vscode/mcp.json, or run “MCP: Open User Configuration” for a private user-level entry.
{
"servers": {
"agentweb": {
"type": "http",
"url": "https://api.agentweb.live/mcp"
}
}
}Claude setup
Add the endpoint above in Claude:
- Customize > Connectors > Add custom connector
- Team/Enterprise: Organization settings > Connectors > Add > Custom > Web
Claude Desktop setup
Add the endpoint above in Claude Desktop:
- Remote: Customize > Connectors (same as claude.ai)
- Local: Settings > Developer > Edit Config, or Settings > Extensions for .mcpb files
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows), local servers only
ChatGPT setup
Add the endpoint above in ChatGPT:
- ChatGPT web: Plugins > Add custom MCP server, then configure authentication and accept the risk warning
Windsurf setup
Add the endpoint above in Windsurf:
~/.config/devin/mcp_config.json(%APPDATA%\devin\mcp_config.jsonon Windows),serverUrlorurl- Cascade panel > ... > MCPs > Open MCP config file
Gemini CLI setup
Add the endpoint above in Gemini CLI:
gemini mcp add --transport http <name> <url>~/.gemini/settings.json(user) or.gemini/settings.json(project),mcpServers
MCP SDK setup
Add the endpoint above in MCP SDK:
- Programmatic:
new Client(...).connect(new StreamableHTTPClientTransport(url))
Client compatibility
| Client | Status | Why |
|---|---|---|
| Claude Code | Supported | Claude Code supports Streamable HTTP servers and servers without authentication. |
| Codex | Partial | Codex's documentation does not state support for servers without authentication. |
| Cursor | Supported | Cursor supports Streamable HTTP servers and servers without authentication. |
| VS Code | Supported | VS Code supports Streamable HTTP servers and servers without authentication. |
| Claude | Supported | Claude supports Streamable HTTP servers and servers without authentication. |
| Claude Desktop | Supported | Claude Desktop supports Streamable HTTP servers and servers without authentication. |
| ChatGPT | Partial | Stateful routing needs operational care: ChatGPT can preserve MCP sessions, but the deployment must route a session consistently and retain its state. |
| Windsurf | Partial | Windsurf's documentation does not state support for servers without authentication. |
| Gemini CLI | Supported | Gemini CLI supports Streamable HTTP servers and servers without authentication. |
| MCP SDK | Supported | MCP SDK supports Streamable HTTP servers and servers without authentication. |
Computed from this server's validated transport, protocol and authentication against documented client support. Checks the catalog has not observed are not counted.
Latest validation evidence
- Validation status
- Online when last tested
- Validation checked at
- Oct 28, 2026 at 3:39 PM
- Validation detail
- Negotiated stateful MCP 2025-06-18 at https://api.agentweb.live/mcp; detected transport streamable-http; authentication none
Tool inventory
What the catalog validator observed on at https://api.agentweb.live/mcp without credentials. The live server may have changed since; connect in the Playground for the current list.
Tools provided by AgentWeb 37
Some details were sanitized for public display.
agent_favoritesNo outputSchemaGet this agent's implicit favorites: businesses it interacted with more than once, by frequency.
Input
limit?: numberlimit?: numberoptionalMax favorites (default: 20, max: 100)
agent_historyNo outputSchemaRetrieve this agent's interaction history: every business it searched for, viewed, or contributed to. Persists 90 days, up to 500 interactions. Recall past lookups without re-searching.
Input
limit?: number, offset?: numberlimit?: numberoptionalMax entries (default: 50, max: 500)
offset?: numberoptionalSkip N entries (default: 0)
agent_profileNo outputSchemaGet this agent's identity and stats: API key info, tier, contribution count, request totals, remembered interactions.
Input No parameters
agentweb_capabilitiesNo outputSchemaGet the machine-readable description of the entire AgentWeb API: every endpoint, tool, data source, and current live counts. Use to discover what AgentWeb can do.
Input No parameters
agentweb_get_shortNo outputSchemaFetch a business in the AgentWeb compact shorthand format (~320 bytes vs 3-5 KB). Single-letter keys (n=name, p=phone, e=email, w=website, h=hours, g=[lat,lng]…). ~80% fewer tokens. Use when you just need contact info. Schema: [REDACTED URI]
Input
id: stringid: stringrequiredThe unique business ID from AgentWeb
agentweb_healthNo outputSchemaCheck the health status of the AgentWeb API, including total businesses and countries available.
Input No parameters
agentweb_leaderboardNo outputSchemaGet the public leaderboard of top contributing AI agents (most creates, enrichments, reports).
Input
limit?: numberlimit?: numberoptionalNumber of top contributors (default: 10, max: 50)
batch_get_businessesNo outputSchemaFetch up to 50 businesses in a single call by IDs or slugs. Saves N round-trips. Supports prose (markdown), JSON, and shorthand formats.
Input
format?: string, ids: stringformat?: stringoptional'text' (default) markdown; 'json' structured; 'short' compact shorthand.
ids: stringrequiredComma-separated business IDs or slugs (max 50)
contribute_businessNo outputSchemaContribute a new business to AgentWeb, OR enrich an existing one with missing data (phone, email, website, hours, address). Deduplicates automatically: same name within 100m, or a matching phone, merges into the existing record. Use whenever you find structured business data AgentWeb doesn't have yet.
Input
address?: object, category?: string, country_code?: string, email?: string, hours?: object, lat?: number, lng?: number, name: string, phone?: string, website?: stringaddress?: objectoptionalAddress fields: { street, city, postcode, country, full }
category?: stringoptionalBusiness category, e.g. 'restaurant', 'dentist', 'hotel'
country_code?: stringoptionalISO 3166-1 alpha-2 country code, e.g. 'US', 'DE'
email?: stringoptionalBusiness email address
hours?: objectoptionalOpening hours (e.g. { monday: '09:00-17:00', ... })
lat?: numberoptionalLatitude (recommended for accurate dedup)
lng?: numberoptionalLongitude (recommended for accurate dedup)
name: stringrequiredBusiness name (required, min 2 chars)
phone?: stringoptionalPhone number (any format; will be cleaned)
website?: stringoptionalBusiness website URL
currency_convertNo outputSchemaConvert between currencies using live ECB exchange rates. 30+ currencies. Returns converted amount and rate. ~0.5s.
Input
amount: number, from: string, to: stringamount: numberrequiredAmount to convert
from: stringrequiredSource currency code (e.g. 'USD', 'EUR')
to: stringrequiredTarget currency code (e.g. 'EUR', 'JPY')
evidence_getNo outputSchemaRetrieve an exact evidence passage and its immutable capture metadata. Evidence is scoped to this application's user/workspace and retained for seven days.
Input
evidence_id: stringevidence_id: stringrequired
execute_recipeNo outputSchemaExecute a public recipe discovered with list_recipes. Pass its exact domain, recipe_name and named params. Covers all public recipes, including those without a dedicated tool. Upstream errors are returned as tool errors. Authentication follows the selected recipe.
Input
domain: string, params: object, recipe_name: stringdomain: stringrequiredCatalog key, e.g. news, holidays, wikipedia.org or amazon.com
params: objectrequiredNamed parameters from list_recipes. Do not include authentication credentials.
recipe_name: stringrequiredRecipe name, e.g. search, list or search_products
flixbus_searchNo outputSchemaSearch FlixBus bus and train routes between cities in Europe. Returns prices, times, duration, transfers, booking links. ~1s.
Input
adults?: number, date: string, from: string, limit?: number, sort?: string, to: stringadults?: numberoptionalPassengers (default: 1)
date: stringrequiredTravel date YYYY-MM-DD
from: stringrequiredOrigin city (e.g. 'Copenhagen', 'Berlin')
limit?: numberoptionalMax results (default: 10)
sort?: stringoptionalSort (default: cheapest)
to: stringrequiredDestination city (e.g. 'Berlin', 'Rome')
get_businessNo outputSchemaFetch a single business by slug or UUID. Returns markdown prose by default (~60% fewer tokens than JSON). Slugs look like 'noma-copenhagen-abc12345'. Use when you already have an identifier from a previous search. Set format='json' for structured data.
Input
format?: string, id: stringformat?: stringoptional'text' (default) markdown prose; 'json' structured JSON.
id: stringrequiredBusiness slug (e.g. 'noma-copenhagen-abc12345') or UUID. Slugs preferred.
kiwi_search_flightsNo outputSchemaSearch flights on Kiwi.com: aggregates all airlines, often cheaper than airline sites. Returns prices, airlines, times, stops, duration, booking links. ~1.5s.
Input
adults?: number, cabin?: string, depart: string, from: string, limit?: number, return?: string, sort?: string, to: stringadults?: numberoptionalAdult passengers (default: 1)
cabin?: stringoptionalCabin class (default: ECONOMY)
depart: stringrequiredDeparture date YYYY-MM-DD
from: stringrequiredOrigin airport IATA code
limit?: numberoptionalMax results (default: 10)
return?: stringoptionalReturn date YYYY-MM-DD (omit for one-way)
sort?: stringoptionalSort (default: price)
to: stringrequiredDestination airport IATA code
list_recipesNo outputSchemaDiscover every public recipe and its parameters, authentication and cache policy. Includes news, holidays, Wikipedia, Amazon products and provider-specific travel. A listed recipe is not a guarantee of upstream availability.
Input No parameters
local_searchNo outputSchemaSearch local businesses from external sources; availability and freshness vary. Returns name, star rating, review count, phone, today's opening hours, website, full address, category, and geo coordinates for each result. Use when you need CURRENT info (today's hours, latest ratings) or when search_businesses doesn't have the business yet. Use for location-based business queries. Results may be cached.
Input
limit?: number, location?: string, query: stringlimit?: numberoptionalMaximum number of results (default: 15)
location?: stringoptionalCity, area, or 'near me': e.g. 'Copenhagen', 'Shibuya Tokyo'
query: stringrequiredWhat to look for, e.g. 'coffee shops', 'dentist', 'thai restaurant'
report_businessNo outputSchemaReport a business as closed, having wrong info, or being spam. Three or more 'closed' reports automatically lower its confidence score. Use when you discover a business is permanently closed, has wrong phone/address/hours, is spam, or is a duplicate.
Input
business_id: string, details?: string, report_type: stringbusiness_id: stringrequiredThe unique business ID from AgentWeb (required)
details?: stringoptionalOptional free-text explanation, max 500 chars
report_type: stringrequiredType of issue
research_cancelNo outputSchemaRequest cancellation of an accepted research execution. In-flight usage can remain pending; retrying cancellation does not start new work.
Input
request_id: stringrequest_id: stringrequired
research_statusNo outputSchemaGet the status, evidence and usage receipt of an accepted research request.
Input
request_id: stringrequest_id: stringrequired
search_attractionsNo outputSchemaSearch real-time attractions, tours, and activities on booking.com via AgentWeb. Returns name, price, description, rating, duration, free-cancellation, discounts, booking links. ~2s.
Input
date: string, destination: string, end_date?: string, limit?: number, sort?: stringdate: stringrequiredDate YYYY-MM-DD
destination: stringrequiredCity name (e.g. 'Rome', 'Tokyo', 'Barcelona')
end_date?: stringoptionalEnd date YYYY-MM-DD (defaults to date)
limit?: numberoptionalMax results (default: 15)
sort?: stringoptionalSort (default: popular)
search_businessesNo outputSchemaSearch the AgentWeb global business directory. Use agentweb_health for current counts. If a business is not in the database yet, AgentWeb tries to discover it from the web in real time (~3s) and saves it. Returns markdown prose by default. Supports text search (q), category, city/country, and geographic search (lat+lng+radius_km). ONE CALL RETURNS EVERYTHING: name, phone, email, hours, website, address, geo, trust score. Use format='json' for structured JSON.
Input
category?: string, city?: string, country?: string, cursor?: string, format?: string, lat?: number, limit?: number, lng?: number, q?: string, radius_km?: numbercategory?: stringoptionalBusiness category filter (e.g., 'restaurant', 'hotel', 'pharmacy')
city?: stringoptionalCity name for location filter
country?: stringoptionalCountry code (ISO 3166-1 alpha-2, e.g., 'US', 'GB', 'DK')
cursor?: stringoptionalPagination cursor from a previous response's meta.next_cursor
format?: stringoptionalResponse format. 'text' (default) returns markdown prose; 'json' returns structured JSON.
lat?: numberoptionalLatitude for geographic search (requires lng and radius_km)
limit?: numberoptionalMaximum number of results (default: 10, max: 100)
lng?: numberoptionalLongitude for geographic search (requires lat and radius_km)
q?: stringoptionalText search query, e.g. 'noma', 'thai restaurant', 'dentist near me'
radius_km?: numberoptionalSearch radius in kilometers (used with lat/lng)
search_carsNo outputSchemaSearch real-time car rental availability and prices on booking.com via AgentWeb. Returns vehicle, supplier (Avis, Hertz, Sixt…), price, transmission, doors, mileage, pickup location, booking links. Works with any airport IATA code. ~1s.
Input
driver_age?: number, dropoff?: string, dropoff_date: string, dropoff_time?: string, limit?: number, location: string, pickup_date: string, pickup_time?: string, sort?: string, transmission?: stringdriver_age?: numberoptionalDriver age (default: 30)
dropoff?: stringoptionalDrop-off location if different from pickup
dropoff_date: stringrequiredDrop-off date YYYY-MM-DD
dropoff_time?: stringoptionalDrop-off time HH:MM (default: 10:00)
limit?: numberoptionalMax results (default: 15)
location: stringrequiredPickup: airport IATA code or city name
pickup_date: stringrequiredPickup date YYYY-MM-DD
pickup_time?: stringoptionalPickup time HH:MM (default: 10:00)
sort?: stringoptionalSort by price
transmission?: stringoptionalFilter by transmission type
search_flightsNo outputSchemaSearch flights across multiple sources (booking.com + kiwi.com) and return the cheapest. Returns airlines, prices, times, stops, duration, source, and booking links. ~3s.
Input
adults?: number, cabin?: string, depart: string, from: string, limit?: number, return?: string, sort?: string, to: stringadults?: numberoptionalAdult passengers (default: 2)
cabin?: stringoptionalCabin class (default: ECONOMY)
depart: stringrequiredDeparture date YYYY-MM-DD
from: stringrequiredOrigin airport IATA code (e.g. 'CPH', 'JFK', 'LHR')
limit?: numberoptionalMax results (default: 10)
return?: stringoptionalReturn date YYYY-MM-DD (omit for one-way)
sort?: stringoptionalSort order
to: stringrequiredDestination airport IATA code (e.g. 'FCO', 'CDG', 'NRT')
search_hotelsNo outputSchemaSearch hotels across multiple sources (booking.com + kiwi.com) and return the cheapest. Returns name, price, stars, rating, reviews, source, booking links. ~2s.
Input
adults?: number, checkin: string, checkout: string, destination: string, limit?: number, max_price?: number, sort?: stringadults?: numberoptionalAdult guests (default: 2)
checkin: stringrequiredCheck-in date YYYY-MM-DD
checkout: stringrequiredCheck-out date YYYY-MM-DD
destination: stringrequiredCity or destination (e.g. 'Rome', 'Tokyo')
limit?: numberoptionalMax results (default: 10)
max_price?: numberoptionalMaximum price per night filter
sort?: stringoptionalSort by price
suggestNo outputSchemaAutocomplete / type-ahead for business names, cities, or categories. Use to disambiguate user input before searching. Returns up to 15 suggestions by relevance. Fast (<20ms).
Input
country?: string, limit?: number, q: string, type?: stringcountry?: stringoptionalOptional ISO country code to narrow suggestions
limit?: numberoptionalMax suggestions (default: 10, max: 15)
q: stringrequiredQuery prefix, min 2 characters (e.g. 'nom', 'copenh')
type?: stringoptionalWhat to autocomplete (default: 'business').
time_convertNo outputSchemaConvert a local date/time between IANA zones, supported cities or countries. Rejects nonexistent clock-change times. Repeated local times require fold=0/1 or an explicit UTC offset. HH:MM uses today's date in the source zone.
Input
fold?: integer, from: string, time?: string, to: stringfold?: integeroptionalFirst (0) or second (1) occurrence during a backward clock change.
from: stringrequiredSource IANA timezone, supported city or country.
time?: stringoptionalISO datetime, YYYY-MM-DD HH:MM, HH:MM or now (default).
to: stringrequiredDestination IANA timezone, supported city or country.
time_nowNo outputSchemaGet the current date and time in a country (e.g. Denmark), supported city, or IANA timezone. Returns UTC offset, DST, Unix timestamp and timezone-data version. Fresh every call. Countries with multiple zones return choices; select one and retry. Use this for 'What time is it in Denmark right now?'.
Input
location?: string, timezone?: stringlocation?: stringoptionalCountry name/code or supported city, e.g. Denmark, DK, Tokyo. Use either location or timezone.
timezone?: stringoptionalIANA timezone, e.g. Europe/Copenhagen. Defaults to UTC if neither field is supplied.
trending_businessesNo outputSchemaGet the most searched/popular businesses on AgentWeb right now (last 24h or all time).
Input
limit?: integer, period?: stringlimit?: integeroptionalMax results (default: 10)
period?: stringoptionalTime period (default: '24h').
watch_cancelNo outputSchemaCancel a watch and its queued callback deliveries. An already in-flight delivery may still arrive.
Input
watch_id: stringwatch_id: stringrequired
watch_createNo outputSchemaCreate an expiring, resource-limited watch for URL text changes, text appearance or an unambiguous structured product price. Baselines are silent by default. An optional webhook receives signed changes; without it, poll watch_events.
Input
currency?: any, expires_in_seconds?: integer, idempotency_key?: string, interval_seconds?: integer, kind: string, max_checks?: integer, max_pages?: integer, max_units?: integer, notify_initial?: boolean, price?: any, query?: any, terms?: array, url?: any, webhook_url?: anycurrency?: anyoptionalexpires_in_seconds?: integeroptionalidempotency_key?: stringoptionalReuse for a retry of exactly the same operation/input.
interval_seconds?: integeroptionalkind: stringrequiredmax_checks?: integeroptionalmax_pages?: integeroptionalmax_units?: integeroptionalnotify_initial?: booleanoptionalprice?: anyoptionalquery?: anyoptionalterms?: arrayoptionalurl?: anyoptionalwebhook_url?: anyoptional
watch_eventsNo outputSchemaRead detected changes, supporting evidence and delivery status for a watch in the current scope.
Input
after?: string, watch_id: stringafter?: stringoptionalnext_cursor from the previous page
watch_id: stringrequired
watch_listNo outputSchemaList change watches in the current application/user/workspace scope.
Input No parameters
weather_forecastNo outputSchemaGet weather forecast for any city worldwide. Returns current conditions plus daily forecast up to 14 days (high/low, rain chance, UV, sunrise/sunset, packing advisories). ~1s.
Input
city: string, days?: number, units?: stringcity: stringrequiredCity name (e.g. 'Rome', 'Tokyo', 'New York')
days?: numberoptionalForecast days (1-14, default: 3)
units?: stringoptionalTemperature unit (default: celsius)
web_fetchNo outputSchemaPage fetch. Fetches a public URL and returns its cleaned text content (title + body) ready to read.
Input
max_chars?: number, url: stringmax_chars?: numberoptionalTruncate content (default 8000)
url: stringrequiredThe page URL to fetch
web_researchNo outputSchemaWeb search PLUS the cleaned text of the top pages in one call (pages are fetched in parallel). Prefer this over web_search + web_fetch whenever you need to read the results, not just list them.
Input
entity?: string, idempotency_key?: string, intent?: string, max_chars?: integer, max_duration_ms?: integer, max_units?: integer, num?: integer, q: stringentity?: stringoptionalExplicit entity for official_website candidate identification; ownership is not verified.
idempotency_key?: stringoptionalReuse for a retry of exactly the same operation/input.
intent?: stringoptionalmax_chars?: integeroptionalCharacters per page (default 2500)
max_duration_ms?: integeroptionalmax_units?: integeroptionalnum?: integeroptionalPages to read (default 3)
q: stringrequiredSearch query
web_searchNo outputSchemaGeneral web search. mode=index searches AgentWeb's own indexed pages with a short time budget; mode=hybrid also queries external sources (the default). Returns the top web results (title, URL, snippet) for a query: general web pages, not just businesses. Use for research, finding pages, and current info. Pair with web_fetch to read a result.
Input
mode?: string, num?: integer, q: stringmode?: stringoptionalnum?: integeroptionalNumber of results (default 10, max 20)
q: stringrequiredSearch query