@transcend-io/mcp-server-consent 0.6.17 → 0.7.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 +8 -0
- package/dist/cli.mjs +4 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +10 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/{scopes-DkJ_Zvj9.mjs → scopes-Bsuw9moo.mjs} +555 -2
- package/dist/scopes-Bsuw9moo.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/scopes-DkJ_Zvj9.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -119,6 +119,14 @@ See [CONTRIBUTING.md](../../../CONTRIBUTING.md#mcp-servers) for workspace layout
|
|
|
119
119
|
|
|
120
120
|
Analytics tools require the **ViewConsentManager** scope (included in this server's OAuth scopes). See [Consent Analytics Using GraphQL API](https://docs.transcend.io/docs/articles/consent-management/configuration/consent-stats-with-gql-api).
|
|
121
121
|
|
|
122
|
+
## Prompts
|
|
123
|
+
|
|
124
|
+
Workflow templates discoverable via MCP `prompts/list` / `prompts/get`:
|
|
125
|
+
|
|
126
|
+
- `consent-triage` — End-to-end cookie/data-flow triage (setup, batch, research, push)
|
|
127
|
+
- `consent-research-tracker` — Research methodology for classifying a single tracker
|
|
128
|
+
- `consent-inspect-site` — Live site investigation via browser DevTools / airgap console
|
|
129
|
+
|
|
122
130
|
## Related packages
|
|
123
131
|
|
|
124
132
|
Also available as part of the unified [`@transcend-io/mcp`](../mcp/README.md), which includes all domains. See the [root README](../../../README.md#mcp-servers) for the full list.
|
package/dist/cli.mjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { n as getConsentTools, t as CONSENT_OAUTH_SCOPES } from "./scopes-
|
|
2
|
+
import { n as getConsentPrompts, r as getConsentTools, t as CONSENT_OAUTH_SCOPES } from "./scopes-Bsuw9moo.mjs";
|
|
3
3
|
import { createMCPServer } from "@transcend-io/mcp-server-base";
|
|
4
4
|
//#endregion
|
|
5
5
|
//#region src/cli.ts
|
|
6
6
|
createMCPServer({
|
|
7
7
|
name: "transcend-mcp-consent",
|
|
8
|
-
version: "0.
|
|
8
|
+
version: "0.7.0",
|
|
9
9
|
oauthScopes: CONSENT_OAUTH_SCOPES,
|
|
10
|
-
getTools: getConsentTools
|
|
10
|
+
getTools: getConsentTools,
|
|
11
|
+
getPrompts: getConsentPrompts
|
|
11
12
|
});
|
|
12
13
|
//#endregion
|
|
13
14
|
export {};
|
package/dist/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","names":["packageJson.version"],"sources":["../package.json","../src/cli.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"cli.mjs","names":["packageJson.version"],"sources":["../package.json","../src/cli.ts"],"mappings":";;;;;ACQA,gBAAgB;CACd,MAAM;CACGA;CACT,aAAa;CACb,UAAU;CACV,YAAY;CACb,CAAC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ToolClients, ToolDefinition, TranscendGraphQLBase, z } from "@transcend-io/mcp-server-base";
|
|
1
|
+
import { PromptDefinition, ToolClients, ToolDefinition, TranscendGraphQLBase, z } from "@transcend-io/mcp-server-base";
|
|
2
2
|
import { ConsentTrackerStatus, ScopeName } from "@transcend-io/privacy-types";
|
|
3
3
|
import * as _$zod_v4_core0 from "zod/v4/core";
|
|
4
4
|
import * as _$zod from "zod";
|
|
@@ -6,6 +6,14 @@ import * as _$zod from "zod";
|
|
|
6
6
|
//#region src/tools/index.d.ts
|
|
7
7
|
declare function getConsentTools(clients: ToolClients): ToolDefinition[];
|
|
8
8
|
//#endregion
|
|
9
|
+
//#region src/prompts/index.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* Returns consent workflow prompt templates for MCP prompts/list and prompts/get.
|
|
12
|
+
*
|
|
13
|
+
* @param _clients - Unused; accepted so createMCPServer can pass the same factory shape as getTools
|
|
14
|
+
*/
|
|
15
|
+
declare function getConsentPrompts(_clients?: ToolClients): PromptDefinition[];
|
|
16
|
+
//#endregion
|
|
9
17
|
//#region src/scopes.d.ts
|
|
10
18
|
/** OAuth scopes required for Consent MCP tools (offline_access added by base). */
|
|
11
19
|
declare const CONSENT_OAUTH_SCOPES: readonly [ScopeName.ViewConsentManager, ScopeName.ViewAssignedConsentManager, ScopeName.ManageConsentManager, ScopeName.ManageAssignedConsentManager, ScopeName.ViewDataFlow, ScopeName.ManageDataFlow];
|
|
@@ -269,5 +277,5 @@ declare const BulkTriageSchema: z.ZodObject<{
|
|
|
269
277
|
}, z.core.$strip>;
|
|
270
278
|
type BulkTriageInput = z.infer<typeof BulkTriageSchema>;
|
|
271
279
|
//#endregion
|
|
272
|
-
export { type BulkTriageInput, type BulkTriageItemInput, BulkTriageItemSchema, BulkTriageSchema, CONSENT_OAUTH_SCOPES, type GetAggregateAnalyticsInput, GetAggregateAnalyticsSchema, type GetAnalyticsDataInput, GetAnalyticsDataSchema, type GetInventoryStatsInput, GetInventoryStatsSchema, type GetPreferencesInput, GetPreferencesSchema, type GetTimeseriesAnalyticsInput, GetTimeseriesAnalyticsSchema, type ListAirgapBundlesInput, ListAirgapBundlesSchema, type ListCookiesInput, ListCookiesSchema, type ListDataFlowsInput, ListDataFlowsSchema, type ListPurposesInput, ListPurposesSchema, type ListRegimesInput, ListRegimesSchema, type PurposeConsentInput, PurposeConsentSchema, type SetPreferencesInput, SetPreferencesSchema, type UpdateCookieItemInput, UpdateCookieItemSchema, type UpdateCookiesInput, UpdateCookiesSchema, type UpdateDataFlowItemInput, UpdateDataFlowItemSchema, type UpdateDataFlowsInput, UpdateDataFlowsSchema, getConsentTools, resolveAirgapBundleId, resolveAnalyticsDateRange };
|
|
280
|
+
export { type BulkTriageInput, type BulkTriageItemInput, BulkTriageItemSchema, BulkTriageSchema, CONSENT_OAUTH_SCOPES, type GetAggregateAnalyticsInput, GetAggregateAnalyticsSchema, type GetAnalyticsDataInput, GetAnalyticsDataSchema, type GetInventoryStatsInput, GetInventoryStatsSchema, type GetPreferencesInput, GetPreferencesSchema, type GetTimeseriesAnalyticsInput, GetTimeseriesAnalyticsSchema, type ListAirgapBundlesInput, ListAirgapBundlesSchema, type ListCookiesInput, ListCookiesSchema, type ListDataFlowsInput, ListDataFlowsSchema, type ListPurposesInput, ListPurposesSchema, type ListRegimesInput, ListRegimesSchema, type PurposeConsentInput, PurposeConsentSchema, type SetPreferencesInput, SetPreferencesSchema, type UpdateCookieItemInput, UpdateCookieItemSchema, type UpdateCookiesInput, UpdateCookiesSchema, type UpdateDataFlowItemInput, UpdateDataFlowItemSchema, type UpdateDataFlowsInput, UpdateDataFlowsSchema, getConsentPrompts, getConsentTools, resolveAirgapBundleId, resolveAnalyticsDateRange };
|
|
273
281
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/tools/index.ts","../src/scopes.ts","../src/resolveAirgapBundleId.ts","../src/analyticsDateRange.ts","../src/tools/consent_get_preferences.ts","../src/tools/consent_set_preferences.ts","../src/tools/consent_list_airgap_bundles.ts","../src/tools/consent_list_cookies.ts","../src/tools/consent_list_data_flows.ts","../src/tools/consent_list_purposes.ts","../src/tools/consent_list_regimes.ts","../src/tools/consent_get_inventory_stats.ts","../src/tools/consent_get_aggregate_analytics.ts","../src/tools/consent_get_timeseries_analytics.ts","../src/tools/consent_get_analytics_data.ts","../src/tools/consent_update_cookies.ts","../src/tools/consent_update_data_flows.ts","../src/tools/consent_bulk_triage.ts"],"mappings":";;;;;;iBAiBgB,eAAA,CAAgB,OAAA,EAAS,WAAA,GAAc,cAAA;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/tools/index.ts","../src/prompts/index.ts","../src/scopes.ts","../src/resolveAirgapBundleId.ts","../src/analyticsDateRange.ts","../src/tools/consent_get_preferences.ts","../src/tools/consent_set_preferences.ts","../src/tools/consent_list_airgap_bundles.ts","../src/tools/consent_list_cookies.ts","../src/tools/consent_list_data_flows.ts","../src/tools/consent_list_purposes.ts","../src/tools/consent_list_regimes.ts","../src/tools/consent_get_inventory_stats.ts","../src/tools/consent_get_aggregate_analytics.ts","../src/tools/consent_get_timeseries_analytics.ts","../src/tools/consent_get_analytics_data.ts","../src/tools/consent_update_cookies.ts","../src/tools/consent_update_data_flows.ts","../src/tools/consent_bulk_triage.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { BulkTriageItemSchema, BulkTriageSchema, CONSENT_OAUTH_SCOPES, GetAggregateAnalyticsSchema, GetAnalyticsDataSchema, GetInventoryStatsSchema, GetPreferencesSchema, GetTimeseriesAnalyticsSchema, ListAirgapBundlesSchema, ListCookiesSchema, ListDataFlowsSchema, ListPurposesSchema, ListRegimesSchema, PurposeConsentSchema, SetPreferencesSchema, UpdateCookieItemSchema, UpdateCookiesSchema, UpdateDataFlowItemSchema, UpdateDataFlowsSchema, getConsentTools, resolveAirgapBundleId, resolveAnalyticsDateRange };
|
|
1
|
+
import { C as resolveAirgapBundleId, S as BulkTriageSchema, _ as GetInventoryStatsSchema, a as UpdateDataFlowsSchema, b as resolveAnalyticsDateRange, c as PurposeConsentSchema, d as ListPurposesSchema, f as ListDataFlowsSchema, g as GetPreferencesSchema, h as GetTimeseriesAnalyticsSchema, i as UpdateDataFlowItemSchema, l as SetPreferencesSchema, m as ListAirgapBundlesSchema, n as getConsentPrompts, o as UpdateCookieItemSchema, p as ListCookiesSchema, r as getConsentTools, s as UpdateCookiesSchema, t as CONSENT_OAUTH_SCOPES, u as ListRegimesSchema, v as GetAnalyticsDataSchema, x as BulkTriageItemSchema, y as GetAggregateAnalyticsSchema } from "./scopes-Bsuw9moo.mjs";
|
|
2
|
+
export { BulkTriageItemSchema, BulkTriageSchema, CONSENT_OAUTH_SCOPES, GetAggregateAnalyticsSchema, GetAnalyticsDataSchema, GetInventoryStatsSchema, GetPreferencesSchema, GetTimeseriesAnalyticsSchema, ListAirgapBundlesSchema, ListCookiesSchema, ListDataFlowsSchema, ListPurposesSchema, ListRegimesSchema, PurposeConsentSchema, SetPreferencesSchema, UpdateCookieItemSchema, UpdateCookiesSchema, UpdateDataFlowItemSchema, UpdateDataFlowsSchema, getConsentPrompts, getConsentTools, resolveAirgapBundleId, resolveAnalyticsDateRange };
|
|
@@ -691,6 +691,559 @@ function getConsentTools(clients) {
|
|
|
691
691
|
];
|
|
692
692
|
}
|
|
693
693
|
//#endregion
|
|
694
|
+
//#region src/prompts/consent_inspect_site.ts
|
|
695
|
+
const consentInspectSitePrompt = {
|
|
696
|
+
name: "consent-inspect-site",
|
|
697
|
+
description: "Live site investigation methodology for consent triage using browser DevTools. Covers regime overrides, consent verification, performance entries, HTML search, ad infrastructure checks, and airgap classification queries.",
|
|
698
|
+
arguments: [
|
|
699
|
+
{
|
|
700
|
+
name: "site_url",
|
|
701
|
+
description: "The site to investigate (e.g. \"https://example.com\")",
|
|
702
|
+
required: true
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
name: "tracker_domains",
|
|
706
|
+
description: "Comma-separated tracker domains to look for (e.g. \"doubleclick.net,google-analytics.com\")",
|
|
707
|
+
required: true
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
name: "regime",
|
|
711
|
+
description: "The most permissive regime name for URL override (e.g. \"us\"). Choose the regime with fewest opted-out purposes so trackers fire.",
|
|
712
|
+
required: false
|
|
713
|
+
}
|
|
714
|
+
],
|
|
715
|
+
handler: (args) => {
|
|
716
|
+
const siteUrl = args.site_url || "(not specified)";
|
|
717
|
+
const trackerDomains = args.tracker_domains || "(not specified)";
|
|
718
|
+
const regime = args.regime || "us";
|
|
719
|
+
const domainList = trackerDomains.split(",").map((d) => d.trim()).filter(Boolean);
|
|
720
|
+
const domainArrayLiteral = JSON.stringify(domainList);
|
|
721
|
+
return [{
|
|
722
|
+
role: "user",
|
|
723
|
+
content: {
|
|
724
|
+
type: "text",
|
|
725
|
+
text: `Investigate how these trackers load on ${siteUrl}: ${trackerDomains}. Use regime "${regime}" for debug overrides.`
|
|
726
|
+
}
|
|
727
|
+
}, {
|
|
728
|
+
role: "assistant",
|
|
729
|
+
content: {
|
|
730
|
+
type: "text",
|
|
731
|
+
text: `## Live Site Investigation
|
|
732
|
+
|
|
733
|
+
### Important: Platform vs Client Sites
|
|
734
|
+
|
|
735
|
+
The bundle name (e.g. "acme-platform") may be a platform provider, not the actual
|
|
736
|
+
site with trackers. If the main domain is a corporate page without ad trackers, find a
|
|
737
|
+
real client site from links on the homepage and use that instead.
|
|
738
|
+
|
|
739
|
+
### Step 1: Navigate with Debug Overrides
|
|
740
|
+
|
|
741
|
+
Load the page with hash parameters to control consent behavior:
|
|
742
|
+
|
|
743
|
+
\`\`\`
|
|
744
|
+
${siteUrl}/#tcm-regime=${regime}&tcm-prompt=Hidden&log=*
|
|
745
|
+
\`\`\`
|
|
746
|
+
|
|
747
|
+
| Parameter | Purpose |
|
|
748
|
+
|-----------|---------|
|
|
749
|
+
| \`tcm-regime=${regime}\` | Force the most permissive privacy regime |
|
|
750
|
+
| \`tcm-prompt=Hidden\` | Suppress the consent banner |
|
|
751
|
+
| \`log=*\` | Enable verbose airgap debug logging |
|
|
752
|
+
|
|
753
|
+
When \`docs_list\` / \`docs_fetch\` are available, fetch the debugging article for full detail; otherwise open:
|
|
754
|
+
https://docs.transcend.io/docs/articles/consent-management/reference/debugging-and-testing
|
|
755
|
+
|
|
756
|
+
### Step 2: Verify Consent State
|
|
757
|
+
|
|
758
|
+
\`\`\`javascript
|
|
759
|
+
(() => {
|
|
760
|
+
if (!window.airgap) return 'airgap not loaded';
|
|
761
|
+
return JSON.stringify({
|
|
762
|
+
regimes: airgap.getRegimes(),
|
|
763
|
+
purposes: airgap.getConsent().purposes,
|
|
764
|
+
regimePurposes: airgap.getRegimePurposes(),
|
|
765
|
+
}, null, 2);
|
|
766
|
+
})()
|
|
767
|
+
\`\`\`
|
|
768
|
+
|
|
769
|
+
All purposes should be \`true\` or \`"Auto"\`. If not, opt in manually:
|
|
770
|
+
|
|
771
|
+
\`\`\`javascript
|
|
772
|
+
(() => {
|
|
773
|
+
airgap.optIn(Object.fromEntries(
|
|
774
|
+
airgap.getRegimePurposes().map(p => [p, true])
|
|
775
|
+
));
|
|
776
|
+
return JSON.stringify(airgap.getConsent().purposes);
|
|
777
|
+
})()
|
|
778
|
+
\`\`\`
|
|
779
|
+
|
|
780
|
+
### Step 3: Check Performance Entries for Tracker Domains
|
|
781
|
+
|
|
782
|
+
\`\`\`javascript
|
|
783
|
+
(() => {
|
|
784
|
+
const domains = ${domainArrayLiteral};
|
|
785
|
+
const entries = performance.getEntriesByType('resource');
|
|
786
|
+
const results = {};
|
|
787
|
+
for (const d of domains) {
|
|
788
|
+
results[d] = entries.filter(e => e.name.includes(d)).map(e => ({
|
|
789
|
+
url: e.name,
|
|
790
|
+
initiator: e.initiatorType,
|
|
791
|
+
duration: Math.round(e.duration),
|
|
792
|
+
size: e.transferSize,
|
|
793
|
+
}));
|
|
794
|
+
}
|
|
795
|
+
return JSON.stringify(results, null, 2);
|
|
796
|
+
})()
|
|
797
|
+
\`\`\`
|
|
798
|
+
|
|
799
|
+
### Step 4: Search Page HTML
|
|
800
|
+
|
|
801
|
+
\`\`\`javascript
|
|
802
|
+
(() => {
|
|
803
|
+
const terms = ${domainArrayLiteral};
|
|
804
|
+
const html = document.documentElement.outerHTML;
|
|
805
|
+
const results = {};
|
|
806
|
+
for (const term of terms) {
|
|
807
|
+
const matches = [];
|
|
808
|
+
let i = 0;
|
|
809
|
+
while ((i = html.indexOf(term, i)) !== -1) {
|
|
810
|
+
matches.push(html.substring(Math.max(0, i - 100), Math.min(html.length, i + 100)));
|
|
811
|
+
i += term.length;
|
|
812
|
+
if (matches.length > 3) break;
|
|
813
|
+
}
|
|
814
|
+
results[term] = { count: matches.length, samples: matches };
|
|
815
|
+
}
|
|
816
|
+
return JSON.stringify(results, null, 2);
|
|
817
|
+
})()
|
|
818
|
+
\`\`\`
|
|
819
|
+
|
|
820
|
+
### Step 5: Identify Ad Infrastructure
|
|
821
|
+
|
|
822
|
+
\`\`\`javascript
|
|
823
|
+
(() => {
|
|
824
|
+
const scripts = Array.from(document.querySelectorAll('script[src]')).map(s => s.src);
|
|
825
|
+
// Non-exhaustive list of common ad tech scripts; look for any third-party ad scripts beyond these
|
|
826
|
+
const adScripts = scripts.filter(s =>
|
|
827
|
+
s.includes('prebid') || s.includes('gpt.js') || s.includes('googletag') ||
|
|
828
|
+
s.includes('taboola') || s.includes('criteo') || s.includes('amazon-adsystem') ||
|
|
829
|
+
s.includes('adsbygoogle') || s.includes('doubleclick')
|
|
830
|
+
);
|
|
831
|
+
const adDivs = Array.from(document.querySelectorAll(
|
|
832
|
+
'[data-prebid], [data-ad], [data-ad-slot], [data-ad-unit], [id*="ad-slot"], [id*="ad-unit"], [class*="ad-container"]'
|
|
833
|
+
));
|
|
834
|
+
const adSlots = adDivs.map(d => ({
|
|
835
|
+
tag: d.tagName, id: d.id, class: d.className?.substring(0, 60),
|
|
836
|
+
dataSizes: d.getAttribute('data-sizes'),
|
|
837
|
+
dataPrebid: d.getAttribute('data-prebid'),
|
|
838
|
+
dataTargeting: d.getAttribute('data-targeting'),
|
|
839
|
+
}));
|
|
840
|
+
const iframes = Array.from(document.querySelectorAll('iframe'));
|
|
841
|
+
const adIframes = iframes.filter(f => f.title?.includes('ad') || f.id?.includes('ad'));
|
|
842
|
+
return JSON.stringify({
|
|
843
|
+
adScripts,
|
|
844
|
+
adSlotCount: adSlots.length,
|
|
845
|
+
adSlotSamples: adSlots.slice(0, 5),
|
|
846
|
+
adIframes: adIframes.map(f => ({
|
|
847
|
+
id: f.id, src: f.src?.substring(0, 150), title: f.title,
|
|
848
|
+
})),
|
|
849
|
+
}, null, 2);
|
|
850
|
+
})()
|
|
851
|
+
\`\`\`
|
|
852
|
+
|
|
853
|
+
### Step 6: Check Inline Initialization Scripts
|
|
854
|
+
|
|
855
|
+
\`\`\`javascript
|
|
856
|
+
(() => {
|
|
857
|
+
const scripts = Array.from(document.querySelectorAll('script:not([src])'));
|
|
858
|
+
const adInline = scripts.filter(s =>
|
|
859
|
+
s.textContent.includes('prebid') || s.textContent.includes('googletag') ||
|
|
860
|
+
s.textContent.includes('adsbygoogle') || s.textContent.includes('criteo') ||
|
|
861
|
+
s.textContent.includes('taboola')
|
|
862
|
+
);
|
|
863
|
+
return JSON.stringify(adInline.map(s => ({
|
|
864
|
+
parent: s.parentElement?.tagName,
|
|
865
|
+
preview: s.textContent.substring(0, 500),
|
|
866
|
+
})), null, 2);
|
|
867
|
+
})()
|
|
868
|
+
\`\`\`
|
|
869
|
+
|
|
870
|
+
### Step 7: Check Window Globals and Ad Config
|
|
871
|
+
|
|
872
|
+
\`\`\`javascript
|
|
873
|
+
(() => {
|
|
874
|
+
const knownAdGlobals = ['pbjs', 'googletag', '__tcfapi', '__gpp', '__cmp',
|
|
875
|
+
'adsbygoogle', '_taboola', 'criteo_q', 'apstag'];
|
|
876
|
+
const adGlobals = Object.keys(window).filter(k =>
|
|
877
|
+
knownAdGlobals.some(g => k.toLowerCase().includes(g.toLowerCase()))
|
|
878
|
+
);
|
|
879
|
+
const configs = {};
|
|
880
|
+
for (const g of adGlobals) {
|
|
881
|
+
try {
|
|
882
|
+
const val = window[g];
|
|
883
|
+
if (val && typeof val === 'object') {
|
|
884
|
+
configs[g] = JSON.stringify(val).substring(0, 500);
|
|
885
|
+
}
|
|
886
|
+
} catch {}
|
|
887
|
+
}
|
|
888
|
+
return JSON.stringify({ adGlobals, configs }, null, 2);
|
|
889
|
+
})()
|
|
890
|
+
\`\`\`
|
|
891
|
+
|
|
892
|
+
### Step 8: Check Airgap Classification Per Tracker
|
|
893
|
+
|
|
894
|
+
\`\`\`javascript
|
|
895
|
+
(async () => {
|
|
896
|
+
if (!window.airgap) return 'airgap not loaded';
|
|
897
|
+
const domains = ${domainArrayLiteral};
|
|
898
|
+
const results = {};
|
|
899
|
+
for (const d of domains) {
|
|
900
|
+
try {
|
|
901
|
+
const purposes = await airgap.getPurposes('https://' + d + '/');
|
|
902
|
+
const allowed = await airgap.isAllowed('https://' + d + '/');
|
|
903
|
+
results[d] = { purposes, allowed };
|
|
904
|
+
} catch (e) { results[d] = { error: e.message }; }
|
|
905
|
+
}
|
|
906
|
+
return JSON.stringify(results, null, 2);
|
|
907
|
+
})()
|
|
908
|
+
\`\`\`
|
|
909
|
+
|
|
910
|
+
### Step 9: Read Console Logs
|
|
911
|
+
|
|
912
|
+
Read the browser console output. The \`log=*\` override makes airgap emit detailed
|
|
913
|
+
allow/block decisions for every request, including purpose lookups. Search these logs
|
|
914
|
+
for each tracker domain to see how airgap classifies and handles it.
|
|
915
|
+
|
|
916
|
+
## Useful Console Commands Reference
|
|
917
|
+
|
|
918
|
+
| Command | Purpose |
|
|
919
|
+
|---------|---------|
|
|
920
|
+
| \`airgap.getConsent().purposes\` | Current consent state per purpose |
|
|
921
|
+
| \`airgap.getRegimes()\` | Active regime(s) for this session |
|
|
922
|
+
| \`airgap.getRegimePurposes()\` | Purposes regulated under current regime |
|
|
923
|
+
| \`await airgap.getPurposes('{url}')\` | What purposes a URL is classified under |
|
|
924
|
+
| \`await airgap.isAllowed('{url}')\` | Whether a URL is currently allowed |
|
|
925
|
+
| \`await airgap.isCookieAllowed({name:'{name}'})\` | Whether a cookie is allowed |
|
|
926
|
+
| \`await airgap.getCookiePurposes({name:'{name}'})\` | Cookie's assigned purposes |
|
|
927
|
+
| \`airgap.export().requests\` | Quarantined requests |
|
|
928
|
+
| \`airgap.export().cookies\` | Quarantined cookies |
|
|
929
|
+
| \`airgap.version\` | Current airgap version |
|
|
930
|
+
|
|
931
|
+
## Output Format
|
|
932
|
+
|
|
933
|
+
For each tracker return:
|
|
934
|
+
|
|
935
|
+
\`\`\`json
|
|
936
|
+
{
|
|
937
|
+
"domain": "<domain>",
|
|
938
|
+
"found_on_page": true,
|
|
939
|
+
"loading_method": "direct_script|tag_manager|iframe|dynamic|not_found",
|
|
940
|
+
"loaded_by": "<what script or mechanism loads it>",
|
|
941
|
+
"in_main_document": true,
|
|
942
|
+
"airgap_purposes": ["Advertising"],
|
|
943
|
+
"airgap_allowed": true,
|
|
944
|
+
"ad_infrastructure": "<detected ad chain, e.g. Prebid -> GPT>",
|
|
945
|
+
"related_config": "<relevant config values>",
|
|
946
|
+
"notes": "<additional observations>"
|
|
947
|
+
}
|
|
948
|
+
\`\`\`
|
|
949
|
+
|
|
950
|
+
Also return a site summary:
|
|
951
|
+
|
|
952
|
+
\`\`\`json
|
|
953
|
+
{
|
|
954
|
+
"site_investigated": "<actual URL used>",
|
|
955
|
+
"ad_stack": "<detected stack, e.g. Prebid -> Google Publisher Tags>",
|
|
956
|
+
"consent_manager": "Transcend CMP",
|
|
957
|
+
"total_ad_slots": "<count>",
|
|
958
|
+
"total_scripts": "<count>",
|
|
959
|
+
"total_iframes": "<count>"
|
|
960
|
+
}
|
|
961
|
+
\`\`\``
|
|
962
|
+
}
|
|
963
|
+
}];
|
|
964
|
+
}
|
|
965
|
+
};
|
|
966
|
+
//#endregion
|
|
967
|
+
//#region src/prompts/consent_research_tracker.ts
|
|
968
|
+
const consentResearchTrackerPrompt = {
|
|
969
|
+
name: "consent-research-tracker",
|
|
970
|
+
description: "Research methodology for classifying cookies and data flows. Covers company identification, privacy policy lookup, CMP database checks, and structured evidence gathering for consent purpose assignment.",
|
|
971
|
+
arguments: [
|
|
972
|
+
{
|
|
973
|
+
name: "domain",
|
|
974
|
+
description: "The tracker domain or cookie name to research (e.g. \"doubleclick.net\", \"_ga\")",
|
|
975
|
+
required: true
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
name: "type",
|
|
979
|
+
description: "Whether this is a \"cookie\" or \"data_flow\" (default: \"data_flow\")",
|
|
980
|
+
required: false
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
name: "available_purposes",
|
|
984
|
+
description: "Comma-separated list of the customer's configured purposes (e.g. \"Essential,Functional,Analytics,Advertising,SaleOfInfo\"). Only recommend purposes from this list.",
|
|
985
|
+
required: false
|
|
986
|
+
}
|
|
987
|
+
],
|
|
988
|
+
handler: (args) => {
|
|
989
|
+
const domain = args.domain || "(not specified)";
|
|
990
|
+
return [{
|
|
991
|
+
role: "user",
|
|
992
|
+
content: {
|
|
993
|
+
type: "text",
|
|
994
|
+
text: `Research the ${args.type || "data_flow"} "${domain}" to determine its consent classification. Available purposes: ${args.available_purposes || "(fetch from consent_list_purposes)"}`
|
|
995
|
+
}
|
|
996
|
+
}, {
|
|
997
|
+
role: "assistant",
|
|
998
|
+
content: {
|
|
999
|
+
type: "text",
|
|
1000
|
+
text: `## Research Methodology
|
|
1001
|
+
|
|
1002
|
+
For each tracker or cookie, follow these steps in order:
|
|
1003
|
+
|
|
1004
|
+
### Step 1: Company Identification
|
|
1005
|
+
|
|
1006
|
+
Search the root domain (strip subdomains for broader matches) to find the operating company.
|
|
1007
|
+
Check for recent acquisitions or rebrands — ad tech companies frequently change ownership.
|
|
1008
|
+
|
|
1009
|
+
### Step 2: First-Party Privacy Docs
|
|
1010
|
+
|
|
1011
|
+
Find and read the company's privacy policy and/or cookie policy. Look for:
|
|
1012
|
+
- How they classify their own tracking
|
|
1013
|
+
- What data they collect
|
|
1014
|
+
- Stated purposes for data processing
|
|
1015
|
+
- Data retention periods
|
|
1016
|
+
|
|
1017
|
+
### Step 3: Service Description
|
|
1018
|
+
|
|
1019
|
+
Understand the business model:
|
|
1020
|
+
- Ad tech (DSP, SSP, ad exchange, header bidding)?
|
|
1021
|
+
- Analytics (pageview counters, session recording, A/B testing)?
|
|
1022
|
+
- CMP (consent management platform)?
|
|
1023
|
+
- CDN / performance (content delivery, image optimization)?
|
|
1024
|
+
- Functional (chat, support, preferences, authentication)?
|
|
1025
|
+
- Data broker (selling/sharing data with third parties)?
|
|
1026
|
+
|
|
1027
|
+
### Step 4: CMP Database Lookups
|
|
1028
|
+
|
|
1029
|
+
Search these databases for existing classifications:
|
|
1030
|
+
|
|
1031
|
+
| Database | URL | Use For |
|
|
1032
|
+
|----------|-----|---------|
|
|
1033
|
+
| CookieDatabase.org | https://cookiedatabase.org/ | Cookie name lookup |
|
|
1034
|
+
| better.fyi trackers | https://better.fyi/trackers/ | Domain-to-company lookup |
|
|
1035
|
+
| Ghostery TrackerDB | https://www.ghostery.com/trackerdb | Tracker classification |
|
|
1036
|
+
| Cookiepedia | https://cookiepedia.co.uk/ | Cookie purpose database |
|
|
1037
|
+
| BuiltWith | https://builtwith.com/ | Site technology stack |
|
|
1038
|
+
| urlscan.io | https://urlscan.io/ | Domain/infrastructure analysis |
|
|
1039
|
+
|
|
1040
|
+
### Step 5: Third-Party Cookie Policies
|
|
1041
|
+
|
|
1042
|
+
Find other companies' published cookie policies that classify this same tracker/service.
|
|
1043
|
+
Multiple independent classifications strengthen confidence.
|
|
1044
|
+
|
|
1045
|
+
### Step 6: Essential vs Non-Essential Determination
|
|
1046
|
+
|
|
1047
|
+
Based on all evidence:
|
|
1048
|
+
- Would the site break without this tracker? (Essential)
|
|
1049
|
+
- Is it required for core functionality like auth, security, or the CMP itself? (Essential)
|
|
1050
|
+
- Does it enhance features without being required? (Functional)
|
|
1051
|
+
- Does it measure usage or behavior? (Analytics)
|
|
1052
|
+
- Does it serve, target, or retarget ads? (Advertising)
|
|
1053
|
+
- Is data sold or shared with third parties for their own use? (SaleOfInfo)
|
|
1054
|
+
|
|
1055
|
+
Items can have multiple purposes (e.g. ["Advertising", "Analytics"] for an ad platform
|
|
1056
|
+
that also tracks impressions).
|
|
1057
|
+
|
|
1058
|
+
IMPORTANT: Only recommend purposes from the customer's configured list. If research
|
|
1059
|
+
suggests a purpose that doesn't exist for this customer, flag it and suggest the closest
|
|
1060
|
+
available match.
|
|
1061
|
+
|
|
1062
|
+
## Junk Indicators
|
|
1063
|
+
|
|
1064
|
+
Mark as JUNK (not a real tracker to classify) if:
|
|
1065
|
+
- From a browser extension (Grammarly, LastPass, ad blockers injecting scripts)
|
|
1066
|
+
- Malware or unwanted injection not placed by the site operator
|
|
1067
|
+
- A development/testing artifact (localhost, staging URLs)
|
|
1068
|
+
- A subdomain variant of an already-approved regex rule
|
|
1069
|
+
|
|
1070
|
+
## Confidence Levels
|
|
1071
|
+
|
|
1072
|
+
- **High**: First-party docs confirm, OR multiple CMPs agree, OR well-known tracker
|
|
1073
|
+
- **Medium**: Some evidence but no definitive first-party documentation
|
|
1074
|
+
- **Low**: No docs found, best-guess only — flag for manual review
|
|
1075
|
+
|
|
1076
|
+
## Output Format
|
|
1077
|
+
|
|
1078
|
+
Return a structured finding for each item:
|
|
1079
|
+
|
|
1080
|
+
\`\`\`json
|
|
1081
|
+
{
|
|
1082
|
+
"domain": "<domain or cookie name>",
|
|
1083
|
+
"company_name": "<identified company>",
|
|
1084
|
+
"company_description": "<what the company does, 1-2 sentences>",
|
|
1085
|
+
"service_url": "<company homepage>",
|
|
1086
|
+
"specific_product": "<what product/feature this domain serves>",
|
|
1087
|
+
"recommended_purposes": ["Advertising"],
|
|
1088
|
+
"confidence": "High",
|
|
1089
|
+
"is_junk": false,
|
|
1090
|
+
"evidence_summary": "<2-3 sentence summary with key facts>",
|
|
1091
|
+
"sources": ["<url1>", "<url2>"],
|
|
1092
|
+
"suggested_description": "<one-line description to save as Transcend note>",
|
|
1093
|
+
"first_party_privacy_url": "<URL of their privacy/cookie policy if found>",
|
|
1094
|
+
"other_cmps_classify_as": "<what other CMPs say>"
|
|
1095
|
+
}
|
|
1096
|
+
\`\`\``
|
|
1097
|
+
}
|
|
1098
|
+
}];
|
|
1099
|
+
}
|
|
1100
|
+
};
|
|
1101
|
+
//#endregion
|
|
1102
|
+
//#region src/prompts/consent_triage.ts
|
|
1103
|
+
const consentTriagePrompt = {
|
|
1104
|
+
name: "consent-triage",
|
|
1105
|
+
description: "Systematically triage cookies and data flows discovered by Transcend consent telemetry. Walks through setup, batch fetching, research, review, and classification push.",
|
|
1106
|
+
arguments: [{
|
|
1107
|
+
name: "triage_type",
|
|
1108
|
+
description: "What to triage: \"cookies\", \"data_flows\", or \"both\" (default: \"both\")",
|
|
1109
|
+
required: false
|
|
1110
|
+
}, {
|
|
1111
|
+
name: "batch_size",
|
|
1112
|
+
description: "Number of items per batch (default: 10)",
|
|
1113
|
+
required: false
|
|
1114
|
+
}],
|
|
1115
|
+
handler: (args) => {
|
|
1116
|
+
const triageType = args.triage_type || "both";
|
|
1117
|
+
const batchSize = args.batch_size || "10";
|
|
1118
|
+
return [{
|
|
1119
|
+
role: "user",
|
|
1120
|
+
content: {
|
|
1121
|
+
type: "text",
|
|
1122
|
+
text: `Triage ${triageType === "both" ? "cookies and data flows" : triageType} in batches of ${batchSize}, sorted by highest traffic first.`
|
|
1123
|
+
}
|
|
1124
|
+
}, {
|
|
1125
|
+
role: "assistant",
|
|
1126
|
+
content: {
|
|
1127
|
+
type: "text",
|
|
1128
|
+
text: `I'll walk through the consent triage workflow. Here's how it works:
|
|
1129
|
+
|
|
1130
|
+
## Phase 1: Setup
|
|
1131
|
+
|
|
1132
|
+
Gather the customer's consent configuration by calling these tools in parallel:
|
|
1133
|
+
|
|
1134
|
+
1. \`consent_list_airgap_bundles\` — get the consent manager info (bundle ID is auto-resolved)
|
|
1135
|
+
2. \`consent_get_inventory_stats\` — backlog overview
|
|
1136
|
+
3. \`consent_list_purposes\` — the customer's configured tracking purposes
|
|
1137
|
+
4. \`consent_list_regimes\` — consent experiences with regions, purposes, and opt-out defaults
|
|
1138
|
+
|
|
1139
|
+
CRITICAL: Each customer configures their own purposes. Do NOT assume defaults exist. Only use purposes returned by \`consent_list_purposes\` for classification.
|
|
1140
|
+
|
|
1141
|
+
From the regimes data, determine:
|
|
1142
|
+
- Which purposes can be opted out of per experience
|
|
1143
|
+
- Which purposes default to opted-out
|
|
1144
|
+
- The most permissive regime (fewest opted-out purposes) — needed for live site investigation
|
|
1145
|
+
|
|
1146
|
+
Present the customer's setup:
|
|
1147
|
+
|
|
1148
|
+
| Purpose | Slug | Used in Regimes |
|
|
1149
|
+
|---------|------|-----------------|
|
|
1150
|
+
| (from API) | (from API) | (cross-ref with regimes) |
|
|
1151
|
+
|
|
1152
|
+
Present triage stats:
|
|
1153
|
+
|
|
1154
|
+
| Metric | Cookies | Data Flows |
|
|
1155
|
+
|--------|---------|------------|
|
|
1156
|
+
| Needs Review | X | Y |
|
|
1157
|
+
| Live (Approved) | X | Y |
|
|
1158
|
+
| Junk | X | Y |
|
|
1159
|
+
|
|
1160
|
+
## Phase 2: Fetch Batch
|
|
1161
|
+
|
|
1162
|
+
Fetch the next batch of items needing review, sorted by highest traffic:
|
|
1163
|
+
|
|
1164
|
+
${[triageType === "cookies" || triageType === "both" ? "- `consent_list_cookies { status: \"NEEDS_REVIEW\", limit: " + batchSize + ", order_field: \"occurrences\", order_direction: \"DESC\" }`" : "", triageType === "data_flows" || triageType === "both" ? "- `consent_list_data_flows { status: \"NEEDS_REVIEW\", limit: " + batchSize + ", order_field: \"occurrences\", order_direction: \"DESC\" }`" : ""].filter(Boolean).join("\n")}
|
|
1165
|
+
|
|
1166
|
+
Present in this table format:
|
|
1167
|
+
|
|
1168
|
+
| # | Name/Domain | Type | Service | Auto-Purposes | Occurrences | Sites | First Seen |
|
|
1169
|
+
|---|-------------|------|---------|---------------|-------------|-------|------------|
|
|
1170
|
+
|
|
1171
|
+
## Phase 3: Research
|
|
1172
|
+
|
|
1173
|
+
For each item in the batch, research its purpose using web search and CMP databases.
|
|
1174
|
+
Use the \`consent-research-tracker\` prompt for detailed research methodology.
|
|
1175
|
+
If browser/DevTools access is available, use the \`consent-inspect-site\` prompt for live site investigation.
|
|
1176
|
+
|
|
1177
|
+
Split items into parallel research groups of 3–5 items each for efficiency.
|
|
1178
|
+
|
|
1179
|
+
## Phase 4: Present Findings
|
|
1180
|
+
|
|
1181
|
+
For each researched item, present:
|
|
1182
|
+
|
|
1183
|
+
### {name/domain}
|
|
1184
|
+
| Field | Value |
|
|
1185
|
+
|-------|-------|
|
|
1186
|
+
| Type | Cookie / Data Flow (HOST/REGEX) |
|
|
1187
|
+
| Domain | \`example.com\` |
|
|
1188
|
+
| Service | Service Name (or "Unknown") |
|
|
1189
|
+
| Current Purposes | What Transcend auto-classified (if any) |
|
|
1190
|
+
| Recommended Purpose | Research-based recommendation |
|
|
1191
|
+
| Confidence | High / Medium / Low |
|
|
1192
|
+
| How Loaded | Direct script / Tag manager / iframe / Dynamic |
|
|
1193
|
+
| Occurrences | N |
|
|
1194
|
+
| Evidence | Brief summary + source URLs |
|
|
1195
|
+
| Recommended Action | APPROVE with purposes / JUNK / NEEDS MANUAL REVIEW |
|
|
1196
|
+
| Suggested Note | Description to save to Transcend |
|
|
1197
|
+
|
|
1198
|
+
Then show a summary action table:
|
|
1199
|
+
|
|
1200
|
+
| # | Name/Domain | Action | Purposes | Service | Note |
|
|
1201
|
+
|---|-------------|--------|----------|---------|------|
|
|
1202
|
+
|
|
1203
|
+
Ask the user to confirm, modify, or reject each recommendation before proceeding.
|
|
1204
|
+
|
|
1205
|
+
## Phase 5: Push Classifications
|
|
1206
|
+
|
|
1207
|
+
For confirmed items, update Transcend:
|
|
1208
|
+
|
|
1209
|
+
- Individual updates with notes: \`consent_update_data_flows\` / \`consent_update_cookies\` with id, tracking_purposes, description, service, status: "LIVE"
|
|
1210
|
+
- Bulk approve/junk: \`consent_bulk_triage\` with items array containing type, id, action, tracking_purposes
|
|
1211
|
+
- Mark junk items with action "JUNK" (no purposes needed)
|
|
1212
|
+
|
|
1213
|
+
After pushing, report what was updated and show the remaining triage count.
|
|
1214
|
+
|
|
1215
|
+
## Phase 6: Loop
|
|
1216
|
+
|
|
1217
|
+
Ask the user if they want to continue with the next batch. Repeat from Phase 2.
|
|
1218
|
+
|
|
1219
|
+
## Key References
|
|
1220
|
+
|
|
1221
|
+
When \`docs_list\` / \`docs_fetch\` are available (e.g. the unified \`@transcend-io/mcp\` server), prefer those for full markdown. Otherwise open the docs URLs directly:
|
|
1222
|
+
|
|
1223
|
+
- Triage guide: https://docs.transcend.io/docs/articles/consent-management/configuration/triage-cookies-and-dataflows-guide
|
|
1224
|
+
- Data flows & cookies: https://docs.transcend.io/docs/articles/consent-management/concepts/data-flows-and-cookies
|
|
1225
|
+
- Tracking purposes: https://docs.transcend.io/docs/articles/consent-management/concepts/tracking-purposes
|
|
1226
|
+
- Regional experiences: https://docs.transcend.io/docs/articles/consent-management/configuration/regional-experiences
|
|
1227
|
+
- Telemetry overview: https://docs.transcend.io/docs/articles/consent-management/configuration/telemetry-overview`
|
|
1228
|
+
}
|
|
1229
|
+
}];
|
|
1230
|
+
}
|
|
1231
|
+
};
|
|
1232
|
+
//#endregion
|
|
1233
|
+
//#region src/prompts/index.ts
|
|
1234
|
+
/**
|
|
1235
|
+
* Returns consent workflow prompt templates for MCP prompts/list and prompts/get.
|
|
1236
|
+
*
|
|
1237
|
+
* @param _clients - Unused; accepted so createMCPServer can pass the same factory shape as getTools
|
|
1238
|
+
*/
|
|
1239
|
+
function getConsentPrompts(_clients) {
|
|
1240
|
+
return [
|
|
1241
|
+
consentTriagePrompt,
|
|
1242
|
+
consentResearchTrackerPrompt,
|
|
1243
|
+
consentInspectSitePrompt
|
|
1244
|
+
];
|
|
1245
|
+
}
|
|
1246
|
+
//#endregion
|
|
694
1247
|
//#region src/scopes.ts
|
|
695
1248
|
/** OAuth scopes required for Consent MCP tools (offline_access added by base). */
|
|
696
1249
|
const CONSENT_OAUTH_SCOPES = [
|
|
@@ -702,6 +1255,6 @@ const CONSENT_OAUTH_SCOPES = [
|
|
|
702
1255
|
ScopeName.ManageDataFlow
|
|
703
1256
|
];
|
|
704
1257
|
//#endregion
|
|
705
|
-
export { resolveAirgapBundleId as S,
|
|
1258
|
+
export { resolveAirgapBundleId as C, BulkTriageSchema as S, GetInventoryStatsSchema as _, UpdateDataFlowsSchema as a, resolveAnalyticsDateRange as b, PurposeConsentSchema as c, ListPurposesSchema as d, ListDataFlowsSchema as f, GetPreferencesSchema as g, GetTimeseriesAnalyticsSchema as h, UpdateDataFlowItemSchema as i, SetPreferencesSchema as l, ListAirgapBundlesSchema as m, getConsentPrompts as n, UpdateCookieItemSchema as o, ListCookiesSchema as p, getConsentTools as r, UpdateCookiesSchema as s, CONSENT_OAUTH_SCOPES as t, ListRegimesSchema as u, GetAnalyticsDataSchema as v, BulkTriageItemSchema as x, GetAggregateAnalyticsSchema as y };
|
|
706
1259
|
|
|
707
|
-
//# sourceMappingURL=scopes-
|
|
1260
|
+
//# sourceMappingURL=scopes-Bsuw9moo.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopes-Bsuw9moo.mjs","names":[],"sources":["../src/resolveAirgapBundleId.ts","../src/tools/consent_bulk_triage.ts","../src/analyticsDateRange.ts","../src/normalizeAnalyticsMetric.ts","../src/tools/consent_get_aggregate_analytics.ts","../src/tools/consent_get_analytics_data.ts","../src/tools/consent_get_inventory_stats.ts","../src/tools/consent_get_preferences.ts","../src/tools/consent_get_timeseries_analytics.ts","../src/tools/consent_list_airgap_bundles.ts","../src/tools/consent_list_cookies.ts","../src/tools/consent_list_data_flows.ts","../src/tools/consent_list_purposes.ts","../src/tools/consent_list_regimes.ts","../src/tools/consent_set_preferences.ts","../src/tools/consent_update_cookies.ts","../src/tools/consent_update_data_flows.ts","../src/tools/index.ts","../src/prompts/consent_inspect_site.ts","../src/prompts/consent_research_tracker.ts","../src/prompts/consent_triage.ts","../src/prompts/index.ts","../src/scopes.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@transcend-io/mcp-server-consent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Transcend MCP Server — Consent Management tools.",
|
|
5
5
|
"homepage": "https://github.com/transcend-io/tools/tree/main/packages/mcp/mcp-server-consent",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
34
34
|
"zod": "^4.3.6",
|
|
35
|
-
"@transcend-io/mcp-server-base": "1.
|
|
36
|
-
"@transcend-io/privacy-types": "5.
|
|
37
|
-
"@transcend-io/sdk": "2.0.
|
|
35
|
+
"@transcend-io/mcp-server-base": "1.4.0",
|
|
36
|
+
"@transcend-io/privacy-types": "5.20.0",
|
|
37
|
+
"@transcend-io/sdk": "2.0.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scopes-DkJ_Zvj9.mjs","names":[],"sources":["../src/resolveAirgapBundleId.ts","../src/tools/consent_bulk_triage.ts","../src/analyticsDateRange.ts","../src/normalizeAnalyticsMetric.ts","../src/tools/consent_get_aggregate_analytics.ts","../src/tools/consent_get_analytics_data.ts","../src/tools/consent_get_inventory_stats.ts","../src/tools/consent_get_preferences.ts","../src/tools/consent_get_timeseries_analytics.ts","../src/tools/consent_list_airgap_bundles.ts","../src/tools/consent_list_cookies.ts","../src/tools/consent_list_data_flows.ts","../src/tools/consent_list_purposes.ts","../src/tools/consent_list_regimes.ts","../src/tools/consent_set_preferences.ts","../src/tools/consent_update_cookies.ts","../src/tools/consent_update_data_flows.ts","../src/tools/index.ts","../src/scopes.ts"],"mappings":"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"}
|