Brave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
Read a known public URL as markdown. Not search: use google_search (serp); for eBay/Zillow use their tools. Required: url. Optional: max_tokens truncates and links full text; async=true returns a job_id to poll.
A call is made on an account: it counts against an allowance and the publisher sees it, which is why this one asks who you are first.
What it does
FastAF: fast web data APIs and MCP server for AI agents. Google SERP, search, extract and 22 endpoints. Pay per call via x402 from $0.003, or 500 free credits every month after email verification (not on x402). Only 200 responses are charged.
Quickstart
# 1 — sign in once: npx mcprush@latest login
# it asks for a key from mcprush.com/dashboard#access
# 2 — install
npx mcprush@latest add fastaf-co/fastaf-mcp
# 3 — ask your agent for something these tools do
# scrape_url, google_search, google_maps_places and 19 more
Windows PowerShell says 'running scripts is disabled on this system'? Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned once, or type npx.cmd instead of npx (codex.cmd, gemini.cmd, grok.cmd likewise). PowerShell 7 needs neither.
FastAF costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine — this server runs on the publisher’s own infrastructure behind our gateway, and what you install is the connection to it.
Claude Code has its own MCP command, and the key rides on it as a header — the gateway refuses a call that carries none. Claude Code reads MCPRUSH_KEY each time it connects, so the key stays out of its config: export your key from Access in your shell profile (macOS, Linux), or run setx MCPRUSH_KEY <your key> and open a new terminal (Windows). Or let npx mcprush@latest add fastaf-co/fastaf-mcp write the entry with the key for you; --scope user makes it available in every project.
claude mcp add --transport http --scope user fastaf-co-fastaf-mcp https://mcprush.com/gw/fastaf-co-fastaf-mcp/mcp --header 'Authorization: Bearer ${MCPRUSH_KEY}'Reconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing at the gateway. The server itself runs on the publisher’s own infrastructure, so nothing from this listing executes on your machine.
22 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read a known public URL as markdown. Not search: use google_search (serp); for eBay/Zillow use their tools. Required: url. Optional: max_tokens truncates and links full text; async=true returns a job_id to poll.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| async | boolean | no | Return a pending job immediately; otherwise wait up to 25 seconds. |
| job_id | string | no | Poll a previous scrape job. Keep the original url; no new scrape or charge. |
| idempotency_key | string | no | Reuse to avoid duplicate jobs and charges. |
| url | string | yes | Public HTTP or HTTPS page URL to scrape. |
| render_js | boolean | no | Whether to render the page with JavaScript before scraping. |
| premium | boolean | no | Premium mode (10 credits): retry with this when a page comes back blocked or empty. |
| challenge_mode | boolean | no | For pages that answer with a browser verification check. 10 credits; not combinable with premium or render_js. |
| max_chars | integer | no | Maximum number of markdown characters to return. |
| max_tokens | integer | no | Optional token limit (~4 characters per token); replaces max_chars. Over it, text is cut and content_id/content_url fetch the full page for 1 hour with the same key, at no extra charge. |
Find Google titles, URLs and snippets. Not page contents: use scrape_url. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Search query to submit to the web search engine. |
| country | string | no | Two-letter country code used to localize results. |
| language | string | no | Two-letter language code for result text. |
| results | integer | no | Maximum number of organic results to return. |
| page | integer | no | Zero-based search result page number. |
Find local places, addresses, ratings and place IDs. Not web search: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Place or business search query. |
| language | string | no | Two-letter language code for place results. |
| location | string | no | Place to centre the search on, for example "Rome, Italy". Without it, a place named in the query ("pizza in Rome") is used. |
| results | integer | no | Maximum number of places to return. |
Find news titles, links and snippets. Not general web search: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | News search query. |
| country | string | no | Two-letter country code used to localize news results. |
| language | string | no | Two-letter language code for news result text. |
| results | integer | no | Maximum number of news articles to return. |
| page | integer | no | Zero-based news result page number. |
Compare prices across merchants. Not marketplace-specific listings: use search_walmart or search_ebay. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Product search query. |
| country | string | no | Two-letter country code used to localize shopping results. |
| language | string | no | Two-letter language code for shopping result text. |
| results | integer | no | Maximum number of products to return. |
| page | integer | no | Zero-based shopping result page number. |
Find scholarly publications and citations. Not general pages: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Scholarly search query. |
| language | string | no | Two-letter language code for scholarly results. |
| year_from | integer | no | Earliest publication year to include. |
| year_to | integer | no | Latest publication year to include. |
| results | integer | no | Maximum number of scholarly results to return. |
| page | integer | no | Zero-based scholarly result page number. |
Find jobs across sources with apply links. Not profiles: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Job search query. |
| country | string | no | Two-letter country code used to localize job results. |
| language | string | no | Language or locale code for job results. |
| results | integer | no | Maximum number of jobs to return. |
Get a Google AI Mode answer with sources. Not organic result lists: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Question for AI-assisted search. |
| country | string | no | Two-letter country code used to localize the answer. |
| language | string | no | Two-letter language code for the answer. |
Find Walmart products by keyword. Not other merchants: use google_shopping_prices. Required: query. REST requires a Walmart search URL.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Product search query. |
| results | integer | no | Maximum number of Walmart products to return. |
Find eBay listings by keyword. Not one item: use REST ebay with an item URL. Required: query. REST requires an eBay site URL.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Product search query. |
| domain | string | no | eBay site: com, co.uk, de, it, fr, es, ca or com.au. |
| results | integer | no | Maximum number of eBay listings to return. |
Read home listings from a Zillow search URL, not keywords. For web discovery use google_search. Required: url.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | Zillow search URL, for example https://www.zillow.com/homes/Austin,-TX_rb/ (short forms like https://www.zillow.com/austin-tx/ are converted). |
| results | integer | no | Maximum number of listings to return. |
Read a public X profile and follower counts. Not posts or search: use google_search for indexed pages. Required: username.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| username | string | yes | Public X username, with or without the leading at sign. |
Find YouTube videos by keyword. Not transcripts: use youtube_transcript. Required: query. 5 credits per successful call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | YouTube search query. |
| country | string | no | Two-letter country code used to localize video results. |
| language | string | no | Two-letter language code for video results. |
| results | integer | no | Maximum number of videos to return. |
Read timestamped text for a known YouTube video. Not discovery: use search_youtube. Required: video_id. 5 credits per successful call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| video_id | string | yes | YouTube video ID whose transcript should be returned. |
| country | string | no | Two-letter country code used for transcript retrieval. |
| language | string | no | Preferred two-letter transcript language code. |
Find public LinkedIn vacancies. Not jobs across sources: use search_jobs. Required: field.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| field | string | yes | Required job title or company keyword, e.g. Python developer; no default. No option surcharge; 5 credits per successful request. |
| geoid | string | no | LinkedIn location ID; default 92000000 (worldwide). No option surcharge; 5 credits per successful request. |
| location | string | no | Location text, e.g. London; omit for worldwide jobs. No option surcharge; 5 credits per successful request. |
| page | integer | no | One-based result page, integer at least 1; default 1. No option surcharge; 5 credits per successful request. |
| sort_by | string | no | Posting-date filter: day, week or month; omitted means no date filter. No option surcharge; 5 credits per successful request. |
| job_type | string | no | Employment filter: temporary, contract, volunteer, full_time or part_time; omitted means all types. No option surcharge; 5 credits per successful request. |
| exp_level | string | no | Experience filter: internship, entry_level, associate, mid_senior_level or director; omitted means all levels. No option surcharge; 5 credits per successful request. |
| work_type | string | no | Work model: at_work, remote or hybrid; omitted means all models. No option surcharge; 5 credits per successful request. |
| filter_by_company | string | no | LinkedIn company ID; omitted means all companies. No option surcharge; 5 credits per successful request. |
Find Google Patents titles and publication links. Not general research papers: use search_scholar. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Required patent search keywords; no default. No option surcharge; 5 credits per successful request. |
| page | integer | no | Result page, integer at least 1; omitted uses source default. No option surcharge; 5 credits per successful request. |
| num | integer | no | Result count, integer 1-100; omitted uses source default. No option surcharge; 5 credits per successful request. |
| sort | string | no | Sort order: new or old; omitted uses source default. No option surcharge; 5 credits per successful request. |
| before | string | no | Publication cutoff date in YYYY-MM-DD format; omitted means no cutoff. No option surcharge; 5 credits per successful request. |
| after | string | no | Publication start date in YYYY-MM-DD format; omitted means no cutoff. No option surcharge; 5 credits per successful request. |
| inventor | string | no | Inventor name filter; omitted means any inventor. No option surcharge; 5 credits per successful request. |
| assignee | string | no | Assignee name filter; omitted means any assignee. No option surcharge; 5 credits per successful request. |
| country | string | no | Patent country code; omitted means any country. No option surcharge; 5 credits per successful request. |
| language | string | no | Result language code; omitted uses source default. No option surcharge; 5 credits per successful request. |
| status | string | no | Patent status filter; omitted uses source default. No option surcharge; 5 credits per successful request. |
Find flight itineraries and fares. Not booking or hotels: use google_search for hotel pages. Required: departure_id, arrival_id, outbound_date.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| departure_id | string | yes | Required three-letter uppercase IATA departure airport code; no default. No option surcharge; 5 credits per successful request. |
| arrival_id | string | yes | Required three-letter uppercase IATA arrival airport code; no default. No option surcharge; 5 credits per successful request. |
| outbound_date | string | yes | Required outbound date in YYYY-MM-DD format; no default. No option surcharge; 5 credits per successful request. |
| return_date | string | no | Return date in YYYY-MM-DD format, on or after outbound_date; optional. No option surcharge; 5 credits per successful request. |
| type | string | no | Trip type: 1 round trip, 2 one way; omitted uses source default. No option surcharge; 5 credits per successful request. |
| adults | integer | no | Adult passenger count, positive integer; omitted uses source default. No option surcharge; 5 credits per successful request. |
| currency | string | no | Three-letter uppercase currency code; omitted uses source default. No option surcharge; 5 credits per successful request. |
| hl | string | no | Interface language code; omitted uses source default. No option surcharge; 5 credits per successful request. |
| gl | string | no | Two-letter country code; omitted uses source default. No option surcharge; 5 credits per successful request. |
| travel_class | string | no | Cabin class: 1 economy, 2 premium economy, 3 business, 4 first; omitted uses source default. No option surcharge; 5 credits per successful request. |
Find Bing titles, URLs and snippets. Not Google results: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Required web search keywords; no default. No option surcharge; 5 credits per successful request. |
| mkt | string | no | Market such as en-US; omit for source default, mutually exclusive with cc. No option surcharge; 5 credits per successful request. |
| cc | string | no | Two-letter country code such as us; omit for source default, mutually exclusive with mkt. No option surcharge; 5 credits per successful request. |
| first | integer | no | Starting result position, integer at least 1; default 1. No option surcharge; 5 credits per successful request. |
| count | integer | no | Requested result count, integer 1-50; actual count varies, omitted uses source default. No option surcharge; 5 credits per successful request. |
| safeSearch | string | no | Adult-content filter: Off, Moderate or Strict; omitted uses source default. No option surcharge; 5 credits per successful request. |
| filters | string | no | Opaque Bing filters copied from a Bing search URL; omitted means no explicit filter. No option surcharge; 5 credits per successful request. |
| lat | string | no | GPS latitude for search origin; omitted uses source default. No option surcharge; 5 credits per successful request. |
| lon | string | no | GPS longitude for search origin; omitted uses source default. No option surcharge; 5 credits per successful request. |
Find images, thumbnails and source URLs; verify reuse rights. Not web pages: use google_search. Required: query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Required Google Images search keywords; no default. No option surcharge; 10 credits per successful request. |
| country | string | no | Two-letter search country code; default us. No option surcharge; 10 credits per successful request. |
| language | string | no | Result language code; default en. No option surcharge; 10 credits per successful request. |
| domain | string | no | Google search domain; default google.com. No option surcharge; 10 credits per successful request. |
| page | integer | no | Zero-based results page, integer at least 0; default 0. No option surcharge; 10 credits per successful request. |
| safe | string | no | Adult-content filter: active or off; default off. No option surcharge; 10 credits per successful request. |
| tbs | string | no | Advanced Google Images filter expression copied from a search URL; omitted means no filter. No option surcharge; 10 credits per successful request. |
| imgar | string | no | Aspect ratio: s (square), t (tall), w (wide), xw (panoramic); omitted means any. No option surcharge; 10 credits per successful request. |
| imgsz | string | no | Image size such as l, m, i, vga or 2mp; omitted means any size. No option surcharge; 10 credits per successful request. |
| image_color | string | no | Color filter such as bw, trans, red, blue or white; omitted means any color. No option surcharge; 10 credits per successful request. |
| image_type | string | no | Image type: face, photo, clipart, lineart or animated; omitted means any type. No option surcharge; 10 credits per successful request. |
| licenses | string | no | License filter: f, fc, fm, fmc, cl or ol; verify rights with the source before reuse. No option surcharge; 10 credits per successful request. |
Read public Reddit RSS as markdown, without authors; coverage may be partial. Not other sites: use scrape_url. Required: url.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | Required public reddit.com subreddit or thread URL, e.g. https://www.reddit.com/r/python/; no default. Reads the public RSS feed only. No option surcharge; 1 credits per successful request. |
Read a public LinkedIn person profile. Not companies or people search: use google_search. Required: profile_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profile_id | string | yes | Public LinkedIn profile identifier from the profile URL. |
Extract schema-valid JSON from a public URL. Not plain markdown: use scrape_url. Required: url, schema. Only required fields guaranteed; optional nulls omitted. 40 credits; invalid answers not charged.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | Public HTTP or HTTPS page URL to extract from. Some marketplace and social pages are refused. |
| schema | object | yes | JSON Schema (draft 2020-12 subset) of the JSON to return: root type object or array, at most 8 KB, 5 levels and 50 properties, local $ref only. |
| render_js | boolean | no | Render the page with JavaScript before extracting. Same price. |
| premium | boolean | no | Use premium proxies, for pages that come back blocked. Same price. |
- Every tool, no call limit, and mcprush charges nothing
- A buyer key from your dashboard — the gateway refuses a call without one
- Answers through our gateway, so every call is in your log
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install FastAF or to call it, and its free tier carries no monthly call limit.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
No tools were enumerated, so prompt-injection, capability and toxic-flow analysis had no tool surface to inspect. To grade a package’s real runtime tools, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| No per-tool rows for this release — see the note below. | ||
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
The gateway serves every install the publisher’s current release, so a release cannot be pinned or rolled back to here yet. The history below is for reading; the current release on file is 0.1.0.
- The version this listing went live with, after review.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish FastAF can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.