@gmpsignal/mcp-server 0.0.0-stage → 1.0.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 +44 -2
- package/bin/cli.mjs +85 -0
- package/index.mjs +120 -0
- package/package.json +52 -5
package/README.md
CHANGED
|
@@ -1,3 +1,45 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `gmpsignal-mcp` — Official MCP Server Launcher for GMPSignal's 40 Apify Intelligence APIs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Connect **40 production-grade JSON APIs & Apify Actors** by **[GMPSignal (`@gmpsignal`)](https://apify.com/gmpsignal)** directly into **Claude Desktop, Cursor, Windsurf, and MCP-compatible AI Agents** with a single command.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Usage
|
|
8
|
+
|
|
9
|
+
### 1. Print Ready-to-Paste Claude Desktop / Cursor MCP Config
|
|
10
|
+
```bash
|
|
11
|
+
npx gmpsignal-mcp --print-config --suite flagship
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 2. List All 40 Actors by Vertical Suite
|
|
15
|
+
```bash
|
|
16
|
+
npx gmpsignal-mcp --list
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 3. Run Directly as an MCP Server in `claude_desktop_config.json` or `.cursor/mcp.json`
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"mcpServers": {
|
|
23
|
+
"gmpsignal": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": ["-y", "gmpsignal-mcp", "--suite", "flagship"],
|
|
26
|
+
"env": {
|
|
27
|
+
"APIFY_TOKEN": "<YOUR_APIFY_API_TOKEN>"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Available `--suite` Presets
|
|
37
|
+
|
|
38
|
+
| Suite Name | Included Intelligence Tools |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `flagship` *(Default)* | Top 11 global Actors: DEX Security Auditor, Crypto OrderBook Arbitrage, Multi-Chain Wallet AML, DeFi Yield/TVL, Polymarket/Kalshi Odds, B2B Tech-Stack & Contacts, Global Sanctions/GLEIF KYB, CISA KEV + EPSS Cyber, YC/GitHub Startup Radar, OpenAlex Scientific R&D, and Shopify Store Scraper |
|
|
41
|
+
| `crypto` | 6 Quantitative Crypto, DeFi, OrderBook, Wallet AML & Prediction Market Actors |
|
|
42
|
+
| `b2b` | 4 B2B Lead Enrichment, Shopify E-Commerce, VC Deal-Flow & European Jobs Actors |
|
|
43
|
+
| `compliance` | 8 KYB/Sanctions, CISA KEV Cybersecurity, OpenAlex R&D, SEC EDGAR, FDA & EU TED Actors |
|
|
44
|
+
| `regional` | 22 Seismic, Central Bank FX, Balkan Marketplace & Regional Mobility Actors |
|
|
45
|
+
| `all` | All 40 GMPSignal Apify Actors |
|
package/bin/cli.mjs
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @file cli.mjs
|
|
4
|
+
* @description Command-line launcher for the GMPSignal Model Context Protocol (MCP) Server.
|
|
5
|
+
* Spawns @apify/actors-mcp-server preconfigured with GMPSignal intelligence suites or prints
|
|
6
|
+
* ready-to-paste Claude Desktop / Cursor MCP configuration blocks.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { spawn } from 'node:child_process';
|
|
10
|
+
import { GMPSIGNAL_SUITES, resolveActorsForSuite, buildMcpServerConfig } from '../index.mjs';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Parses command-line arguments passed to gmpsignal-mcp.
|
|
14
|
+
*
|
|
15
|
+
* @param {Array<string>} argv - Process argv slice.
|
|
16
|
+
* @returns {{ suite: string, customActors: string, listOnly: boolean, printConfig: boolean }} Parsed CLI flags.
|
|
17
|
+
*/
|
|
18
|
+
function parseCliArgs(argv) {
|
|
19
|
+
let suite = 'flagship';
|
|
20
|
+
let customActors = '';
|
|
21
|
+
let listOnly = false;
|
|
22
|
+
let printConfig = false;
|
|
23
|
+
|
|
24
|
+
for (let i = 0; i < argv.length; i += 1) {
|
|
25
|
+
const arg = argv[i];
|
|
26
|
+
if (arg === '--suite' && argv[i + 1]) {
|
|
27
|
+
suite = argv[i + 1];
|
|
28
|
+
i += 1;
|
|
29
|
+
} else if (arg === '--actors' && argv[i + 1]) {
|
|
30
|
+
customActors = argv[i + 1];
|
|
31
|
+
i += 1;
|
|
32
|
+
} else if (arg === '--list') {
|
|
33
|
+
listOnly = true;
|
|
34
|
+
} else if (arg === '--print-config') {
|
|
35
|
+
printConfig = true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return { suite, customActors, listOnly, printConfig };
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Main CLI execution entry point.
|
|
44
|
+
*/
|
|
45
|
+
function main() {
|
|
46
|
+
const { suite, customActors, listOnly, printConfig } = parseCliArgs(process.argv.slice(2));
|
|
47
|
+
|
|
48
|
+
if (listOnly) {
|
|
49
|
+
console.log('GMPSignal 40-Actor Intelligence Suites (https://apify.com/gmpsignal):');
|
|
50
|
+
for (const [suiteKey, actorList] of Object.entries(GMPSIGNAL_SUITES)) {
|
|
51
|
+
console.log(`\n[${suiteKey.toUpperCase()}] (${actorList.length} Actors):`);
|
|
52
|
+
for (const slug of actorList) {
|
|
53
|
+
console.log(` - ${slug}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (printConfig) {
|
|
60
|
+
const configObj = buildMcpServerConfig(suite);
|
|
61
|
+
console.log(JSON.stringify(configObj, null, 2));
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const actorsArg = customActors
|
|
66
|
+
? customActors.trim()
|
|
67
|
+
: resolveActorsForSuite(suite).join(',');
|
|
68
|
+
|
|
69
|
+
const child = spawn(
|
|
70
|
+
'npx',
|
|
71
|
+
['-y', '@apify/actors-mcp-server', '--actors', actorsArg],
|
|
72
|
+
{
|
|
73
|
+
stdio: 'inherit',
|
|
74
|
+
env: {
|
|
75
|
+
...process.env
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
child.on('exit', (code) => {
|
|
81
|
+
process.exitCode = code || 0;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
main();
|
package/index.mjs
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file index.mjs
|
|
3
|
+
* @description Programmatic SDK and Suite Registry for the GMPSignal 40-Actor Enterprise
|
|
4
|
+
* Data & Model Context Protocol (MCP) Intelligence Suite on Apify.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Curated Actor suites organized by vertical use case.
|
|
9
|
+
* @type {Record<string, Array<string>>}
|
|
10
|
+
*/
|
|
11
|
+
export const GMPSIGNAL_SUITES = {
|
|
12
|
+
flagship: [
|
|
13
|
+
'gmpsignal/dex-token-scanner-security-auditor',
|
|
14
|
+
'gmpsignal/crypto-orderbook-arbitrage-scanner',
|
|
15
|
+
'gmpsignal/multichain-wallet-aml-risk-screener',
|
|
16
|
+
'gmpsignal/defi-yield-tvl-stablecoin-monitor',
|
|
17
|
+
'gmpsignal/prediction-markets-polymarket-kalshi-scanner',
|
|
18
|
+
'gmpsignal/b2b-company-techstack-contacts-enricher',
|
|
19
|
+
'gmpsignal/global-sanctions-pep-gleif-kyb-screener',
|
|
20
|
+
'gmpsignal/cyber-cve-kev-epss-vulnerability-scanner',
|
|
21
|
+
'gmpsignal/startup-vc-dealflow-yc-github-radar',
|
|
22
|
+
'gmpsignal/academic-patent-research-citation-intelligence',
|
|
23
|
+
'gmpsignal/shopify-global-store-products-scraper'
|
|
24
|
+
],
|
|
25
|
+
crypto: [
|
|
26
|
+
'gmpsignal/dex-token-scanner-security-auditor',
|
|
27
|
+
'gmpsignal/crypto-orderbook-arbitrage-scanner',
|
|
28
|
+
'gmpsignal/multichain-wallet-aml-risk-screener',
|
|
29
|
+
'gmpsignal/defi-yield-tvl-stablecoin-monitor',
|
|
30
|
+
'gmpsignal/prediction-markets-polymarket-kalshi-scanner',
|
|
31
|
+
'gmpsignal/turkey-crypto-exchange-prices'
|
|
32
|
+
],
|
|
33
|
+
b2b: [
|
|
34
|
+
'gmpsignal/b2b-company-techstack-contacts-enricher',
|
|
35
|
+
'gmpsignal/shopify-global-store-products-scraper',
|
|
36
|
+
'gmpsignal/startup-vc-dealflow-yc-github-radar',
|
|
37
|
+
'gmpsignal/german-jobs-scraper'
|
|
38
|
+
],
|
|
39
|
+
compliance: [
|
|
40
|
+
'gmpsignal/global-sanctions-pep-gleif-kyb-screener',
|
|
41
|
+
'gmpsignal/cyber-cve-kev-epss-vulnerability-scanner',
|
|
42
|
+
'gmpsignal/academic-patent-research-citation-intelligence',
|
|
43
|
+
'gmpsignal/sec-edgar-filings',
|
|
44
|
+
'gmpsignal/fda-warning-letters-scraper',
|
|
45
|
+
'gmpsignal/fda-recalls-enforcement',
|
|
46
|
+
'gmpsignal/eu-ted-tenders-scraper',
|
|
47
|
+
'gmpsignal/global-product-recalls'
|
|
48
|
+
],
|
|
49
|
+
regional: [
|
|
50
|
+
'gmpsignal/earthquake-monitor-usgs-emsc-afad',
|
|
51
|
+
'gmpsignal/europe-mediterranean-earthquakes-emsc-official-data',
|
|
52
|
+
'gmpsignal/turkey-earthquakes-afad-official-data',
|
|
53
|
+
'gmpsignal/islamic-prayer-times-worldwide-monthly-calendars',
|
|
54
|
+
'gmpsignal/njuskalo-scraper',
|
|
55
|
+
'gmpsignal/bolha-scraper',
|
|
56
|
+
'gmpsignal/olx-ba-scraper',
|
|
57
|
+
'gmpsignal/halooglasi-serbia-scraper',
|
|
58
|
+
'gmpsignal/kupujemprodajem-scraper',
|
|
59
|
+
'gmpsignal/pazar3-merrjep-balkan-scraper',
|
|
60
|
+
'gmpsignal/tcmb-exchange-rates-official-turkish-central-bank-fx',
|
|
61
|
+
'gmpsignal/turkey-gold-prices',
|
|
62
|
+
'gmpsignal/turkey-weather-mgm-official',
|
|
63
|
+
'gmpsignal/turkey-on-duty-pharmacies-nobetci-eczane-daily',
|
|
64
|
+
'gmpsignal/turkey-fuel-prices-81-provinces-daily-benzin-motorin-lpg',
|
|
65
|
+
'gmpsignal/turkey-car-rental-prices-city-airport-index',
|
|
66
|
+
'gmpsignal/turkey-hotels-explorer-ratings-amenities',
|
|
67
|
+
'gmpsignal/turkey-domestic-flight-prices',
|
|
68
|
+
'gmpsignal/eksi-sozluk-scraper-entries-trending',
|
|
69
|
+
'gmpsignal/turkey-greek-islands-ferry-schedules',
|
|
70
|
+
'gmpsignal/turkey-bus-routes-prices',
|
|
71
|
+
'gmpsignal/hepsiemlak-scraper-turkey-real-estate-listings'
|
|
72
|
+
]
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Resolves the unique list of GMPSignal Actor slugs for a given suite name.
|
|
77
|
+
*
|
|
78
|
+
* @param {string} suiteName - Suite identifier ('flagship', 'crypto', 'b2b', 'compliance', 'regional', or 'all').
|
|
79
|
+
* @returns {Array<string>} Array of full Apify Actor slugs (`gmpsignal/<slug>`).
|
|
80
|
+
*/
|
|
81
|
+
export function resolveActorsForSuite(suiteName = 'flagship') {
|
|
82
|
+
const normalized = String(suiteName || 'flagship').toLowerCase().trim();
|
|
83
|
+
if (normalized === 'all') {
|
|
84
|
+
const unique = new Set([
|
|
85
|
+
...GMPSIGNAL_SUITES.crypto,
|
|
86
|
+
...GMPSIGNAL_SUITES.b2b,
|
|
87
|
+
...GMPSIGNAL_SUITES.compliance,
|
|
88
|
+
...GMPSIGNAL_SUITES.regional
|
|
89
|
+
]);
|
|
90
|
+
return Array.from(unique);
|
|
91
|
+
}
|
|
92
|
+
return GMPSIGNAL_SUITES[normalized] || GMPSIGNAL_SUITES.flagship;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Builds a complete Claude Desktop / Cursor MCP configuration object.
|
|
97
|
+
*
|
|
98
|
+
* @param {string} suiteName - Target suite identifier.
|
|
99
|
+
* @param {string} apiTokenPlaceholder - Placeholder or actual Apify API token.
|
|
100
|
+
* @returns {Object} JSON-serializable MCP configuration object.
|
|
101
|
+
*/
|
|
102
|
+
export function buildMcpServerConfig(suiteName = 'flagship', apiTokenPlaceholder = '<YOUR_APIFY_API_TOKEN>') {
|
|
103
|
+
const actors = resolveActorsForSuite(suiteName);
|
|
104
|
+
return {
|
|
105
|
+
mcpServers: {
|
|
106
|
+
[`gmpsignal-${suiteName}`]: {
|
|
107
|
+
command: 'npx',
|
|
108
|
+
args: [
|
|
109
|
+
'-y',
|
|
110
|
+
'@apify/actors-mcp-server',
|
|
111
|
+
'--actors',
|
|
112
|
+
actors.join(',')
|
|
113
|
+
],
|
|
114
|
+
env: {
|
|
115
|
+
APIFY_TOKEN: apiTokenPlaceholder
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,53 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
"name": "@gmpsignal/mcp-server",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Official @gmpsignal Model Context Protocol (MCP) Server & CLI Launcher for the 40-Actor Enterprise Data, Quantitative Crypto, Prediction Markets, B2B Enrichment, KYB/Sanctions, Cybersecurity & Regulatory Suite on Apify.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./index.mjs",
|
|
7
|
+
"bin": {
|
|
8
|
+
"gmpsignal-mcp-server": "./bin/cli.mjs",
|
|
9
|
+
"gmpsignal-mcp": "./bin/cli.mjs"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"bin/",
|
|
13
|
+
"index.mjs",
|
|
14
|
+
"README.md"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"start": "node ./bin/cli.mjs",
|
|
18
|
+
"list": "node ./bin/cli.mjs --list",
|
|
19
|
+
"print-config": "node ./bin/cli.mjs --print-config"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/devburaq/gmpsignal-mcp-n8n-starter-kit.git"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"mcp",
|
|
27
|
+
"mcp-server",
|
|
28
|
+
"model-context-protocol",
|
|
29
|
+
"apify",
|
|
30
|
+
"claude-desktop",
|
|
31
|
+
"cursor",
|
|
32
|
+
"ai-agents",
|
|
33
|
+
"dexscreener",
|
|
34
|
+
"polymarket",
|
|
35
|
+
"kalshi",
|
|
36
|
+
"b2b-enrichment",
|
|
37
|
+
"kyb-sanctions",
|
|
38
|
+
"cisa-kev",
|
|
39
|
+
"epss",
|
|
40
|
+
"shopify-scraper",
|
|
41
|
+
"sec-edgar",
|
|
42
|
+
"gmpsignal"
|
|
43
|
+
],
|
|
44
|
+
"author": "GMPSignal <https://apify.com/gmpsignal>",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"homepage": "https://github.com/devburaq/gmpsignal-mcp-n8n-starter-kit",
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=18.0.0"
|
|
52
|
+
}
|
|
53
|
+
}
|