@chrischall/tripadvisor-mcp 0.3.4 → 0.4.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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/dist/bundle.js +21 -10
- package/dist/version.js +1 -1
- package/mint.yaml +8 -1
- package/package.json +2 -2
- package/server.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "MCP server for the TripAdvisor Terra API — location search, details, photos, and reviews",
|
|
10
|
-
"version": "0.
|
|
10
|
+
"version": "0.4.0"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "TripAdvisor",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "TripAdvisor travel data via the Terra API — search hotels, restaurants, and attractions, with details, photos, and reviews",
|
|
18
|
-
"version": "0.
|
|
18
|
+
"version": "0.4.0",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
package/dist/bundle.js
CHANGED
|
@@ -3314,8 +3314,8 @@ var require_utils = __commonJS({
|
|
|
3314
3314
|
var HOST_DELIMS = { "@": "%40", "/": "%2F", "?": "%3F", "#": "%23", ":": "%3A" };
|
|
3315
3315
|
var HOST_DELIM_RE = /[@/?#:]/g;
|
|
3316
3316
|
var HOST_DELIM_NO_COLON_RE = /[@/?#]/g;
|
|
3317
|
-
function reescapeHostDelimiters(host,
|
|
3318
|
-
const re =
|
|
3317
|
+
function reescapeHostDelimiters(host, isIP2) {
|
|
3318
|
+
const re = isIP2 ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE;
|
|
3319
3319
|
re.lastIndex = 0;
|
|
3320
3320
|
return host.replace(re, (ch) => HOST_DELIMS[ch]);
|
|
3321
3321
|
}
|
|
@@ -3804,7 +3804,7 @@ var require_fast_uri = __commonJS({
|
|
|
3804
3804
|
fragment: void 0
|
|
3805
3805
|
};
|
|
3806
3806
|
let malformedAuthorityOrPort = false;
|
|
3807
|
-
let
|
|
3807
|
+
let isIP2 = false;
|
|
3808
3808
|
if (options.reference === "suffix") {
|
|
3809
3809
|
if (options.scheme) {
|
|
3810
3810
|
uri = options.scheme + ":" + uri;
|
|
@@ -3853,9 +3853,9 @@ var require_fast_uri = __commonJS({
|
|
|
3853
3853
|
if (ipv4result === false) {
|
|
3854
3854
|
const ipv6result = normalizeIPv6(parsed.host);
|
|
3855
3855
|
parsed.host = ipv6result.host.toLowerCase();
|
|
3856
|
-
|
|
3856
|
+
isIP2 = ipv6result.isIPV6;
|
|
3857
3857
|
} else {
|
|
3858
|
-
|
|
3858
|
+
isIP2 = true;
|
|
3859
3859
|
}
|
|
3860
3860
|
}
|
|
3861
3861
|
if (parsed.scheme === void 0 && parsed.userinfo === void 0 && parsed.host === void 0 && parsed.port === void 0 && parsed.query === void 0 && !parsed.path) {
|
|
@@ -3872,7 +3872,7 @@ var require_fast_uri = __commonJS({
|
|
|
3872
3872
|
}
|
|
3873
3873
|
const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
|
|
3874
3874
|
if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
|
|
3875
|
-
if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) &&
|
|
3875
|
+
if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP2 === false && nonSimpleDomain(parsed.host)) {
|
|
3876
3876
|
try {
|
|
3877
3877
|
parsed.host = new URL("http://" + parsed.host).hostname;
|
|
3878
3878
|
} catch (e) {
|
|
@@ -3886,7 +3886,7 @@ var require_fast_uri = __commonJS({
|
|
|
3886
3886
|
parsed.scheme = unescape(parsed.scheme);
|
|
3887
3887
|
}
|
|
3888
3888
|
if (parsed.host !== void 0) {
|
|
3889
|
-
parsed.host = reescapeHostDelimiters(unescape(parsed.host),
|
|
3889
|
+
parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP2);
|
|
3890
3890
|
}
|
|
3891
3891
|
}
|
|
3892
3892
|
if (parsed.path) {
|
|
@@ -7199,7 +7199,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
7199
7199
|
acceptAsServer(offers) {
|
|
7200
7200
|
const opts = this._options;
|
|
7201
7201
|
const accepted = offers.find((params) => {
|
|
7202
|
-
if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) {
|
|
7202
|
+
if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && (typeof params.client_max_window_bits === "number" ? opts.clientMaxWindowBits > params.client_max_window_bits : !params.client_max_window_bits)) {
|
|
7203
7203
|
return false;
|
|
7204
7204
|
}
|
|
7205
7205
|
return true;
|
|
@@ -35006,7 +35006,7 @@ var pageSchema = {
|
|
|
35006
35006
|
};
|
|
35007
35007
|
|
|
35008
35008
|
// src/version.ts
|
|
35009
|
-
var VERSION = "0.
|
|
35009
|
+
var VERSION = "0.4.0";
|
|
35010
35010
|
|
|
35011
35011
|
// src/client.ts
|
|
35012
35012
|
import { dirname, join } from "node:path";
|
|
@@ -37366,6 +37366,7 @@ function classifyBridgeError(err) {
|
|
|
37366
37366
|
}
|
|
37367
37367
|
|
|
37368
37368
|
// node_modules/@fetchproxy/server/dist/ws-server.js
|
|
37369
|
+
import { isIP } from "node:net";
|
|
37369
37370
|
function envWsPort() {
|
|
37370
37371
|
const raw = process.env.FETCHPROXY_WS_PORT;
|
|
37371
37372
|
if (raw === void 0 || raw.trim() === "")
|
|
@@ -37377,6 +37378,15 @@ function envWsPort() {
|
|
|
37377
37378
|
return void 0;
|
|
37378
37379
|
return port;
|
|
37379
37380
|
}
|
|
37381
|
+
function envWsHost() {
|
|
37382
|
+
const raw = process.env.FETCHPROXY_WS_HOST;
|
|
37383
|
+
if (raw === void 0)
|
|
37384
|
+
return void 0;
|
|
37385
|
+
const host = raw.trim();
|
|
37386
|
+
if (host === "" || isIP(host) === 0)
|
|
37387
|
+
return void 0;
|
|
37388
|
+
return host;
|
|
37389
|
+
}
|
|
37380
37390
|
var FetchproxyProtocolError = class extends Error {
|
|
37381
37391
|
constructor(message) {
|
|
37382
37392
|
super(message);
|
|
@@ -37625,7 +37635,7 @@ var FetchproxyServer = class {
|
|
|
37625
37635
|
}
|
|
37626
37636
|
this.opts = {
|
|
37627
37637
|
port: opts.port ?? envWsPort() ?? 37149,
|
|
37628
|
-
host: opts.host ?? "127.0.0.1",
|
|
37638
|
+
host: opts.host ?? envWsHost() ?? "127.0.0.1",
|
|
37629
37639
|
serverName: opts.serverName,
|
|
37630
37640
|
version: opts.version,
|
|
37631
37641
|
domains: [...opts.domains],
|
|
@@ -37911,6 +37921,7 @@ var FetchproxyServer = class {
|
|
|
37911
37921
|
return {
|
|
37912
37922
|
role: this.role,
|
|
37913
37923
|
port: this.opts.port,
|
|
37924
|
+
host: this.opts.host,
|
|
37914
37925
|
serverVersion: this.opts.version,
|
|
37915
37926
|
fetchTimeoutMs: this.opts.fetchTimeoutMs ?? 0,
|
|
37916
37927
|
bridgeReviveDelayMs: this.opts.bridgeReviveDelayMs ?? 0,
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Single source of the server version. release-please bumps the literal below. */
|
|
2
|
-
export const VERSION = '0.
|
|
2
|
+
export const VERSION = '0.4.0'; // x-release-please-version
|
package/mint.yaml
CHANGED
|
@@ -53,4 +53,11 @@ egress:
|
|
|
53
53
|
# Only hosts the SERVER process actually fetches. Hosts that appear
|
|
54
54
|
# solely in a URL this server BUILDS and returns are excluded.
|
|
55
55
|
- terra.tripadvisor.com
|
|
56
|
-
|
|
56
|
+
#
|
|
57
|
+
# NOT listed on purpose: www.tripadvisor.com (and the tripadvisor.com
|
|
58
|
+
# apex). The web tools reach the consumer site through the fetchproxy
|
|
59
|
+
# BROWSER BRIDGE — each request is a same-origin fetch executed in the
|
|
60
|
+
# user's signed-in tab, so the browser dials it, never this process, and
|
|
61
|
+
# there is no direct (bridge-less) mode. The only host the process itself
|
|
62
|
+
# fetches is the Terra API above; the www hostname appears in src only in
|
|
63
|
+
# error hints and returned deep-links.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chrischall/tripadvisor-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"mcpName": "io.github.chrischall/tripadvisor-mcp",
|
|
5
5
|
"description": "TripAdvisor Terra API MCP server for Claude — search locations, details, photos, and reviews. Developed and maintained by AI (Claude Code).",
|
|
6
6
|
"author": "Claude Code (AI) <https://www.anthropic.com/claude>",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@chrischall/mcp-utils": "^0.15.0",
|
|
50
|
-
"@fetchproxy/server": "^2.
|
|
50
|
+
"@fetchproxy/server": "^2.2.0",
|
|
51
51
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
52
52
|
"dotenv": "^17.4.0",
|
|
53
53
|
"zod": "^4.4.2"
|
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/chrischall/tripadvisor-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.4.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@chrischall/tripadvisor-mcp",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.4.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|