moltalyzer-mcp 1.3.0 → 1.5.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 +34 -9
- package/build/index.js +5 -5
- package/build/index.js.map +1 -1
- package/build/tools/free.d.ts.map +1 -1
- package/build/tools/free.js +37 -1
- package/build/tools/free.js.map +1 -1
- package/build/tools/github.d.ts.map +1 -1
- package/build/tools/github.js +0 -9
- package/build/tools/github.js.map +1 -1
- package/build/tools/intelligence.d.ts.map +1 -1
- package/build/tools/intelligence.js +0 -9
- package/build/tools/intelligence.js.map +1 -1
- package/build/tools/moltbook.d.ts.map +1 -1
- package/build/tools/moltbook.js +26 -9
- package/build/tools/moltbook.js.map +1 -1
- package/build/tools/polymarket.d.ts.map +1 -1
- package/build/tools/polymarket.js +52 -9
- package/build/tools/polymarket.js.map +1 -1
- package/build/tools/pulse.d.ts.map +1 -1
- package/build/tools/pulse.js +2 -11
- package/build/tools/pulse.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# moltalyzer-mcp
|
|
2
2
|
|
|
3
|
-
MCP server for [Moltalyzer](https://moltalyzer.xyz) — crypto intelligence, GitHub trends, prediction market signals, and
|
|
3
|
+
MCP server for [Moltalyzer](https://moltalyzer.xyz) — crypto intelligence, GitHub trends, prediction market signals, token analysis, and AI content advisor.
|
|
4
4
|
|
|
5
5
|
Works with Claude Desktop, Claude Code, ChatGPT, Cursor, and any MCP-compatible client.
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**23 tools total.** 11 free tools (no setup needed). 12 paid tools via x402 micropayments ($0.01–$0.15 per call).
|
|
8
8
|
|
|
9
9
|
## Quick Start
|
|
10
10
|
|
|
11
11
|
### Option A: Free tier (no wallet needed)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
11 tools available immediately — latest digests for all data feeds, health check, API info, and content samples.
|
|
14
14
|
|
|
15
15
|
**Claude Code:**
|
|
16
16
|
```bash
|
|
@@ -31,7 +31,7 @@ Or add to `.claude/settings.json`:
|
|
|
31
31
|
|
|
32
32
|
### Option B: Full access via x402 micropayments
|
|
33
33
|
|
|
34
|
-
All
|
|
34
|
+
All 23 tools. Pay per call with USDC on Base Mainnet (~$0.01–$0.15 per call). No subscription.
|
|
35
35
|
|
|
36
36
|
**Claude Code:**
|
|
37
37
|
```bash
|
|
@@ -78,28 +78,33 @@ To get USDC on Base: [Coinbase](https://coinbase.com), [Bridge from other chains
|
|
|
78
78
|
|------|-------------|
|
|
79
79
|
| `get_health` | API health check — status, job statuses, x402 connectivity |
|
|
80
80
|
| `get_api_info` | All endpoints, pricing, changelog, and rate limits |
|
|
81
|
-
| `
|
|
82
|
-
| `get_moltbook_sample` |
|
|
81
|
+
| `get_moltbook_digest` | Latest hourly crypto community sentiment digest (1 req/5min) |
|
|
82
|
+
| `get_moltbook_sample` | Static sample Moltbook digest for testing (1 req/20min) |
|
|
83
|
+
| `get_github_digest` | Latest daily GitHub trending repos digest (1 req/5min) |
|
|
84
|
+
| `get_intelligence_digest` | Latest Master Intelligence Digest — unified cross-domain synthesis (1 req/5min) |
|
|
85
|
+
| `get_intelligence_sample` | Static sample Master Intelligence Digest for testing (1 req/20min) |
|
|
86
|
+
| `get_tokens_latest` | Most recent token signal (1 req/5min) |
|
|
87
|
+
| `get_polymarket_latest` | Most recent Polymarket predetermined outcome signal (1 req/5min) |
|
|
88
|
+
| `get_pulse_latest` | Full Pulse narrative intelligence digest (1 req/5min) |
|
|
89
|
+
| `get_pulse_brief` | Current Pulse digest title, summary, top insights |
|
|
83
90
|
|
|
84
91
|
### Moltbook — Crypto Community Intelligence
|
|
85
92
|
|
|
86
93
|
| Tool | Description | Price |
|
|
87
94
|
|------|-------------|-------|
|
|
88
|
-
| `get_moltbook_digest` | Latest hourly community sentiment digest — topics, narratives, hot discussions | $0.005 |
|
|
89
95
|
| `get_moltbook_history` | Historical hourly digests (1-24h lookback) | $0.02 |
|
|
96
|
+
| `get_moltbook_advisor` | AI content advisor — viral scoring + angles + draft for your post idea | $0.05–$0.15 |
|
|
90
97
|
|
|
91
98
|
### Master Intelligence Digest — Cross-Domain Synthesis
|
|
92
99
|
|
|
93
100
|
| Tool | Description | Price |
|
|
94
101
|
|------|-------------|-------|
|
|
95
|
-
| `get_intelligence_digest` | Latest 4-hourly synthesis of all feeds — crypto, GitHub, Polymarket, tokens, macro | $0.01 |
|
|
96
102
|
| `get_intelligence_history` | Historical master digests (1-168h lookback) | $0.03 |
|
|
97
103
|
|
|
98
104
|
### GitHub — Trending Repos
|
|
99
105
|
|
|
100
106
|
| Tool | Description | Price |
|
|
101
107
|
|------|-------------|-------|
|
|
102
|
-
| `get_github_digest` | Latest daily digest of trending new repos | $0.02 |
|
|
103
108
|
| `get_github_history` | Historical daily digests (1-30 days) | $0.05 |
|
|
104
109
|
| `get_github_repos` | Top trending repos, filterable by language | $0.01 |
|
|
105
110
|
|
|
@@ -118,6 +123,26 @@ To get USDC on Base: [Coinbase](https://coinbase.com), [Bridge from other chains
|
|
|
118
123
|
| `get_token_signals` | Batch of up to 20 signals, filter by chain/tier/score | $0.05 |
|
|
119
124
|
| `get_token_history` | Historical signals by date range (max 7 days, paginated) | $0.03 |
|
|
120
125
|
|
|
126
|
+
### Pulse — Cross-Source Narrative Intelligence
|
|
127
|
+
|
|
128
|
+
| Tool | Description | Price |
|
|
129
|
+
|------|-------------|-------|
|
|
130
|
+
| `get_pulse_narratives` | Active narratives with lifecycle stage and momentum | $0.01 |
|
|
131
|
+
| `get_pulse_narrative_detail` | Full content items + source breakdown for a specific narrative | $0.01 |
|
|
132
|
+
|
|
133
|
+
## Advisor Tool
|
|
134
|
+
|
|
135
|
+
`get_moltbook_advisor` analyzes current live community feed data to score your post idea and return:
|
|
136
|
+
|
|
137
|
+
- **viralScore** — predicted engagement (0-100)
|
|
138
|
+
- **verdict** — post/refine/redirect
|
|
139
|
+
- **brief** — topic, angle, key data points, tone guidance, target format
|
|
140
|
+
- **suggestions** — specific improvements
|
|
141
|
+
- **suggestedTitle** + **suggestedContent** — ready-to-use draft (premium tier)
|
|
142
|
+
|
|
143
|
+
Standard tier ($0.05): Sonnet-powered quick analysis
|
|
144
|
+
Premium tier ($0.15): Opus-powered deep analysis with full draft and pattern matching against top posts
|
|
145
|
+
|
|
121
146
|
## Environment Variables
|
|
122
147
|
|
|
123
148
|
| Variable | Required | Description |
|
package/build/index.js
CHANGED
|
@@ -21,7 +21,7 @@ try {
|
|
|
21
21
|
pkg = JSON.parse(readFileSync(join(__dirname_resolved, "..", "package.json"), "utf-8"));
|
|
22
22
|
}
|
|
23
23
|
catch {
|
|
24
|
-
pkg = { version: "1.
|
|
24
|
+
pkg = { version: "1.4.0" };
|
|
25
25
|
}
|
|
26
26
|
// All logging to stderr (stdout reserved for MCP protocol)
|
|
27
27
|
const log = (...args) => console.error("[moltalyzer-mcp]", ...args);
|
|
@@ -41,11 +41,11 @@ function createServer() {
|
|
|
41
41
|
registerTokens(server, fetchWithPayment);
|
|
42
42
|
registerIntelligence(server, fetchWithPayment);
|
|
43
43
|
registerPulse(server, fetchWithPayment);
|
|
44
|
-
log(`Server started with 23 tools (
|
|
44
|
+
log(`Server started with 23 tools (11 free + 12 paid via x402)`);
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
log("WARNING: EVM_PRIVATE_KEY not set — running in free-tier mode (
|
|
48
|
-
"To unlock all
|
|
47
|
+
log("WARNING: EVM_PRIVATE_KEY not set — running in free-tier mode (11 tools).\n" +
|
|
48
|
+
"To unlock all 23 tools with x402 micropayments, add your wallet private key:\n\n" +
|
|
49
49
|
JSON.stringify({
|
|
50
50
|
mcpServers: {
|
|
51
51
|
moltalyzer: {
|
|
@@ -56,7 +56,7 @@ function createServer() {
|
|
|
56
56
|
},
|
|
57
57
|
}, null, 2) +
|
|
58
58
|
"\n\nAlternatively, get a free API key at https://moltalyzer.xyz for 5 digests/day.");
|
|
59
|
-
log("Server started with
|
|
59
|
+
log("Server started with 11 free tools");
|
|
60
60
|
}
|
|
61
61
|
return server;
|
|
62
62
|
}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,QAAQ;IAC7D,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AAEjE,IAAI,GAAwB,CAAC;AAC7B,IAAI,CAAC;IACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1F,CAAC;AAAC,MAAM,CAAC;IACP,GAAG,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,2DAA2D;AAC3D,MAAM,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC;AAE/E,SAAS,YAAY;IACnB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC,CAAC;IAEH,4DAA4D;IAC5D,YAAY,CAAC,MAAM,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAEhD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;QAClD,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC3C,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzC,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC7C,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzC,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC/C,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACxC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"free.d.ts","sourceRoot":"","sources":["../../src/tools/free.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"free.d.ts","sourceRoot":"","sources":["../../src/tools/free.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAwHzC"}
|
package/build/tools/free.js
CHANGED
|
@@ -47,7 +47,7 @@ export function register(server) {
|
|
|
47
47
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
48
48
|
});
|
|
49
49
|
server.registerTool("get_polymarket_latest", {
|
|
50
|
-
description: "Get the most recent Polymarket
|
|
50
|
+
description: "Get the most recent Polymarket intelligence feed item — a market repricing (mover), a tracked-whale entry with calibration, or a predetermined-outcome signal. Free, rate limited to 1 request per 5 minutes. No payment or API key required.",
|
|
51
51
|
}, async () => {
|
|
52
52
|
const res = await fetchWithTimeout(fetch, `${BASE_URL}/api/polymarket/latest`);
|
|
53
53
|
if (!res.ok)
|
|
@@ -55,6 +55,15 @@ export function register(server) {
|
|
|
55
55
|
const data = await res.json();
|
|
56
56
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
57
57
|
});
|
|
58
|
+
server.registerTool("get_polymarket_pulse", {
|
|
59
|
+
description: "Get the Polymarket pulse: the top-3 noise-filtered market repricings of the last 24 hours across ~42K markets, plus the latest intelligence digest title. Free, no payment or API key required.",
|
|
60
|
+
}, async () => {
|
|
61
|
+
const res = await fetchWithTimeout(fetch, `${BASE_URL}/api/polymarket/pulse`);
|
|
62
|
+
if (!res.ok)
|
|
63
|
+
return errorResult(res);
|
|
64
|
+
const data = await res.json();
|
|
65
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
66
|
+
});
|
|
58
67
|
server.registerTool("get_pulse_brief", {
|
|
59
68
|
description: "Get the latest Pulse narrative intelligence brief — cross-source AI/business narrative tracking from Reddit, HN, GitHub, and HuggingFace. Returns title, summary, top insights, and narrative count. Free, no payment or API key required.",
|
|
60
69
|
}, async () => {
|
|
@@ -73,5 +82,32 @@ export function register(server) {
|
|
|
73
82
|
const data = await res.json();
|
|
74
83
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
75
84
|
});
|
|
85
|
+
server.registerTool("get_moltbook_digest", {
|
|
86
|
+
description: "Get the latest hourly Moltbook community digest — AI-generated analysis of crypto community sentiment, trending topics, emerging narratives, and hot discussions from the past hour. Returns title, summary, full markdown analysis, sentiment scores, and narrative tracking. Free, rate limited to 1 request per 5 minutes. No payment or API key required.",
|
|
87
|
+
}, async () => {
|
|
88
|
+
const res = await fetchWithTimeout(fetch, `${BASE_URL}/api/moltbook/digests/latest`);
|
|
89
|
+
if (!res.ok)
|
|
90
|
+
return errorResult(res);
|
|
91
|
+
const data = await res.json();
|
|
92
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
93
|
+
});
|
|
94
|
+
server.registerTool("get_github_digest", {
|
|
95
|
+
description: "Get the latest daily GitHub trending repos digest — AI analysis of newly created repositories gaining traction, organized by category with emerging tools, language trends, and notable projects. Runs daily at 06:00 UTC scanning repos created in the last 24 hours. Free, rate limited to 1 request per 5 minutes. No payment or API key required.",
|
|
96
|
+
}, async () => {
|
|
97
|
+
const res = await fetchWithTimeout(fetch, `${BASE_URL}/api/github/digests/latest`);
|
|
98
|
+
if (!res.ok)
|
|
99
|
+
return errorResult(res);
|
|
100
|
+
const data = await res.json();
|
|
101
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
102
|
+
});
|
|
103
|
+
server.registerTool("get_intelligence_digest", {
|
|
104
|
+
description: "Get the latest Master Intelligence Digest — a cross-domain synthesis combining crypto community sentiment, GitHub trends, Polymarket signals, and token intelligence into a unified analysis with executive summary, cross-domain insights, narratives, and sentiment. Updated every hour. Free, rate limited to 1 request per 5 minutes. No payment or API key required.",
|
|
105
|
+
}, async () => {
|
|
106
|
+
const res = await fetchWithTimeout(fetch, `${BASE_URL}/api/intelligence/latest`);
|
|
107
|
+
if (!res.ok)
|
|
108
|
+
return errorResult(res);
|
|
109
|
+
const data = await res.json();
|
|
110
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
111
|
+
});
|
|
76
112
|
}
|
|
77
113
|
//# sourceMappingURL=free.js.map
|
package/build/tools/free.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/tools/free.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/tools/free.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/tools/github.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/tools/github.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,QAoChE"}
|
package/build/tools/github.js
CHANGED
|
@@ -2,15 +2,6 @@ import { z } from "zod";
|
|
|
2
2
|
import { BASE_URL, fetchWithTimeout } from "../client.js";
|
|
3
3
|
import { errorResult } from "./error.js";
|
|
4
4
|
export function register(server, fetchFn) {
|
|
5
|
-
server.registerTool("get_github_digest", {
|
|
6
|
-
description: "Get the latest daily GitHub trending repos digest — AI analysis of newly created repositories gaining traction, organized by category with emerging tools, language trends, and notable projects. Runs daily at 06:00 UTC scanning repos created in the last 24 hours. Costs $0.02 USDC via x402.",
|
|
7
|
-
}, async () => {
|
|
8
|
-
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/github/digests/latest`);
|
|
9
|
-
if (!res.ok)
|
|
10
|
-
return errorResult(res);
|
|
11
|
-
const data = await res.json();
|
|
12
|
-
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
13
|
-
});
|
|
14
5
|
server.registerTool("get_github_history", {
|
|
15
6
|
description: "Get historical daily GitHub digests — trending repo analysis over a configurable lookback window (1-30 days). Track how developer interest and project categories evolve over time. Returns an array of daily digest objects. Costs $0.05 USDC via x402.",
|
|
16
7
|
inputSchema: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/tools/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/tools/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,QAkBhE"}
|
|
@@ -2,15 +2,6 @@ import { z } from "zod";
|
|
|
2
2
|
import { BASE_URL, fetchWithTimeout } from "../client.js";
|
|
3
3
|
import { errorResult } from "./error.js";
|
|
4
4
|
export function register(server, fetchFn) {
|
|
5
|
-
server.registerTool("get_intelligence_digest", {
|
|
6
|
-
description: "Get the latest Master Intelligence Digest — a cross-domain synthesis combining crypto community sentiment, GitHub trends, Polymarket signals, and token intelligence into a unified analysis with executive summary, cross-domain insights, narratives, and sentiment. Updated every hour. Costs $0.01 USDC via x402.",
|
|
7
|
-
}, async () => {
|
|
8
|
-
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/intelligence/latest`);
|
|
9
|
-
if (!res.ok)
|
|
10
|
-
return errorResult(res);
|
|
11
|
-
const data = await res.json();
|
|
12
|
-
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
13
|
-
});
|
|
14
5
|
server.registerTool("get_intelligence_history", {
|
|
15
6
|
description: "Get historical Master Intelligence Digests — cross-domain synthesis over a configurable lookback window (1-168 hours). Track how the unified intelligence picture evolves over time. Costs $0.03 USDC via x402.",
|
|
16
7
|
inputSchema: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intelligence.js","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"intelligence.js","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,0BAA0B,EAAE;QAC9C,WAAW,EACT,iNAAiN;QACnN,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC9G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;SACrH;KACF,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,GAAG,QAAQ,4BAA4B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moltbook.d.ts","sourceRoot":"","sources":["../../src/tools/moltbook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"moltbook.d.ts","sourceRoot":"","sources":["../../src/tools/moltbook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,QA2ChE"}
|
package/build/tools/moltbook.js
CHANGED
|
@@ -2,15 +2,6 @@ import { z } from "zod";
|
|
|
2
2
|
import { BASE_URL, fetchWithTimeout } from "../client.js";
|
|
3
3
|
import { errorResult } from "./error.js";
|
|
4
4
|
export function register(server, fetchFn) {
|
|
5
|
-
server.registerTool("get_moltbook_digest", {
|
|
6
|
-
description: "Get the latest hourly Moltbook community digest — AI-generated analysis of crypto community sentiment, trending topics, emerging narratives, and hot discussions from the past hour. Returns title, summary, full markdown analysis, sentiment scores, and narrative tracking. Costs $0.005 USDC via x402.",
|
|
7
|
-
}, async () => {
|
|
8
|
-
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/moltbook/digests/latest`);
|
|
9
|
-
if (!res.ok)
|
|
10
|
-
return errorResult(res);
|
|
11
|
-
const data = await res.json();
|
|
12
|
-
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
13
|
-
});
|
|
14
5
|
server.registerTool("get_moltbook_history", {
|
|
15
6
|
description: "Get historical Moltbook community digests — hourly sentiment analysis over a configurable lookback window (1-24 hours). Use this to track how community sentiment, topics, and narratives have evolved over time. Returns an array of hourly digest objects. Costs $0.02 USDC via x402.",
|
|
16
7
|
inputSchema: {
|
|
@@ -30,5 +21,31 @@ export function register(server, fetchFn) {
|
|
|
30
21
|
const data = await res.json();
|
|
31
22
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
32
23
|
});
|
|
24
|
+
server.registerTool("get_moltbook_advisor", {
|
|
25
|
+
description: "Get AI-powered viral content advice for Moltbook posts. Analyzes current community trends and live feed data to score your content idea, suggest angles, formats, and titles that will resonate. Standard tier ($0.05, Claude Sonnet) gives viral score + brief + suggestions. Premium tier ($0.15, Claude Opus) adds deeper topic analysis, pattern matching against top posts, and a full draft. Use this before writing a post to maximize engagement. Costs $0.05–$0.15 USDC via x402.",
|
|
26
|
+
inputSchema: {
|
|
27
|
+
prompt: z.string().max(5000).describe("Your post idea, topic, or draft content to get advice on"),
|
|
28
|
+
tier: z.enum(["standard", "premium"]).optional().describe("'standard' ($0.05, Sonnet) for quick advice, 'premium' ($0.15, Opus) for deep analysis + full draft. Default: standard"),
|
|
29
|
+
submolt: z.string().optional().describe("Target submolt/community context (e.g. 'crypto', 'defi', 'ai')"),
|
|
30
|
+
},
|
|
31
|
+
}, async ({ prompt, tier, submolt }) => {
|
|
32
|
+
const body = { prompt };
|
|
33
|
+
if (tier !== undefined)
|
|
34
|
+
body.tier = tier;
|
|
35
|
+
if (submolt !== undefined)
|
|
36
|
+
body.context = { submolt };
|
|
37
|
+
const controller = new AbortController();
|
|
38
|
+
const timer = setTimeout(() => controller.abort(), 60_000);
|
|
39
|
+
const res = await fetchFn(`${BASE_URL}/api/moltbook/advisor`, {
|
|
40
|
+
method: "POST",
|
|
41
|
+
headers: { "Content-Type": "application/json" },
|
|
42
|
+
body: JSON.stringify(body),
|
|
43
|
+
signal: controller.signal,
|
|
44
|
+
}).finally(() => clearTimeout(timer));
|
|
45
|
+
if (!res.ok)
|
|
46
|
+
return errorResult(res);
|
|
47
|
+
const data = await res.json();
|
|
48
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
49
|
+
});
|
|
33
50
|
}
|
|
34
51
|
//# sourceMappingURL=moltbook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moltbook.js","sourceRoot":"","sources":["../../src/tools/moltbook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"moltbook.js","sourceRoot":"","sources":["../../src/tools/moltbook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymarket.d.ts","sourceRoot":"","sources":["../../src/tools/polymarket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"polymarket.d.ts","sourceRoot":"","sources":["../../src/tools/polymarket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,QAgFhE"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { BASE_URL, fetchWithTimeout } from "../client.js";
|
|
3
3
|
import { errorResult } from "./error.js";
|
|
4
|
+
const LONG_TIMEOUT_MS = 120_000;
|
|
4
5
|
export function register(server, fetchFn) {
|
|
5
6
|
server.registerTool("get_polymarket_signal", {
|
|
6
|
-
description: "Get
|
|
7
|
+
description: "Get one Polymarket intelligence feed item (v4): a noise-filtered market repricing (type=mover), a tracked-whale entry annotated with that wallet's hold-to-resolution calibration and follow/fade label (type=whale_entry), or an AI-detected predetermined-outcome market (type=predetermined). Costs $0.01 USDC via x402.",
|
|
7
8
|
inputSchema: {
|
|
8
|
-
index: z.number().int().optional().describe("Specific
|
|
9
|
+
index: z.number().int().optional().describe("Specific feed index number. Omit to get the latest item."),
|
|
9
10
|
},
|
|
10
11
|
}, async ({ index }) => {
|
|
11
12
|
const params = new URLSearchParams();
|
|
@@ -19,20 +20,20 @@ export function register(server, fetchFn) {
|
|
|
19
20
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
20
21
|
});
|
|
21
22
|
server.registerTool("get_polymarket_signals", {
|
|
22
|
-
description: "Get a batch of Polymarket
|
|
23
|
+
description: "Get a batch of Polymarket intelligence feed items (up to 20, v4): market repricings, whale entries with calibration, and predetermined-outcome signals in one index-polled feed. Poll pattern: pass your last seen feed index as 'since' to get only new items. Costs $0.03 USDC via x402.",
|
|
23
24
|
inputSchema: {
|
|
24
|
-
since: z.number().int().optional().describe("Get
|
|
25
|
-
count: z.number().int().min(1).max(20).optional().describe("Max
|
|
26
|
-
|
|
25
|
+
since: z.number().int().optional().describe("Get items after this feed index (for polling — pass your last seen index)."),
|
|
26
|
+
count: z.number().int().min(1).max(20).optional().describe("Max items to return (1-20, default 10)"),
|
|
27
|
+
type: z.enum(["mover", "whale_entry", "predetermined"]).optional().describe("Filter by item type"),
|
|
27
28
|
},
|
|
28
|
-
}, async ({ since, count,
|
|
29
|
+
}, async ({ since, count, type }) => {
|
|
29
30
|
const params = new URLSearchParams();
|
|
30
31
|
if (since !== undefined)
|
|
31
32
|
params.set("since", String(since));
|
|
32
33
|
if (count !== undefined)
|
|
33
34
|
params.set("count", String(count));
|
|
34
|
-
if (
|
|
35
|
-
params.set("
|
|
35
|
+
if (type !== undefined)
|
|
36
|
+
params.set("type", type);
|
|
36
37
|
const url = `${BASE_URL}/api/polymarket/signals${params.size ? "?" + params : ""}`;
|
|
37
38
|
const res = await fetchWithTimeout(fetchFn, url);
|
|
38
39
|
if (!res.ok)
|
|
@@ -40,5 +41,47 @@ export function register(server, fetchFn) {
|
|
|
40
41
|
const data = await res.json();
|
|
41
42
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
42
43
|
});
|
|
44
|
+
server.registerTool("get_polymarket_whales", {
|
|
45
|
+
description: "Get the Polymarket whale calibration table: per-wallet performance of tracked whales' position ENTRIES held to resolution — win rate by odds band (longshot/mid/favorite), mirror-ROI, fade-ROI, and a follow/fade/neutral label (min 30 resolved entries). Note: measures entries held to resolution, NOT trader P&L (exits are not tracked). Updated hourly. Costs $0.05 USDC via x402.",
|
|
46
|
+
inputSchema: {},
|
|
47
|
+
}, async () => {
|
|
48
|
+
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/polymarket/whales`);
|
|
49
|
+
if (!res.ok)
|
|
50
|
+
return errorResult(res);
|
|
51
|
+
const data = await res.json();
|
|
52
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
53
|
+
});
|
|
54
|
+
server.registerTool("get_polymarket_digest", {
|
|
55
|
+
description: "Get the full Polymarket Intelligence Digest (regenerated every 4h): what repriced and why across ~42K markets — significant moves, whale positioning interpreted through calibration labels, predetermined-outcome signals, and international news context, synthesized into an analysis. Staleness-guarded (503 rather than stale data). Costs $0.10 USDC via x402. A free teaser is available via the get_polymarket_pulse tool or /api/polymarket/digest/brief.",
|
|
56
|
+
inputSchema: {},
|
|
57
|
+
}, async () => {
|
|
58
|
+
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/polymarket/digest`);
|
|
59
|
+
if (!res.ok)
|
|
60
|
+
return errorResult(res);
|
|
61
|
+
const data = await res.json();
|
|
62
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
63
|
+
});
|
|
64
|
+
server.registerTool("get_polymarket_research", {
|
|
65
|
+
description: "Run an on-demand deep-dive research analysis for ONE Polymarket market: 7-day price action, live order book, tracked-whale positioning with calibration, related international news, and a synthesized thesis + risks + confidence + actionable bottom line. Pass the market slug (from polymarket.com/market/<slug> or a feed item) or a 0x conditionId. Generation takes 10-60s; results are cached 30 minutes. Costs $1.00 USDC via x402.",
|
|
66
|
+
inputSchema: {
|
|
67
|
+
market: z.string().min(3).describe("Polymarket market slug or 0x-prefixed conditionId"),
|
|
68
|
+
},
|
|
69
|
+
}, async ({ market }) => {
|
|
70
|
+
const url = `${BASE_URL}/api/polymarket/research?market=${encodeURIComponent(market)}`;
|
|
71
|
+
// Deep-dive generation can take up to a minute — use a long timeout
|
|
72
|
+
const controller = new AbortController();
|
|
73
|
+
const timer = setTimeout(() => controller.abort(), LONG_TIMEOUT_MS);
|
|
74
|
+
let res;
|
|
75
|
+
try {
|
|
76
|
+
res = await fetchFn(url, { signal: controller.signal });
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
clearTimeout(timer);
|
|
80
|
+
}
|
|
81
|
+
if (!res.ok)
|
|
82
|
+
return errorResult(res);
|
|
83
|
+
const data = await res.json();
|
|
84
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
85
|
+
});
|
|
43
86
|
}
|
|
44
87
|
//# sourceMappingURL=polymarket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymarket.js","sourceRoot":"","sources":["../../src/tools/polymarket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,uBAAuB,EAAE;QAC3C,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"polymarket.js","sourceRoot":"","sources":["../../src/tools/polymarket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/tools/pulse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/tools/pulse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,QAuBhE"}
|
package/build/tools/pulse.js
CHANGED
|
@@ -2,17 +2,8 @@ import { z } from "zod";
|
|
|
2
2
|
import { BASE_URL, fetchWithTimeout } from "../client.js";
|
|
3
3
|
import { errorResult } from "./error.js";
|
|
4
4
|
export function register(server, fetchFn) {
|
|
5
|
-
server.registerTool("get_pulse_digest", {
|
|
6
|
-
description: "Get the latest Pulse narrative intelligence digest — cross-source synthesis of AI/business narratives forming across Reddit, HN, GitHub, and HuggingFace. Tracks narrative lifecycle (emerging → developing → peak → fading). Includes narrativeArcs, actionableSignals, sourceMix, and topInsights. Updated every 4 hours. Costs $0.01 USDC via x402.",
|
|
7
|
-
}, async () => {
|
|
8
|
-
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/pulse/ai-business/digest/latest`);
|
|
9
|
-
if (!res.ok)
|
|
10
|
-
return errorResult(res);
|
|
11
|
-
const data = await res.json();
|
|
12
|
-
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
13
|
-
});
|
|
14
5
|
server.registerTool("get_pulse_narratives", {
|
|
15
|
-
description: "Get all active Pulse narratives with lifecycle stage, source count, and momentum. Narratives track specific stories gaining traction across 2+ sources. Costs $0.01 USDC via x402.",
|
|
6
|
+
description: "Get all active Pulse narratives with lifecycle stage, source count, and momentum. Narratives track specific stories gaining traction across 2+ sources (Reddit, HN, GitHub, HuggingFace). Costs $0.01 USDC via x402.",
|
|
16
7
|
}, async () => {
|
|
17
8
|
const res = await fetchWithTimeout(fetchFn, `${BASE_URL}/api/pulse/ai-business/narratives`);
|
|
18
9
|
if (!res.ok)
|
|
@@ -21,7 +12,7 @@ export function register(server, fetchFn) {
|
|
|
21
12
|
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
22
13
|
});
|
|
23
14
|
server.registerTool("get_pulse_narrative_detail", {
|
|
24
|
-
description: "Get detailed view of a specific Pulse narrative — full content items, source breakdown, and stage history. Costs $0.01 USDC via x402.",
|
|
15
|
+
description: "Get detailed view of a specific Pulse narrative — full content items, source breakdown, and stage history. Use get_pulse_narratives first to find narrative IDs. Costs $0.01 USDC via x402.",
|
|
25
16
|
inputSchema: {
|
|
26
17
|
id: z.number().int().describe("Narrative ID (from get_pulse_narratives)"),
|
|
27
18
|
},
|
package/build/tools/pulse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../src/tools/pulse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../src/tools/pulse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,OAAqB;IAC/D,MAAM,CAAC,YAAY,CAAC,sBAAsB,EAAE;QAC1C,WAAW,EACT,sNAAsN;KACzN,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,QAAQ,mCAAmC,CAAC,CAAC;QAC5F,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CAAC,4BAA4B,EAAE;QAChD,WAAW,EACT,6LAA6L;QAC/L,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SAC1E;KACF,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,QAAQ,qCAAqC,EAAE,EAAE,CAAC,CAAC;QAClG,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "moltalyzer-mcp",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "MCP server for Moltalyzer
|
|
3
|
+
"version": "1.5.0",
|
|
4
|
+
"description": "MCP server for Moltalyzer \u2014 crypto intelligence, GitHub trends, prediction market signals, and cross-source narrative intelligence via x402 micropayments",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"moltalyzer-mcp": "build/index.js"
|
|
@@ -37,4 +37,4 @@
|
|
|
37
37
|
"typescript": "^5.6.0",
|
|
38
38
|
"@types/node": "^20.0.0"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|