sensor-tower-mcp-pro 1.2.10

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.
Files changed (47) hide show
  1. package/README.md +136 -0
  2. package/bin/sensortower-mcp.js +2 -0
  3. package/dist/client.d.ts +17 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +100 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config.d.ts +12 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +142 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +88 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/tools/app-analysis.d.ts +580 -0
  16. package/dist/tools/app-analysis.d.ts.map +1 -0
  17. package/dist/tools/app-analysis.js +451 -0
  18. package/dist/tools/app-analysis.js.map +1 -0
  19. package/dist/tools/index.d.ts +10 -0
  20. package/dist/tools/index.d.ts.map +1 -0
  21. package/dist/tools/index.js +19 -0
  22. package/dist/tools/index.js.map +1 -0
  23. package/dist/tools/market-analysis.d.ts +391 -0
  24. package/dist/tools/market-analysis.d.ts.map +1 -0
  25. package/dist/tools/market-analysis.js +298 -0
  26. package/dist/tools/market-analysis.js.map +1 -0
  27. package/dist/tools/search.d.ts +162 -0
  28. package/dist/tools/search.d.ts.map +1 -0
  29. package/dist/tools/search.js +126 -0
  30. package/dist/tools/search.js.map +1 -0
  31. package/dist/tools/store-marketing.d.ts +200 -0
  32. package/dist/tools/store-marketing.d.ts.map +1 -0
  33. package/dist/tools/store-marketing.js +170 -0
  34. package/dist/tools/store-marketing.js.map +1 -0
  35. package/dist/tools/utilities.d.ts +76 -0
  36. package/dist/tools/utilities.d.ts.map +1 -0
  37. package/dist/tools/utilities.js +140 -0
  38. package/dist/tools/utilities.js.map +1 -0
  39. package/dist/tools/your-metrics.d.ts +140 -0
  40. package/dist/tools/your-metrics.d.ts.map +1 -0
  41. package/dist/tools/your-metrics.js +121 -0
  42. package/dist/tools/your-metrics.js.map +1 -0
  43. package/dist/utils.d.ts +7 -0
  44. package/dist/utils.d.ts.map +1 -0
  45. package/dist/utils.js +64 -0
  46. package/dist/utils.js.map +1 -0
  47. package/package.json +54 -0
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /**
3
+ * Your Metrics tools for Sensor Tower MCP (Connected Apps)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerYourMetricsTools = registerYourMetricsTools;
7
+ const utils_1 = require("../utils");
8
+ function registerYourMetricsTools(client) {
9
+ return {
10
+ analytics_metrics: {
11
+ description: 'Get detailed App Store analytics report for connected apps.',
12
+ inputSchema: {
13
+ type: 'object',
14
+ properties: {
15
+ app_ids: { type: 'string', description: 'Comma-separated app IDs you manage' },
16
+ countries: { type: 'string', description: 'Comma-separated iTunes country codes' },
17
+ start_date: { type: 'string', description: 'Start date (YYYY-MM-DD)' },
18
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD)' },
19
+ },
20
+ required: ['app_ids', 'countries', 'start_date', 'end_date'],
21
+ },
22
+ handler: async (args) => {
23
+ return client.makeRequest('/v1/ios/sales_reports/analytics_metrics', {
24
+ app_ids: args.app_ids,
25
+ countries: args.countries,
26
+ start_date: (0, utils_1.validateDateFormat)(args.start_date),
27
+ end_date: (0, utils_1.validateDateFormat)(args.end_date),
28
+ });
29
+ },
30
+ },
31
+ sources_metrics: {
32
+ description: 'Get App Store metrics by traffic source for connected apps.',
33
+ inputSchema: {
34
+ type: 'object',
35
+ properties: {
36
+ app_ids: { type: 'string', description: 'Comma-separated app IDs you manage' },
37
+ countries: { type: 'string', description: 'Comma-separated iTunes country codes' },
38
+ start_date: { type: 'string', description: 'Start date (YYYY-MM-DD)' },
39
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD)' },
40
+ limit: { type: 'number', description: 'Max reports (1-6000)' },
41
+ offset: { type: 'number', description: 'Offset for pagination' },
42
+ },
43
+ required: ['app_ids', 'countries', 'start_date', 'end_date'],
44
+ },
45
+ handler: async (args) => {
46
+ const params = {
47
+ app_ids: args.app_ids,
48
+ countries: args.countries,
49
+ start_date: (0, utils_1.validateDateFormat)(args.start_date),
50
+ end_date: (0, utils_1.validateDateFormat)(args.end_date),
51
+ };
52
+ if (args.limit)
53
+ params.limit = args.limit;
54
+ if (args.offset !== undefined)
55
+ params.offset = args.offset;
56
+ return client.makeRequest('/v1/ios/sales_reports/sources_metrics', params);
57
+ },
58
+ },
59
+ sales_reports: {
60
+ description: 'Get downloads and revenue sales report for connected apps.',
61
+ inputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ os: { type: 'string', enum: ['ios', 'android'], description: 'Operating system' },
65
+ app_ids: { type: 'string', description: 'Comma-separated app IDs you manage' },
66
+ countries: { type: 'string', description: 'Comma-separated country codes' },
67
+ date_granularity: { type: 'string', enum: ['daily', 'weekly', 'monthly', 'quarterly'] },
68
+ start_date: { type: 'string', description: 'Start date (YYYY-MM-DD)' },
69
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD)' },
70
+ },
71
+ required: ['os', 'app_ids', 'countries', 'date_granularity', 'start_date', 'end_date'],
72
+ },
73
+ handler: async (args) => {
74
+ const os = (0, utils_1.validateOsParameter)(args.os, ['ios', 'android']);
75
+ return client.makeRequest(`/v1/${os}/sales_reports`, {
76
+ app_ids: args.app_ids,
77
+ countries: args.countries,
78
+ date_granularity: args.date_granularity,
79
+ start_date: (0, utils_1.validateDateFormat)(args.start_date),
80
+ end_date: (0, utils_1.validateDateFormat)(args.end_date),
81
+ });
82
+ },
83
+ },
84
+ unified_sales_reports: {
85
+ description: 'Get unified downloads and revenue sales report for connected apps.',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ start_date: { type: 'string', description: 'Start date (YYYY-MM-DD)' },
90
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD)' },
91
+ date_granularity: { type: 'string', enum: ['daily', 'weekly', 'monthly', 'quarterly'] },
92
+ unified_app_ids: { type: 'string', description: 'Comma-separated unified app IDs' },
93
+ itunes_app_ids: { type: 'string', description: 'Comma-separated iTunes app IDs' },
94
+ android_app_ids: { type: 'string', description: 'Comma-separated Android app IDs' },
95
+ countries: { type: 'string', description: 'Comma-separated country codes' },
96
+ },
97
+ required: ['start_date', 'end_date', 'date_granularity'],
98
+ },
99
+ handler: async (args) => {
100
+ const params = {
101
+ date_granularity: args.date_granularity,
102
+ start_date: (0, utils_1.validateDateFormat)(args.start_date),
103
+ end_date: (0, utils_1.validateDateFormat)(args.end_date),
104
+ };
105
+ if (!args.unified_app_ids && !args.itunes_app_ids && !args.android_app_ids) {
106
+ throw new Error('Provide at least one of unified_app_ids, itunes_app_ids, or android_app_ids');
107
+ }
108
+ if (args.unified_app_ids)
109
+ params.unified_app_ids = args.unified_app_ids;
110
+ if (args.itunes_app_ids)
111
+ params.itunes_app_ids = args.itunes_app_ids;
112
+ if (args.android_app_ids)
113
+ params.android_app_ids = args.android_app_ids;
114
+ if (args.countries)
115
+ params.countries = args.countries;
116
+ return client.makeRequest('/v1/unified/sales_reports', params);
117
+ },
118
+ },
119
+ };
120
+ }
121
+ //# sourceMappingURL=your-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"your-metrics.js","sourceRoot":"","sources":["../../src/tools/your-metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Utility functions for Sensor Tower MCP tools
3
+ */
4
+ export declare function validateOsParameter(os: string, allowed?: string[]): string;
5
+ export declare function validateDateFormat(dateStr: string): string;
6
+ export declare function normalizeNetworks(networks: string): string;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAkC,GAAG,MAAM,CAMzG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0C1D"}
package/dist/utils.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Utility functions for Sensor Tower MCP tools
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateOsParameter = validateOsParameter;
7
+ exports.validateDateFormat = validateDateFormat;
8
+ exports.normalizeNetworks = normalizeNetworks;
9
+ function validateOsParameter(os, allowed = ['ios', 'android', 'unified']) {
10
+ const normalized = os.toLowerCase();
11
+ if (!allowed.includes(normalized)) {
12
+ throw new Error(`Invalid OS parameter: ${os}. Must be one of: ${allowed.join(', ')}`);
13
+ }
14
+ return normalized;
15
+ }
16
+ function validateDateFormat(dateStr) {
17
+ const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
18
+ if (!dateRegex.test(dateStr)) {
19
+ throw new Error(`Invalid date format: ${dateStr}. Must be YYYY-MM-DD`);
20
+ }
21
+ return dateStr;
22
+ }
23
+ function normalizeNetworks(networks) {
24
+ const validNetworks = new Set([
25
+ 'Adcolony', 'Admob', 'Applovin', 'Chartboost', 'Instagram',
26
+ 'Mopub', 'Pinterest', 'Snapchat', 'Supersonic', 'Tapjoy',
27
+ 'TikTok', 'Unity', 'Vungle', 'Youtube'
28
+ ]);
29
+ const networkMapping = {
30
+ 'unity': 'Unity',
31
+ 'google': 'Youtube',
32
+ 'youtube': 'Youtube',
33
+ 'admob': 'Admob',
34
+ 'applovin': 'Applovin',
35
+ 'chartboost': 'Chartboost',
36
+ 'instagram': 'Instagram',
37
+ 'snapchat': 'Snapchat',
38
+ 'tiktok': 'TikTok',
39
+ 'mopub': 'Mopub',
40
+ 'tapjoy': 'Tapjoy',
41
+ 'vungle': 'Vungle',
42
+ 'pinterest': 'Pinterest',
43
+ 'adcolony': 'Adcolony',
44
+ 'supersonic': 'Supersonic',
45
+ };
46
+ const normalizedNetworks = [];
47
+ for (const network of networks.split(',').map(n => n.trim()).filter(Boolean)) {
48
+ let normalized;
49
+ if (validNetworks.has(network)) {
50
+ normalized = network;
51
+ }
52
+ else if (networkMapping[network.toLowerCase()]) {
53
+ normalized = networkMapping[network.toLowerCase()];
54
+ }
55
+ if (normalized && validNetworks.has(normalized)) {
56
+ normalizedNetworks.push(normalized);
57
+ }
58
+ else if (network.toLowerCase() !== 'facebook') {
59
+ normalizedNetworks.push(network);
60
+ }
61
+ }
62
+ return normalizedNetworks.join(',');
63
+ }
64
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,kDAMC;AAED,gDAMC;AAED,8CA0CC;AA1DD,SAAgB,mBAAmB,CAAC,EAAU,EAAE,UAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC;IAC/F,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,sBAAsB,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;QAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ;QACxD,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;KACvC,CAAC,CAAC;IAEH,MAAM,cAAc,GAA2B;QAC7C,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,YAAY;KAC3B,CAAC;IAEF,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,IAAI,UAA8B,CAAC;QACnC,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,UAAU,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACjD,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;YAChD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "sensor-tower-mcp-pro",
3
+ "version": "1.2.10",
4
+ "description": "Model Context Protocol server for Sensor Tower APIs - Access mobile app intelligence data",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "sensor-tower-mcp-pro": "./bin/sensortower-mcp.js"
9
+ },
10
+ "scripts": {
11
+ "build": "node ./node_modules/typescript/bin/tsc",
12
+ "start": "node dist/index.js",
13
+ "dev": "node ./node_modules/ts-node/dist/bin.js src/index.ts",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "keywords": [
17
+ "mcp",
18
+ "model-context-protocol",
19
+ "sensortower",
20
+ "sensor-tower",
21
+ "mobile-analytics",
22
+ "app-intelligence",
23
+ "app-store",
24
+ "play-store",
25
+ "ai",
26
+ "claude",
27
+ "cursor"
28
+ ],
29
+ "author": "SensorTower",
30
+ "license": "MIT",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/sensortower/sensortower-mcp"
34
+ },
35
+ "homepage": "https://github.com/sensortower/sensortower-mcp",
36
+ "bugs": {
37
+ "url": "https://github.com/sensortower/sensortower-mcp/issues"
38
+ },
39
+ "engines": {
40
+ "node": ">=18.0.0"
41
+ },
42
+ "files": [
43
+ "dist/",
44
+ "bin/",
45
+ "README.md"
46
+ ],
47
+ "dependencies": {
48
+ "@modelcontextprotocol/sdk": "^1.0.0"
49
+ },
50
+ "devDependencies": {
51
+ "@types/node": "^20.0.0",
52
+ "typescript": "^5.0.0"
53
+ }
54
+ }