@scavio/mcp-server 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -11
- package/dist/tools/index.d.ts +4 -4
- package/dist/tools/index.js +9 -5
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/realtor.d.ts +3 -0
- package/dist/tools/realtor.js +123 -0
- package/dist/tools/realtor.js.map +1 -0
- package/dist/tools/rightmove.d.ts +3 -0
- package/dist/tools/rightmove.js +130 -0
- package/dist/tools/rightmove.js.map +1 -0
- package/dist/tools/trustpilot.js +2 -2
- package/dist/tools/trustpilot.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|

|
|
4
4
|

|
|
5
5
|
|
|
6
|
-
[Scavio](https://scavio.dev?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) is a unified [Web Search API](https://scavio.dev/docs/search-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) and MCP server that gives AI agents web search, page extraction, and structured data from e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing sources.
|
|
6
|
+
[Scavio](https://scavio.dev?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) is a unified [Web Search API](https://scavio.dev/docs/search-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) and MCP server that gives AI agents web search, page extraction, and structured data from e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing sources. 224 tools across 35 platforms plus Extract, one API key.
|
|
7
7
|
|
|
8
|
-
**The 22 platforms added in 0.13.0 are opt-in.** Registering all
|
|
8
|
+
**The 22 platforms added in 0.13.0 are opt-in.** Registering all 224 tools puts 211KB of tool definitions — roughly 52k tokens — into every session before you type anything. So the default is the surface 0.12.x already had, plus Extract: 107 tools, 82KB. Upgrading never removes a tool you were using. Everything else is one env var away: see [Choosing which tools load](#choosing-which-tools-load).
|
|
9
9
|
|
|
10
10
|
## Remote MCP Server
|
|
11
11
|
|
|
@@ -207,8 +207,8 @@ Add to settings (`Cmd+,`):
|
|
|
207
207
|
|
|
208
208
|
## Choosing which tools load
|
|
209
209
|
|
|
210
|
-
Scavio exposes
|
|
211
|
-
roughly
|
|
210
|
+
Scavio exposes 224 tools. Loading all of them costs 211KB of `tools/list` —
|
|
211
|
+
roughly 52k tokens of context in every session before the user has said anything,
|
|
212
212
|
and more tools than some clients will accept at all. So the server registers a
|
|
213
213
|
curated subset by default and lets you pick the rest. The sizes below are
|
|
214
214
|
measured, not estimated: `npm run toolslist` reproduces them.
|
|
@@ -218,7 +218,7 @@ measured, not estimated: `npm run toolslist` reproduces them.
|
|
|
218
218
|
| Value | Registers |
|
|
219
219
|
|-------|-----------|
|
|
220
220
|
| *(unset)* or `default` | Everything 0.12.x had, plus `extract` — **107 tools, 82KB** |
|
|
221
|
-
| `all` | every platform — **
|
|
221
|
+
| `all` | every platform — **224 tools, 211KB** |
|
|
222
222
|
| `extract,sec,g2` | just those platforms — 11 tools, 12KB |
|
|
223
223
|
| `default,zillow,metaads` | the default set plus two more — 113 tools, 89KB |
|
|
224
224
|
| `none` | no platform tools, only `get_usage` |
|
|
@@ -233,8 +233,8 @@ tells you to call to check the server works.
|
|
|
233
233
|
**Platform keys:** `extract`, `google`, `youtube`, `tiktok`, `instagram`,
|
|
234
234
|
`reddit`, `x`, `linkedin`, `threads`, `kuaishou`, `amazon`, `walmart`, `ebay`,
|
|
235
235
|
`target`, `homedepot`, `costco`, `tiktok-shop`, `booking`, `airbnb`,
|
|
236
|
-
`tripadvisor`, `yelp`, `zillow`, `redfin`, `
|
|
237
|
-
`g2`, `capterra`, `trustpilot`, `googleads`, `metaads`, `sec`, `companieshouse`
|
|
236
|
+
`tripadvisor`, `yelp`, `zillow`, `redfin`, `realtor`, `rightmove`, `indeed`, `glassdoor`,
|
|
237
|
+
`appstore`, `googleplay`, `g2`, `capterra`, `trustpilot`, `googleads`, `metaads`, `sec`, `companieshouse`
|
|
238
238
|
|
|
239
239
|
### Local (stdio)
|
|
240
240
|
|
|
@@ -691,6 +691,42 @@ not something Costco publishes, and only items Costco lists online are covered.
|
|
|
691
691
|
|
|
692
692
|
1 credit per call. `search_redfin` pages with `page` + `limit`, up to 350 listings per page; the other two are single-shot.
|
|
693
693
|
|
|
694
|
+
### Realtor.com
|
|
695
|
+
|
|
696
|
+
| Tool | Description |
|
|
697
|
+
|------|-------------|
|
|
698
|
+
| `search_realtor` | US listings for sale, pending, for rent or sold by location, radius or agent: price, beds, baths, sqft, lot, year built, garage, HOA, type, listed/sold/price-cut within N days, keywords in the listing text, new construction, foreclosure, open house; up to 200 per call |
|
|
699
|
+
| `get_realtor_property` | One property by id or URL: price and tax history, three value estimates with history and forecast, schools, flood/wildfire/noise risk, listing agent and office |
|
|
700
|
+
| `get_realtor_locations` | Autocomplete cities, counties, ZIPs, neighborhoods, schools and addresses, with the slug_id for market and the property_id for an address |
|
|
701
|
+
| `get_realtor_market` | Market stats for a city, county or ZIP: median list, sold and rent price, price per sqft, days on market, year-over-year and month-over-month change, by property type |
|
|
702
|
+
| `search_realtor_agents` | Agents by city, ZIP or name: rating, reviews, active listings and price range, homes sold last year, broker and office |
|
|
703
|
+
| `get_realtor_agent` | One agent's full profile with every review and four sub-ratings |
|
|
704
|
+
|
|
705
|
+
1 credit per call. `search_realtor` returns up to 200 listings per page (default 50) and
|
|
706
|
+
serves the first 10,000 results of a search (`page` x `page_size` <= 10,000); slice a big
|
|
707
|
+
area by price band, property type or radius to reach more. Sold prices are null in US
|
|
708
|
+
non-disclosure states (Texas, Utah, Wyoming and about nine others), while sold dates still
|
|
709
|
+
come back. An unknown property or agent id is a billed 404.
|
|
710
|
+
|
|
711
|
+
### Rightmove
|
|
712
|
+
|
|
713
|
+
| Tool | Description |
|
|
714
|
+
|------|-------------|
|
|
715
|
+
| `get_rightmove_locations` | UK place, outcode, postcode or station to the `location_id` search and agents take |
|
|
716
|
+
| `search_rightmove` | UK property for sale or to rent: price (GBP), beds, baths, type, must-haves, exclusions, tenure, added within days, under offer, radius, furnishing, let type; 24-25 per page |
|
|
717
|
+
| `get_rightmove_property` | One listing in full: tenure and lease years, council tax band, service charge, ground rent, EPC, rooms, floorplans, flood risk, broadband, stations, agent |
|
|
718
|
+
| `get_rightmove_sold` | Sold prices for a town, outcode or postcode: 25 addresses per page, each with its sale history since 1995, plus the area's average price over the last year |
|
|
719
|
+
| `get_rightmove_sold_property` | One sold address: every sale with price, date, tenure, new-build flag and percent change, plus the archived last listing |
|
|
720
|
+
| `search_rightmove_agents` | Estate and letting agent branches for a location: phones, address, brand and company ids, profile URL |
|
|
721
|
+
| `get_rightmove_agent` | One branch by id or URL: address, phones, affiliations, listing counts and a teaser |
|
|
722
|
+
|
|
723
|
+
1 credit per call. Rightmove search has no keyword filter: match on the returned `summary`
|
|
724
|
+
and `key_features` instead. Paging caps per search: 42 pages for `search_rightmove`
|
|
725
|
+
(about 1,000 listings), 40 for `get_rightmove_sold`, 50 for `search_rightmove_agents`;
|
|
726
|
+
narrow by price band, type or a smaller area to reach more. Sold prices cover England and
|
|
727
|
+
Wales. Live listings carry no price history, so use `get_rightmove_sold_property` for an
|
|
728
|
+
address's past sales. A removed listing or an unknown id is a billed 404.
|
|
729
|
+
|
|
694
730
|
### [Indeed](https://scavio.dev/docs/indeed-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
695
731
|
|
|
696
732
|
| Tool | Description |
|
|
@@ -753,7 +789,7 @@ not something Costco publishes, and only items Costco lists online are covered.
|
|
|
753
789
|
|
|
754
790
|
2 credits per call. Only `get_capterra_reviews` paginates: 25 per page, capped at page 100 - past it Capterra answers 200 with page one, so check what came back. `get_capterra_product` already includes the 25 most recent reviews.
|
|
755
791
|
|
|
756
|
-
### Trustpilot
|
|
792
|
+
### [Trustpilot](https://scavio.dev/docs/trustpilot-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
757
793
|
|
|
758
794
|
| Tool | Description |
|
|
759
795
|
|------|-------------|
|
|
@@ -761,7 +797,7 @@ not something Costco publishes, and only items Costco lists online are covered.
|
|
|
761
797
|
| `get_trustpilot_business` | Full profile by domain or URL: rating distribution, review count per language, claimed and verification status, reply rate and days to reply, consumer alerts, AI summary and topics, similar businesses, 20 newest reviews |
|
|
762
798
|
| `get_trustpilot_reviews` | A page of 20 reviews filtered by stars, language, date range, topics, text, verified-only and with-replies; sorted by recency or relevance |
|
|
763
799
|
| `get_trustpilot_categories` | The category tree (22 top-level, 189 subcategories), or categories matching a name |
|
|
764
|
-
| `get_trustpilot_category` | Businesses ranked in a category by country: sort, minimum TrustScore, claimed profiles only; 20 per page |
|
|
800
|
+
| `get_trustpilot_category` | Businesses ranked in a category by country: sort, minimum star rating (TrustScore rounded to stars, so 4 includes 3.8+), claimed profiles only; 20 per page |
|
|
765
801
|
| `get_trustpilot_review` | One review by its 24-character id, with the business it is about |
|
|
766
802
|
|
|
767
803
|
2 credits per call. `get_trustpilot_reviews` serves 10 pages of 20, so 200 reviews per
|
|
@@ -833,9 +869,9 @@ id is a billed 404 that names what was not found.
|
|
|
833
869
|
- [Amazon Product API](https://scavio.dev/amazon-product-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) and [Walmart Product API](https://scavio.dev/walmart-product-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) — product search and details, alongside [eBay](https://scavio.dev/docs/ebay-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Target](https://scavio.dev/docs/target-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Home Depot](https://scavio.dev/docs/home-depot-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) and [Costco](https://scavio.dev/costco-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) (per-warehouse prices, stock, gas prices, coupon book)
|
|
834
870
|
- [TikTok API](https://scavio.dev/tiktok-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Instagram API](https://scavio.dev/instagram-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Reddit API](https://scavio.dev/reddit-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [X API](https://scavio.dev/x-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [LinkedIn API](https://scavio.dev/linkedin-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), and [YouTube API](https://scavio.dev/youtube-transcript-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) — social and video data
|
|
835
871
|
- Travel and local — [Booking.com](https://scavio.dev/docs/booking-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Airbnb](https://scavio.dev/docs/airbnb-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Tripadvisor](https://scavio.dev/docs/tripadvisor-locations?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Yelp](https://scavio.dev/docs/yelp-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
836
|
-
- Real estate — [Zillow](https://scavio.dev/docs/zillow-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Redfin](https://scavio.dev/docs/redfin-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
872
|
+
- Real estate — [Zillow](https://scavio.dev/docs/zillow-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Redfin](https://scavio.dev/docs/redfin-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), Realtor.com (listings, sold comps, market stats, agents), Rightmove (UK listings, sold prices since 1995, agents)
|
|
837
873
|
- Jobs and employer data — [Indeed](https://scavio.dev/docs/indeed-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Glassdoor](https://scavio.dev/docs/glassdoor-companies?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
838
|
-
- Apps, software reviews and ad libraries — [App Store](https://scavio.dev/docs/app-store-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Google Play](https://scavio.dev/docs/google-play-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [G2](https://scavio.dev/docs/g2-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Capterra](https://scavio.dev/docs/capterra-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), Trustpilot (business profiles, filtered reviews, category rankings), [Google Ads Transparency](https://scavio.dev/docs/google-ads-advertisers?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Meta Ad Library](https://scavio.dev/docs/meta-ads-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
874
|
+
- Apps, software reviews and ad libraries — [App Store](https://scavio.dev/docs/app-store-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Google Play](https://scavio.dev/docs/google-play-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [G2](https://scavio.dev/docs/g2-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Capterra](https://scavio.dev/docs/capterra-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Trustpilot](https://scavio.dev/trustpilot-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) (business profiles, filtered reviews, category rankings), [Google Ads Transparency](https://scavio.dev/docs/google-ads-advertisers?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Meta Ad Library](https://scavio.dev/docs/meta-ads-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
839
875
|
- Company filings — [SEC EDGAR](https://scavio.dev/docs/sec-edgar-lookup?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme), [Companies House](https://scavio.dev/docs/companies-house-search?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme)
|
|
840
876
|
|
|
841
877
|
Teams use it as a [SerpAPI alternative](https://scavio.dev/alternatives/serpapi?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) with structured multi-platform data — see [Tavily vs Scavio](https://scavio.dev/compare/tavily/vs-scavio?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) for a head-to-head comparison.
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ export declare const PLATFORM_KEYS: string[];
|
|
|
4
4
|
/**
|
|
5
5
|
* What registers when SCAVIO_PLATFORMS is unset.
|
|
6
6
|
*
|
|
7
|
-
* Registering everything is not an option any more. The full surface is
|
|
8
|
-
* tools, which serialises to
|
|
9
|
-
* `npm run toolslist`, not estimated) — roughly
|
|
7
|
+
* Registering everything is not an option any more. The full surface is 224
|
|
8
|
+
* tools, which serialises to 211KB of tools/list (measured with
|
|
9
|
+
* `npm run toolslist`, not estimated) — roughly 52k tokens pushed into the
|
|
10
10
|
* context of EVERY session before the user has typed anything, and past the
|
|
11
11
|
* hard tool-count ceiling some clients enforce. The default set below is 107
|
|
12
12
|
* tools, 82KB.
|
|
@@ -26,7 +26,7 @@ export declare const DEFAULT_PLATFORMS: string[];
|
|
|
26
26
|
* Turn a SCAVIO_PLATFORMS value into the canonical platform keys to register.
|
|
27
27
|
*
|
|
28
28
|
* Accepts a comma-separated list of platform keys, plus three keywords:
|
|
29
|
-
* all — every platform (
|
|
29
|
+
* all — every platform (224 tools)
|
|
30
30
|
* default — expands to DEFAULT_PLATFORMS, so `default,sec,g2` is additive
|
|
31
31
|
* none — no platform tools at all, leaving only get_usage
|
|
32
32
|
*
|
package/dist/tools/index.js
CHANGED
|
@@ -22,6 +22,8 @@ import { registerTripadvisorTools } from "./tripadvisor.js";
|
|
|
22
22
|
import { registerYelpTools } from "./yelp.js";
|
|
23
23
|
import { registerZillowTools } from "./zillow.js";
|
|
24
24
|
import { registerRedfinTools } from "./redfin.js";
|
|
25
|
+
import { registerRealtorTools } from "./realtor.js";
|
|
26
|
+
import { registerRightmoveTools } from "./rightmove.js";
|
|
25
27
|
import { registerIndeedTools } from "./indeed.js";
|
|
26
28
|
import { registerGlassdoorTools } from "./glassdoor.js";
|
|
27
29
|
import { registerAppStoreTools } from "./appstore.js";
|
|
@@ -77,6 +79,8 @@ const PLATFORMS = {
|
|
|
77
79
|
// Real estate
|
|
78
80
|
zillow: registerZillowTools,
|
|
79
81
|
redfin: registerRedfinTools,
|
|
82
|
+
realtor: registerRealtorTools,
|
|
83
|
+
rightmove: registerRightmoveTools,
|
|
80
84
|
// Jobs and employer data
|
|
81
85
|
indeed: registerIndeedTools,
|
|
82
86
|
glassdoor: registerGlassdoorTools,
|
|
@@ -99,9 +103,9 @@ export const PLATFORM_KEYS = Object.keys(PLATFORMS);
|
|
|
99
103
|
/**
|
|
100
104
|
* What registers when SCAVIO_PLATFORMS is unset.
|
|
101
105
|
*
|
|
102
|
-
* Registering everything is not an option any more. The full surface is
|
|
103
|
-
* tools, which serialises to
|
|
104
|
-
* `npm run toolslist`, not estimated) — roughly
|
|
106
|
+
* Registering everything is not an option any more. The full surface is 224
|
|
107
|
+
* tools, which serialises to 211KB of tools/list (measured with
|
|
108
|
+
* `npm run toolslist`, not estimated) — roughly 52k tokens pushed into the
|
|
105
109
|
* context of EVERY session before the user has typed anything, and past the
|
|
106
110
|
* hard tool-count ceiling some clients enforce. The default set below is 107
|
|
107
111
|
* tools, 82KB.
|
|
@@ -156,7 +160,7 @@ function warnOnce(message) {
|
|
|
156
160
|
* Turn a SCAVIO_PLATFORMS value into the canonical platform keys to register.
|
|
157
161
|
*
|
|
158
162
|
* Accepts a comma-separated list of platform keys, plus three keywords:
|
|
159
|
-
* all — every platform (
|
|
163
|
+
* all — every platform (224 tools)
|
|
160
164
|
* default — expands to DEFAULT_PLATFORMS, so `default,sec,g2` is additive
|
|
161
165
|
* none — no platform tools at all, leaving only get_usage
|
|
162
166
|
*
|
|
@@ -235,7 +239,7 @@ const READ_ONLY_ANNOTATIONS = {
|
|
|
235
239
|
};
|
|
236
240
|
/**
|
|
237
241
|
* Wrap the server so every tool() call is annotated at registration, instead
|
|
238
|
-
* of editing
|
|
242
|
+
* of editing 224 call sites. A tool added later picks this up automatically.
|
|
239
243
|
*/
|
|
240
244
|
function annotating(server) {
|
|
241
245
|
return new Proxy(server, {
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { handleApiError } from "../lib/tool-error.js";
|
|
3
|
+
import { trimResponse } from "../lib/trim-response.js";
|
|
4
|
+
// Shapes mirror backend/src/routes/realtor.ts field for field (names, enums,
|
|
5
|
+
// regexes, min/max). Cross-field rules the backend enforces and zod here does
|
|
6
|
+
// not; a violation comes back as a 400 with the reason:
|
|
7
|
+
// search: location, latitude + longitude + radius_miles, or agent_id;
|
|
8
|
+
// page x page_size <= 10,000
|
|
9
|
+
// property: exactly one of property_id or url
|
|
10
|
+
// agents: exactly one of location, postal_code or name
|
|
11
|
+
//
|
|
12
|
+
// No zod `.default()` anywhere in this file. The MCP SDK applies a zod default
|
|
13
|
+
// BEFORE the handler runs, so a defaulted field is posted on every call whether
|
|
14
|
+
// the model set it or not. Defaults are documented in the describe text and
|
|
15
|
+
// left for the backend to apply.
|
|
16
|
+
const NON_DISCLOSURE = "Sold prices are null in US non-disclosure states (Texas, Utah, Wyoming and about nine others); sold dates still come back.";
|
|
17
|
+
const LISTING_STATUSES = ["for_sale", "pending", "for_rent", "sold"];
|
|
18
|
+
const PROPERTY_TYPES = ["single_family", "condos", "townhomes", "multi_family", "land", "mobile", "farm"];
|
|
19
|
+
const SORTS = [
|
|
20
|
+
"relevance", "newest", "price_low", "price_high", "sold_newest",
|
|
21
|
+
"sqft_high", "lot_size_high", "year_built_new", "recently_updated", "recently_reduced",
|
|
22
|
+
];
|
|
23
|
+
const agentId = () => z.string().regex(/^\d{1,12}$/, "agent_id must be a numeric Realtor.com agent id");
|
|
24
|
+
const count = (description) => z.number().int().min(0).optional().describe(description);
|
|
25
|
+
const days = (description) => z.number().int().min(1).max(3650).optional().describe(description);
|
|
26
|
+
export function registerRealtorTools(server, getClient) {
|
|
27
|
+
const post = (path) => async (params) => {
|
|
28
|
+
try {
|
|
29
|
+
const data = await getClient().post(`/api/v1/realtor/${path}`, params);
|
|
30
|
+
return trimResponse(data);
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
return handleApiError(err);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
server.tool("search_realtor", `Search Realtor.com US listings for sale, pending, for rent or sold, by location, lat/lng radius or agent. Filters: price, beds, baths, sqft, lot size, year built, garage, HOA, property type, listed/sold/price-cut within N days, keywords in the listing text, new construction, foreclosure, open house. Up to 200 listings/call with price, sold price and date, lot size, address with coordinates, MLS id and listing agent. Use for listing watches across many areas and sold comps (e.g. sold land by lot size). First 10,000 results per search: slice by price band, type or area for more. ${NON_DISCLOSURE} 1 credit/page.`, {
|
|
37
|
+
location: z.string().min(1).max(200).optional()
|
|
38
|
+
.describe("City ('Austin, TX'), county ('Travis County, TX'), ZIP, state or neighborhood. Pass location, latitude+longitude+radius_miles, or agent_id."),
|
|
39
|
+
latitude: z.number().min(-90).max(90).optional()
|
|
40
|
+
.describe("Center latitude for a radius search (with longitude and radius_miles)."),
|
|
41
|
+
longitude: z.number().min(-180).max(180).optional()
|
|
42
|
+
.describe("Center longitude for a radius search."),
|
|
43
|
+
radius_miles: z.number().min(0.1).max(50).optional()
|
|
44
|
+
.describe("Radius around latitude/longitude, 0.1-50 miles."),
|
|
45
|
+
agent_id: agentId().optional()
|
|
46
|
+
.describe("Only this agent's listings (agent_id from search rows or search_realtor_agents)."),
|
|
47
|
+
listing_status: z.enum(LISTING_STATUSES).optional()
|
|
48
|
+
.describe("Default 'for_sale' (includes pending/contingent, as on the site). 'pending' = only pending/contingent."),
|
|
49
|
+
exclude_pending: z.boolean().optional()
|
|
50
|
+
.describe("for_sale only: leave out pending and contingent listings."),
|
|
51
|
+
min_price: z.number().min(0).optional()
|
|
52
|
+
.describe("Min USD: list price, sold price on sold, monthly rent on for_rent."),
|
|
53
|
+
max_price: z.number().min(0).optional()
|
|
54
|
+
.describe("Max USD, same meaning as min_price."),
|
|
55
|
+
beds_min: count("Min bedrooms."),
|
|
56
|
+
beds_max: count("Max bedrooms."),
|
|
57
|
+
baths_min: z.number().min(0).optional()
|
|
58
|
+
.describe("Min bathrooms."),
|
|
59
|
+
baths_max: z.number().min(0).optional()
|
|
60
|
+
.describe("Max bathrooms."),
|
|
61
|
+
sqft_min: count("Min interior sqft."),
|
|
62
|
+
sqft_max: count("Max interior sqft."),
|
|
63
|
+
lot_sqft_min: count("Min lot sqft (1 acre = 43,560)."),
|
|
64
|
+
lot_sqft_max: count("Max lot sqft."),
|
|
65
|
+
year_built_min: z.number().int().min(1700).max(2100).optional()
|
|
66
|
+
.describe("Built in or after this year."),
|
|
67
|
+
year_built_max: z.number().int().min(1700).max(2100).optional()
|
|
68
|
+
.describe("Built in or before this year."),
|
|
69
|
+
garage_min: count("Min garage spaces."),
|
|
70
|
+
max_hoa: z.number().min(0).optional()
|
|
71
|
+
.describe("Max monthly HOA fee USD (listings without an HOA fee are kept)."),
|
|
72
|
+
property_types: z.array(z.enum(PROPERTY_TYPES)).min(1).max(7).optional()
|
|
73
|
+
.describe("Only these property types, e.g. ['land']."),
|
|
74
|
+
listed_within_days: days("Only listings listed in the last N days (1-3650)."),
|
|
75
|
+
sold_within_days: days("sold only: only sales in the last N days (1-3650)."),
|
|
76
|
+
price_reduced_within_days: days("Only listings with a price cut in the last N days (1-3650)."),
|
|
77
|
+
keywords: z.array(z.string().min(1).max(60)).min(1).max(10).optional()
|
|
78
|
+
.describe("Only listings whose listing text matches these, e.g. ['workshop']."),
|
|
79
|
+
new_construction: z.boolean().optional()
|
|
80
|
+
.describe("Only new construction."),
|
|
81
|
+
foreclosure: z.boolean().optional()
|
|
82
|
+
.describe("Only foreclosures."),
|
|
83
|
+
has_open_house: z.boolean().optional()
|
|
84
|
+
.describe("Only listings with an open house in the next 7 days."),
|
|
85
|
+
sort: z.enum(SORTS).optional()
|
|
86
|
+
.describe("Default 'relevance'. price_high = sold price on sold; sold_newest is sold only."),
|
|
87
|
+
page: z.number().int().min(1).max(10000).optional()
|
|
88
|
+
.describe("Page, 1-based. page x page_size <= 10,000."),
|
|
89
|
+
page_size: z.number().int().min(1).max(200).optional()
|
|
90
|
+
.describe("Listings/page, 1-200. Default 50."),
|
|
91
|
+
}, post("search"));
|
|
92
|
+
server.tool("get_realtor_property", `Get one Realtor.com property by property_id or URL: description and details, price history, tax history with assessed and market values, three home value estimates with ranges, history and forecast, schools with ratings, flood/wildfire/noise risk, popularity, the listing agent and office with contact details, mortgage estimate and photos. Estimates, schools and risk can be null for land or new construction. ${NON_DISCLOSURE} Unknown id is a billed 404. 1 credit.`, {
|
|
93
|
+
property_id: z.string().regex(/^\d{6,12}$/, "property_id must be a numeric Realtor.com property id").optional()
|
|
94
|
+
.describe("Property id from search_realtor or get_realtor_locations. Pass property_id or url."),
|
|
95
|
+
url: z.string().min(1).max(500).optional()
|
|
96
|
+
.describe("A realtor.com property or rental URL, instead of property_id."),
|
|
97
|
+
}, post("property"));
|
|
98
|
+
server.tool("get_realtor_locations", `Autocomplete a partial US place name on Realtor.com: cities, counties, ZIPs, neighborhoods, schools and addresses, each with its slug_id (for get_realtor_market) and, for an address, the property_id (for get_realtor_property). 1 credit.`, {
|
|
99
|
+
query: z.string().min(1).max(200)
|
|
100
|
+
.describe("City, county, ZIP, neighborhood, school or street address, e.g. 'Austin'."),
|
|
101
|
+
}, post("locations"));
|
|
102
|
+
server.tool("get_realtor_market", `Get Realtor.com housing market stats for a US city, county or ZIP: median listing, sold and rent price, price per sqft, days on market, lot size, listing and rental counts, year-over-year and month-over-month change, and a breakdown by property type. Some medians are null at some geography levels. 1 credit.`, {
|
|
103
|
+
location: z.string().min(1).max(200)
|
|
104
|
+
.describe("A slug_id from get_realtor_locations (e.g. 'Austin_TX', 'Travis-County_TX') or 'City, ST'."),
|
|
105
|
+
}, post("market"));
|
|
106
|
+
server.tool("search_realtor_agents", `Find US real estate agents on Realtor.com by city, ZIP or name: rating, review and recommendation counts, active listing count and price range, homes sold last year, broker, office, first year in business and services. Pass agent_id to get_realtor_agent for the full profile. 1 credit/page.`, {
|
|
107
|
+
location: z.string().min(1).max(200).optional()
|
|
108
|
+
.describe("City as 'City, ST'. Pass exactly one of location, postal_code or name."),
|
|
109
|
+
postal_code: z.string().regex(/^\d{5}$/, "postal_code must be a 5-digit ZIP code").optional()
|
|
110
|
+
.describe("5-digit ZIP code."),
|
|
111
|
+
name: z.string().min(2).max(100).optional()
|
|
112
|
+
.describe("Agent name."),
|
|
113
|
+
page: z.number().int().min(1).max(1000).optional()
|
|
114
|
+
.describe("Page, 1-based."),
|
|
115
|
+
page_size: z.number().int().min(1).max(50).optional()
|
|
116
|
+
.describe("Agents/page, 1-50. Default 20."),
|
|
117
|
+
}, post("agents"));
|
|
118
|
+
server.tool("get_realtor_agent", `Get one Realtor.com agent's profile with every review: bio, phones, website, license number and state, MLS memberships, languages, specializations, served areas, designations, office, social links, listing and sales stats, and each review with responsiveness, market expertise, negotiation and professionalism sub-ratings and the agent's reply. Unknown id is a billed 404. 1 credit.`, {
|
|
119
|
+
agent_id: agentId()
|
|
120
|
+
.describe("Agent id from search_realtor rows (agent.agent_id) or search_realtor_agents."),
|
|
121
|
+
}, post("agent"));
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=realtor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtor.js","sourceRoot":"","sources":["../../src/tools/realtor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { handleApiError } from "../lib/tool-error.js";
|
|
3
|
+
import { trimResponse } from "../lib/trim-response.js";
|
|
4
|
+
// Shapes mirror backend/src/routes/rightmove.ts field for field (names, enums,
|
|
5
|
+
// regexes, min/max; the backend's one-of-number checks are literal unions
|
|
6
|
+
// here). Cross-field rules the backend enforces and zod here does not; a
|
|
7
|
+
// violation comes back as a 400 with the reason:
|
|
8
|
+
// search: exactly one of location_id, location or branch_id
|
|
9
|
+
// property: exactly one of property_id or url
|
|
10
|
+
// sold-property: exactly one of sold_id or url
|
|
11
|
+
// agents: exactly one of location_id or location
|
|
12
|
+
// agent: exactly one of url or branch_id
|
|
13
|
+
// There is deliberately no keywords field: Rightmove has no keyword filter and
|
|
14
|
+
// the backend rejects one with a 400 rather than bill an unfiltered search.
|
|
15
|
+
//
|
|
16
|
+
// No zod `.default()` anywhere in this file. The MCP SDK applies a zod default
|
|
17
|
+
// BEFORE the handler runs, so a defaulted field is posted on every call whether
|
|
18
|
+
// the model set it or not. Defaults are documented in the describe text and
|
|
19
|
+
// left for the backend to apply.
|
|
20
|
+
const PROPERTY_TYPES = ["detached", "semi_detached", "terraced", "flat", "bungalow", "land", "park_home"];
|
|
21
|
+
const TENURES = ["freehold", "leasehold"];
|
|
22
|
+
const radius = (description) => z.union([
|
|
23
|
+
z.literal(0), z.literal(0.25), z.literal(0.5), z.literal(1), z.literal(3), z.literal(5),
|
|
24
|
+
z.literal(10), z.literal(15), z.literal(20), z.literal(30), z.literal(40),
|
|
25
|
+
]).optional().describe(description);
|
|
26
|
+
const locationId = () => z.string()
|
|
27
|
+
.regex(/^(REGION|OUTCODE|POSTCODE|STATION|BRANCH|STREET)\^\d+$/i, "location_id must be an id from locations such as REGION^904")
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("location_id from get_rightmove_locations, e.g. 'REGION^219' (REGION^, OUTCODE^, POSTCODE^ or STATION^).");
|
|
30
|
+
const locationName = () => z.string().min(1).max(100).optional()
|
|
31
|
+
.describe("A UK place name, resolved to its first match (echoed in the response), e.g. 'Bristol'. Alternative to location_id.");
|
|
32
|
+
const branchId = () => z.string().regex(/^\d{1,9}$/, "branch_id must be a numeric Rightmove branch id");
|
|
33
|
+
export function registerRightmoveTools(server, getClient) {
|
|
34
|
+
const post = (path) => async (params) => {
|
|
35
|
+
try {
|
|
36
|
+
const data = await getClient().post(`/api/v1/rightmove/${path}`, params);
|
|
37
|
+
return trimResponse(data);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
return handleApiError(err);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
server.tool("get_rightmove_locations", `Look up UK places on Rightmove by town, area, outcode, postcode or station and get the location_id that search_rightmove and search_rightmove_agents take. 1 credit.`, {
|
|
44
|
+
query: z.string().min(1).max(100)
|
|
45
|
+
.describe("Town, area, outcode ('SW11'), postcode or station, e.g. 'Bristol'."),
|
|
46
|
+
}, post("locations"));
|
|
47
|
+
server.tool("search_rightmove", `Search UK property for sale or to rent on Rightmove by location_id, place name or agent branch. Filters: price (GBP; monthly on for_rent), beds, baths, property type, must-haves (garden, parking, new home), exclusions (auction, retirement, shared ownership, new home), tenure, added within days, under offer, radius, furnishing and let type. Returns price with qualifier (e.g. Guide Price), address, coordinates, summary, key features, images, tenure, listing dates and agent. 24-25/page, max 42 pages (~1,000 listings) per search: slice by price band, type or area for more. NO keyword filter: match on summary and key_features yourself. 1 credit/page.`, {
|
|
48
|
+
location_id: locationId(),
|
|
49
|
+
location: locationName(),
|
|
50
|
+
branch_id: branchId().optional()
|
|
51
|
+
.describe("Only this agent branch's listings (branch_id from search_rightmove_agents). Pass exactly one of location_id, location or branch_id."),
|
|
52
|
+
listing_status: z.enum(["for_sale", "for_rent"]).optional()
|
|
53
|
+
.describe("Default 'for_sale'."),
|
|
54
|
+
min_price: z.number().min(0).optional()
|
|
55
|
+
.describe("Min GBP (monthly rent on for_rent)."),
|
|
56
|
+
max_price: z.number().min(0).optional()
|
|
57
|
+
.describe("Max GBP (monthly rent on for_rent)."),
|
|
58
|
+
beds_min: z.number().int().min(0).max(10).optional()
|
|
59
|
+
.describe("Min bedrooms."),
|
|
60
|
+
beds_max: z.number().int().min(0).max(10).optional()
|
|
61
|
+
.describe("Max bedrooms."),
|
|
62
|
+
baths_min: z.number().int().min(1).max(5).optional()
|
|
63
|
+
.describe("Min bathrooms."),
|
|
64
|
+
property_types: z.array(z.enum(PROPERTY_TYPES)).min(1).max(7).optional()
|
|
65
|
+
.describe("Only these types, e.g. ['detached', 'semi_detached']."),
|
|
66
|
+
must_have: z.array(z.enum(["garden", "parking", "new_home"])).min(1).max(3).optional()
|
|
67
|
+
.describe("Only listings with all of these."),
|
|
68
|
+
exclude: z.array(z.enum(["auction", "retirement", "shared_ownership", "new_home"])).min(1).max(4).optional()
|
|
69
|
+
.describe("Leave these listing kinds out."),
|
|
70
|
+
tenure: z.enum(TENURES).optional()
|
|
71
|
+
.describe("for_sale only."),
|
|
72
|
+
added_within_days: z.union([z.literal(1), z.literal(3), z.literal(7), z.literal(14)]).optional()
|
|
73
|
+
.describe("Only listings added in the last 1, 3, 7 or 14 days."),
|
|
74
|
+
include_under_offer: z.boolean().optional()
|
|
75
|
+
.describe("Include under offer / sold STC (for_sale) or let agreed (for_rent)."),
|
|
76
|
+
radius_miles: radius("Widen the area by miles: 0 (default), 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30 or 40."),
|
|
77
|
+
furnishing: z.array(z.enum(["furnished", "part_furnished", "unfurnished"])).min(1).max(3).optional()
|
|
78
|
+
.describe("for_rent only."),
|
|
79
|
+
let_type: z.enum(["long_term", "short_term"]).optional()
|
|
80
|
+
.describe("for_rent only."),
|
|
81
|
+
sort: z.enum(["newest", "oldest", "price_low", "price_high"]).optional()
|
|
82
|
+
.describe("Default 'newest'."),
|
|
83
|
+
page: z.number().int().min(1).max(42).optional()
|
|
84
|
+
.describe("Page 1-42, 24-25/page."),
|
|
85
|
+
}, post("search"));
|
|
86
|
+
server.tool("get_rightmove_property", `Get one Rightmove listing in full by property_id or URL: price and qualifier, description, key features, rooms, images, floorplans, brochures, EPC, tenure and lease years remaining, council tax band, service charge and ground rent, heating, parking, garden, accessibility and flood-risk details, broadband, nearest stations, letting terms and the agent branch with phone. No price history on live listings: use get_rightmove_sold_property for an address's past sales. Removed or unknown listing is a billed 404. 1 credit.`, {
|
|
87
|
+
property_id: z.string().regex(/^\d{5,12}$/, "property_id must be a numeric Rightmove listing id").optional()
|
|
88
|
+
.describe("Listing id from search_rightmove. Pass property_id or url."),
|
|
89
|
+
url: z.string().min(1).max(500).optional()
|
|
90
|
+
.describe("A rightmove.co.uk/properties/<id> URL, instead of property_id."),
|
|
91
|
+
}, post("property"));
|
|
92
|
+
server.tool("get_rightmove_sold", `Get UK sold house prices for a town, outcode or postcode in England or Wales: 25 addresses/page, each with its full sale history since 1995 (price, date, tenure, new build), property type, beds, baths and coordinates, plus an area summary with the average price over the last year. Filter by type, tenure, years since sale and radius; sort by date or price. Use for UK comps and price trends. Max 40 pages per search: narrow by type, tenure, years or postcode for more. 1 credit/page.`, {
|
|
93
|
+
location: z.string().min(2).max(80)
|
|
94
|
+
.describe("Town, outcode ('SW11') or full postcode ('SW11 1AA') in England or Wales."),
|
|
95
|
+
property_type: z.enum(["flat", "detached", "semi_detached", "terraced", "other"]).optional()
|
|
96
|
+
.describe("Only this property type."),
|
|
97
|
+
tenure: z.enum(TENURES).optional()
|
|
98
|
+
.describe("Only this tenure."),
|
|
99
|
+
sold_within_years: z.union([
|
|
100
|
+
z.literal(1), z.literal(2), z.literal(3), z.literal(5),
|
|
101
|
+
z.literal(10), z.literal(15), z.literal(20), z.literal(30),
|
|
102
|
+
]).optional()
|
|
103
|
+
.describe("Only addresses sold in the last 1, 2, 3, 5, 10, 15, 20 or 30 years."),
|
|
104
|
+
radius_miles: radius("Widen the area by miles: 0 (default) to 40, same steps as search_rightmove."),
|
|
105
|
+
sort: z.enum(["newest", "price_low", "price_high"]).optional()
|
|
106
|
+
.describe("Default 'newest' (latest sale first)."),
|
|
107
|
+
page: z.number().int().min(1).max(40).optional()
|
|
108
|
+
.describe("Page 1-40, 25 addresses/page."),
|
|
109
|
+
}, post("sold"));
|
|
110
|
+
server.tool("get_rightmove_sold_property", `Get one sold UK address from Rightmove by sold_id or URL: every recorded sale with exact price, date, tenure, new-build flag and percent change since the previous sale, the postcode, and the archived last listing (beds, baths, key features, photos, floorplans, advertised dates) when it was listed on Rightmove. Unknown id is a billed 404. 1 credit.`, {
|
|
111
|
+
sold_id: z.string().regex(/^[0-9a-fA-F-]{36}$/, "sold_id must be a sold_id returned by sold").optional()
|
|
112
|
+
.describe("sold_id from get_rightmove_sold. Pass sold_id or url."),
|
|
113
|
+
url: z.string().min(1).max(500).optional()
|
|
114
|
+
.describe("A rightmove.co.uk/house-prices/details/<id> URL, instead of sold_id."),
|
|
115
|
+
}, post("sold-property"));
|
|
116
|
+
server.tool("search_rightmove_agents", `Find UK estate and letting agent branches on Rightmove for a location: name, brand, company and brand ids, sales and lettings phones, address, sales/lettings flags, description, profile URL and logo. 20 branches/page, max 50 pages: use an outcode in a big city. Pass branch_id to get_rightmove_agent or search_rightmove. 1 credit/page.`, {
|
|
117
|
+
location_id: locationId(),
|
|
118
|
+
location: z.string().min(1).max(100).optional()
|
|
119
|
+
.describe("A UK place name, resolved to its first match. Pass exactly one of location_id or location."),
|
|
120
|
+
page: z.number().int().min(1).max(50).optional()
|
|
121
|
+
.describe("Page 1-50, 20/page."),
|
|
122
|
+
}, post("agents"));
|
|
123
|
+
server.tool("get_rightmove_agent", `Get one Rightmove agent branch by branch_id or profile URL: address, phones, coordinates, company, sales/lettings/commercial/development flags, descriptions, logo, affiliations, and the count plus a teaser of its listings for sale and to rent. Use search_rightmove with branch_id for every listing. Unknown branch is a billed 404. 1 credit.`, {
|
|
124
|
+
branch_id: branchId().optional()
|
|
125
|
+
.describe("branch_id from search_rightmove_agents or a listing's agent. Pass branch_id or url."),
|
|
126
|
+
url: z.string().min(1).max(500).optional()
|
|
127
|
+
.describe("A branch profile URL (profile_url from search_rightmove_agents)."),
|
|
128
|
+
}, post("agent"));
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=rightmove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rightmove.js","sourceRoot":"","sources":["../../src/tools/rightmove.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/trustpilot.js
CHANGED
|
@@ -68,14 +68,14 @@ export function registerTrustpilotTools(server, getClient) {
|
|
|
68
68
|
.describe("Find categories by name, e.g. 'insurance'. Omit for the full tree."),
|
|
69
69
|
country: country(),
|
|
70
70
|
}, post("categories"));
|
|
71
|
-
server.tool("get_trustpilot_category", `List businesses ranked in a Trustpilot category for one country: TrustScore, review count, location, website, email and phone (when published). Sort by relevance, review count or latest review; filter by minimum
|
|
71
|
+
server.tool("get_trustpilot_category", `List businesses ranked in a Trustpilot category for one country: TrustScore, review count, location, website, email and phone (when published). Sort by relevance, review count or latest review; filter by minimum star rating or claimed profiles only. 20/page. Unknown category is a billed 404. 2 credits/page.`, {
|
|
72
72
|
category_id: z.string().regex(/^[a-z0-9_]+$/, "category_id must be a Trustpilot category id such as vpn_service").max(100)
|
|
73
73
|
.describe("Category id from get_trustpilot_categories, e.g. 'vpn_service'."),
|
|
74
74
|
country: country(),
|
|
75
75
|
sort: z.enum(["most_relevant", "reviews_count", "latest_review"]).optional()
|
|
76
76
|
.describe("Default 'most_relevant'."),
|
|
77
77
|
min_trust_score: z.union([z.literal(3), z.literal(4), z.literal(4.5)]).optional()
|
|
78
|
-
.describe("
|
|
78
|
+
.describe("Minimum star rating: 3, 4 or 4.5. Trustpilot rounds TrustScore to stars, so 4 includes TrustScore 3.8 and up."),
|
|
79
79
|
claimed_only: z.boolean().optional()
|
|
80
80
|
.describe("Only businesses that claimed their Trustpilot profile."),
|
|
81
81
|
page: z.number().int().min(1).max(1000).optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trustpilot.js","sourceRoot":"","sources":["../../src/tools/trustpilot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trustpilot.js","sourceRoot":"","sources":["../../src/tools/trustpilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,iCAAiC;AACjC,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,iCAAiC;AAEjC,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC,QAAQ,EAAE;KACpF,QAAQ,CAAC,6DAA6D,CAAC,CAAC;AAE7E,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;SAC1C,QAAQ,CAAC,6HAA6H,CAAC;IAC1I,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;SACvC,QAAQ,CAAC,2FAA2F,CAAC;CACzG,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,SAA6B;IACtF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,EAAE,MAA+B,EAAE,EAAE;QACvE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1E,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,kUAAkU,EAClU;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;aAC9B,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aAC/C,QAAQ,CAAC,gBAAgB,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aACnD,QAAQ,CAAC,uCAAuC,CAAC;KACrD,EACD,IAAI,CAAC,QAAQ,CAAC,CACf,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,scAAsc,EACtc;QACE,GAAG,eAAe,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,2CAA2C,CAAC,CAAC,QAAQ,EAAE;aAC7F,QAAQ,CAAC,6JAA6J,CAAC;KAC3K,EACD,IAAI,CAAC,UAAU,CAAC,CACjB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,qZAAqZ,EACrZ;QACE,GAAG,eAAe,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;aAC7C,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;aACpE,QAAQ,CAAC,uCAAuC,CAAC;QACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,kDAAkD,CAAC,CAAC,QAAQ,EAAE;aAC1G,QAAQ,CAAC,mDAAmD,CAAC;QAChE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;aACxF,QAAQ,CAAC,wCAAwC,CAAC;QACrD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC9C,QAAQ,CAAC,mCAAmC,CAAC;QAChD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aAClC,QAAQ,CAAC,wBAAwB,CAAC;QACrC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACjC,QAAQ,CAAC,uCAAuC,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;aACjF,QAAQ,CAAC,2EAA2E,CAAC;QACxF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aAC1C,QAAQ,CAAC,mDAAmD,CAAC;KACjE,EACD,IAAI,CAAC,SAAS,CAAC,CAChB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,kLAAkL,EAClL;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aACzC,QAAQ,CAAC,oEAAoE,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE;KACnB,EACD,IAAI,CAAC,YAAY,CAAC,CACnB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,sTAAsT,EACtT;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,kEAAkE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;aACvH,QAAQ,CAAC,iEAAiE,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;aACzE,QAAQ,CAAC,0BAA0B,CAAC;QACvC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC9E,QAAQ,CAAC,+GAA+G,CAAC;QAC5H,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACjC,QAAQ,CAAC,wDAAwD,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aAC/C,QAAQ,CAAC,gBAAgB,CAAC;KAC9B,EACD,IAAI,CAAC,UAAU,CAAC,CACjB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,6MAA6M,EAC7M;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;aACtG,QAAQ,CAAC,4FAA4F,CAAC;KAC1G,EACD,IAAI,CAAC,QAAQ,CAAC,CACf,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scavio/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"mcpName": "io.github.scavio-ai/scavio-mcp",
|
|
5
|
-
"description": "MCP server connecting AI agents to Scavio: web search, page extraction, and structured e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing data.
|
|
5
|
+
"description": "MCP server connecting AI agents to Scavio: web search, page extraction, and structured e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing data. 224 tools across 35 platforms plus Extract, one API key.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "Scavio",
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"threads",
|
|
33
33
|
"ebay",
|
|
34
34
|
"zillow",
|
|
35
|
+
"realtor",
|
|
36
|
+
"rightmove",
|
|
35
37
|
"yelp",
|
|
36
38
|
"indeed",
|
|
37
39
|
"glassdoor",
|