MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

FastAF

22 web-data tools: search, Bing, images, Reddit without authors, jobs, patents, flights and YouTube.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
87 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
23

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 87 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name FastAF.

  • Pass
    Lists tools

    tools/list returned 23 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 87 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 87 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    117 of 117 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-28T14:15:06.885351Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using FastAF

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http fastaf https://api.fastaf.co/mcp

Capabilities

Tools 23

amazon_product

Looks up Amazon products. With asin it returns one product (asin, title, brand, price, availability, rating, reviews_count, url, image); with query, up to 20 results from the first search page (title, url, asin, price, rating, reviews_count, position). Send asin or query, not both; marketplace selects the Amazon site (default com). It does not return reviews, offers, bestseller lists or price history, nor prices from other merchants (use google_shopping_prices). A search with no matches is charged; errors are not. Required: asin or query.

Discovered
bing_search

Searches Bing web results and returns up to 20 ranked results (title, link, snippet, rank), with market (mkt or cc), safe search and coordinate (lat, lon) targeting. Use it when Bing results are wanted. It does not return page contents (use scrape_url) and does not return Google results (use google_search). A search with no matches is charged; errors are not. Required: query.

Discovered
extract

Fetches a public page and returns, in data, JSON that matches the supplied JSON Schema. Only fields listed in required are guaranteed; optional nulls are omitted. Use it to get specific fields as structured data. Not for plain page text: use scrape_url. Reddit and Amazon pages are refused (use read_reddit or amazon_product). 40 credits per successful call, whatever the options; an answer that does not match the schema returns EXTRACTION_FAILED and is not charged. Required: url, schema.

Discovered
get_linkedin_profile

Reads one public LinkedIn person profile by its profile ID (the part after /in/ in the profile URL) and returns name, headline, location, summary, url, followers_count and connections_count; counts are rounded as LinkedIn shows them. It does not read company pages or private data, and does not search for people (use google_search to find a profile URL). Required: profile_id.

Discovered
google_ai_answer

Asks Google AI Mode a question and returns the generated answer as markdown text plus up to 20 references (title, url, source). Use it for a summarized answer with its cited sources. Reference urls can be Google redirect links rather than publisher URLs. It does not return a ranked list of results (use google_search). Required: query.

Discovered
google_images

Searches Google Images and returns up to 20 image results (title, original image URL, source page link, thumbnail and dimensions when available), with size, colour, type, aspect-ratio and licence filters. It does not download image files and does not return web pages (use google_search). Image rights stay with the source; the licence filter does not grant them. A search with no matches is charged; errors are not. Required: query.

Discovered
google_maps_places

Searches Google Maps for local places and businesses and returns up to 20 places (name, address, rating, reviews_count, place_id). Give a location such as "Rome, Italy" or name the place in the query; a search that finds nothing returns NO_DATA and is not charged. It does not return opening hours, phone numbers, review texts or coordinates, and is not web search (use google_search). Required: query.

Discovered
google_search

Searches Google web results and returns up to 20 organic results (title, url, snippet, position) for a query, localized by country and language; page gives later results. Use it to find pages and sources. It does not return page contents (use scrape_url on a result url), ads or other result blocks, and is not for news, products or local places (use search_news, google_shopping_prices or google_maps_places). A search with no matches is charged; errors are not. Required: query.

Discovered
google_shopping_prices

Searches Google Shopping and returns up to 20 product offers from many merchants (title, url, price, merchant, rating, reviews_count), localized by country and language. Use it to compare what different stores charge for a product. It does not return price history or stock levels, and is not for listings on one marketplace (use amazon_product, search_walmart or search_ebay). A search with no matches is charged; errors are not. Required: query.

Discovered
read_reddit

Reads a public Reddit subreddit or thread through its public RSS feed and returns markdown (titles, dates, links, post text), capped at 12,000 characters. Author usernames and links to user profiles are removed, and the feed can hold fewer posts or comments than the website. It does not read user pages, and is not for other sites (use scrape_url). Required: url.

Discovered
scrape_url

Reads one public web page by URL and returns its content as markdown (text, truncated, total_chars). Use it when the URL is known; it does not search (use google_search), and Zillow or eBay URLs are refused free (use search_zillow or search_ebay). Costs 1 credit, 5 with render_js, 10 with premium or challenge_mode, 25 with render_js and premium; blocked or empty pages are not charged. A page not ready within 25 seconds returns a job_id instead; async=true returns one at once. Poll with the same url and job_id; jobs are kept 1 hour. Required: url.

Discovered
search_ebay

Searches eBay listings by keyword on one eBay site (domain, default com) and returns up to 20 listings from the first results page (title, url, price, condition, shipping, seller, items_sold). It does not read a single item page, bids or sold-price history; for one item, the REST endpoint /v1/ebay takes an item URL. For prices at other stores use google_shopping_prices. Required: query.

Discovered
search_flights

Searches Google Flights for itineraries and current fares between two airports given as IATA codes, and returns the source JSON (best_flights and other flights with price, legs and airports). Set type "2" for one way, or "1" for a round trip with return_date. It does not book tickets and does not cover hotels, trains or car hire. A search with no matches is charged; errors are not. Required: departure_id, arrival_id, outbound_date.

Discovered
search_jobs

Searches Google Jobs, which collects postings from many job sites, and returns up to 20 jobs from the first page (title, company, location, via, details, apply_url). Put role and place in the query, e.g. "data engineer jobs in Austin". It does not return full job descriptions or people profiles; for LinkedIn listings with LinkedIn filters use search_linkedin_jobs. A search with no matches is charged; errors are not. Required: query.

Discovered
search_linkedin_jobs

Searches public LinkedIn job listings by keyword (field), with optional location, posting date, job type, experience level, work model and company filters, and returns up to 20 listings as the source sends them (job_position, company_name, job_location, job_link and other fields). Public listings only, nothing behind a LinkedIn login. Not for postings from many job sites: use search_jobs. A search with no matches is charged; errors are not. Required: field.

Discovered
search_news

Searches Google News and returns up to 20 articles (title, url, source, published_at, snippet), localized by country and language. published_at is the source's own text and can be relative, such as "2 hours ago". It does not return article bodies (use scrape_url on an article url) and is not general web search (use google_search). A search with no matches is charged; errors are not. Required: query.

Discovered
search_patents

Searches Google Patents by keywords, with optional inventor, assignee, country, status and date filters, and returns the source JSON (organic_results with title, patent_id, link and other fields). Use it for inventions and patent publications. It does not return full patent texts or claims, and is not for research papers (use search_scholar). A search with no matches is charged; errors are not. Required: query.

Discovered
search_scholar

Searches Google Scholar and returns up to 20 publications (title, url, publication, snippet, cited_by, cites_id), optionally limited to a range of publication years. Use it for academic papers and citation counts. It does not return full texts, is not for patents (use search_patents) and is not general web search (use google_search). A search with no matches is charged; errors are not. Required: query.

Discovered
search_walmart

Searches walmart.com (US) by keyword and returns up to 20 products from the first results page (title, url, price, rating, reviews_count, availability, seller). It does not search other Walmart countries and does not return reviews or price history; for prices at other stores use google_shopping_prices. Required: query.

Discovered
search_youtube

Searches YouTube videos by keyword and returns up to 20 videos (title, url, channel, published_at, views, duration, description), localized by country and language. It does not return transcripts (use youtube_transcript with a video ID), comments or channel pages. 5 credits per successful call; a search with no matches is charged, errors are not. Required: query.

Discovered
search_zillow

Reads US home listings from a Zillow search URL and returns up to 40 listings (address, price, beds, baths, status, zestimate, url). It takes a URL, not keywords, e.g. "https://www.zillow.com/homes/Austin,-TX_rb/"; to find pages by keyword use google_search. It does not return price history, photos or agent details. A URL with no listings returns NO_DATA and is not charged. Required: url.

Discovered
x_profile

Reads one public X (Twitter) profile by username and returns id, name, handle, url, description, location, followers_count, following_count, posts_count and verified. It does not return posts, replies, follower lists or search results; for posts, google_search can find indexed pages. Required: username.

Discovered
youtube_transcript

Returns the caption transcript of one YouTube video as text with [seconds] timestamps, plus segments_count; text is capped at 12,000 characters (truncated and total_chars say whether it was cut). Use it when the video ID is known. It does not find videos (use search_youtube) and does not translate captions. 5 credits per successful call. Required: video_id.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected87 ms23