research-powerpack-mcp 3.4.7 → 3.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 +63 -655
- package/dist/clients/reddit.d.ts.map +1 -1
- package/dist/clients/reddit.js +23 -35
- package/dist/clients/reddit.js.map +1 -1
- package/dist/clients/scraper.d.ts +1 -6
- package/dist/clients/scraper.d.ts.map +1 -1
- package/dist/clients/scraper.js +33 -69
- package/dist/clients/scraper.js.map +1 -1
- package/dist/config/env.d.ts +75 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +87 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/yaml/tools-enhanced.yaml +0 -0
- package/dist/index.js +85 -25
- package/dist/index.js.map +1 -1
- package/dist/services/llm-processor.js +0 -25
- package/dist/services/llm-processor.js.map +1 -1
- package/dist/tools/reddit.d.ts.map +1 -1
- package/dist/tools/reddit.js +77 -29
- package/dist/tools/reddit.js.map +1 -1
- package/dist/tools/research.d.ts +2 -6
- package/dist/tools/research.d.ts.map +1 -1
- package/dist/tools/research.js +60 -47
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/scrape.d.ts +1 -5
- package/dist/tools/scrape.d.ts.map +1 -1
- package/dist/tools/scrape.js +107 -64
- package/dist/tools/scrape.js.map +1 -1
- package/dist/tools/search.d.ts +1 -5
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +26 -16
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/utils.d.ts +20 -59
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +25 -61
- package/dist/tools/utils.js.map +1 -1
- package/dist/utils/logger.d.ts +36 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +40 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/response.d.ts +101 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +183 -0
- package/dist/utils/response.js.map +1 -0
- package/package.json +8 -2
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standardized Response Formatting for MCP Tools
|
|
3
|
+
* Implements the 70/20/10 pattern for agent-optimized responses
|
|
4
|
+
*
|
|
5
|
+
* 70% Summary - Key insights, status, metrics
|
|
6
|
+
* 20% Data - Structured results
|
|
7
|
+
* 10% Next Steps - Actionable follow-ups
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Success Response Formatting
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Format a successful tool response using the 70/20/10 pattern
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* formatSuccess({
|
|
17
|
+
* title: 'Web Search Results',
|
|
18
|
+
* summary: '**Found 45 unique URLs** across 5 queries\n• 12 consensus results (appeared 3+ times)\n• Top domains: github.com, stackoverflow.com',
|
|
19
|
+
* data: '## Top Results\n1. [Title](url) - snippet\n2. ...',
|
|
20
|
+
* nextSteps: ['Scrape top URLs: scrape_links({urls: [...]})', 'Deep dive: deep_research({...})']
|
|
21
|
+
* })
|
|
22
|
+
*/
|
|
23
|
+
export function formatSuccess(options) {
|
|
24
|
+
const sections = [];
|
|
25
|
+
// Title
|
|
26
|
+
sections.push(`# ✅ ${options.title}`);
|
|
27
|
+
// Summary (70%)
|
|
28
|
+
sections.push('');
|
|
29
|
+
sections.push(options.summary);
|
|
30
|
+
// Data (20%)
|
|
31
|
+
if (options.data) {
|
|
32
|
+
sections.push('');
|
|
33
|
+
sections.push('---');
|
|
34
|
+
sections.push('');
|
|
35
|
+
sections.push(options.data);
|
|
36
|
+
}
|
|
37
|
+
// Metadata
|
|
38
|
+
if (options.metadata && Object.keys(options.metadata).length > 0) {
|
|
39
|
+
sections.push('');
|
|
40
|
+
sections.push('---');
|
|
41
|
+
sections.push('');
|
|
42
|
+
sections.push('**Metadata:**');
|
|
43
|
+
for (const [key, value] of Object.entries(options.metadata)) {
|
|
44
|
+
sections.push(`- ${key}: ${value}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Next Steps (10%)
|
|
48
|
+
if (options.nextSteps && options.nextSteps.length > 0) {
|
|
49
|
+
sections.push('');
|
|
50
|
+
sections.push('---');
|
|
51
|
+
sections.push('');
|
|
52
|
+
sections.push('**→ Next Steps:**');
|
|
53
|
+
for (const step of options.nextSteps) {
|
|
54
|
+
sections.push(`- ${step}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return sections.join('\n');
|
|
58
|
+
}
|
|
59
|
+
// ============================================================================
|
|
60
|
+
// Error Response Formatting
|
|
61
|
+
// ============================================================================
|
|
62
|
+
/**
|
|
63
|
+
* Format an error response with recovery guidance
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* formatError({
|
|
67
|
+
* code: 'RATE_LIMITED',
|
|
68
|
+
* message: 'API rate limit exceeded',
|
|
69
|
+
* retryable: true,
|
|
70
|
+
* howToFix: ['Wait 60 seconds', 'Reduce batch size'],
|
|
71
|
+
* alternatives: ['Use cached results', 'Try different API']
|
|
72
|
+
* })
|
|
73
|
+
*/
|
|
74
|
+
export function formatError(options) {
|
|
75
|
+
const sections = [];
|
|
76
|
+
// Title with tool name if provided
|
|
77
|
+
const titlePrefix = options.toolName ? `${options.toolName}: ` : '';
|
|
78
|
+
sections.push(`# ❌ ${titlePrefix}${options.code}`);
|
|
79
|
+
// Message
|
|
80
|
+
sections.push('');
|
|
81
|
+
sections.push(options.message);
|
|
82
|
+
// Retry hint
|
|
83
|
+
if (options.retryable !== undefined) {
|
|
84
|
+
sections.push('');
|
|
85
|
+
if (options.retryable) {
|
|
86
|
+
sections.push('💡 **This error may be temporary.** Try again in a moment.');
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
sections.push('⚠️ **This error requires manual intervention.**');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// How to fix
|
|
93
|
+
if (options.howToFix && options.howToFix.length > 0) {
|
|
94
|
+
sections.push('');
|
|
95
|
+
sections.push('**How to Fix:**');
|
|
96
|
+
options.howToFix.forEach((step, i) => {
|
|
97
|
+
sections.push(`${i + 1}. ${step}`);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// Alternatives
|
|
101
|
+
if (options.alternatives && options.alternatives.length > 0) {
|
|
102
|
+
sections.push('');
|
|
103
|
+
sections.push('**Alternative Actions:**');
|
|
104
|
+
for (const alt of options.alternatives) {
|
|
105
|
+
sections.push(`• ${alt}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return sections.join('\n');
|
|
109
|
+
}
|
|
110
|
+
// ============================================================================
|
|
111
|
+
// Batch Result Formatting
|
|
112
|
+
// ============================================================================
|
|
113
|
+
/**
|
|
114
|
+
* Format batch operation header with status
|
|
115
|
+
*/
|
|
116
|
+
export function formatBatchHeader(options) {
|
|
117
|
+
const sections = [];
|
|
118
|
+
// Title with count
|
|
119
|
+
sections.push(`# ${options.title} (${options.totalItems} items)`);
|
|
120
|
+
// Token allocation if provided
|
|
121
|
+
if (options.tokensPerItem && options.totalBudget) {
|
|
122
|
+
sections.push('');
|
|
123
|
+
sections.push(`**Token Allocation:** ${options.tokensPerItem.toLocaleString()} tokens/item (${options.totalItems} items, ${options.totalBudget.toLocaleString()} total budget)`);
|
|
124
|
+
}
|
|
125
|
+
// Status line
|
|
126
|
+
sections.push('');
|
|
127
|
+
let status = `**Status:** ✅ ${options.successful} successful | ❌ ${options.failed} failed`;
|
|
128
|
+
if (options.batches !== undefined) {
|
|
129
|
+
status += ` | 📦 ${options.batches} batch(es)`;
|
|
130
|
+
}
|
|
131
|
+
if (options.extras && options.extras.length > 0) {
|
|
132
|
+
status += ` | ${options.extras.join(' | ')}`;
|
|
133
|
+
}
|
|
134
|
+
sections.push(status);
|
|
135
|
+
return sections.join('\n');
|
|
136
|
+
}
|
|
137
|
+
// ============================================================================
|
|
138
|
+
// Utility Formatters
|
|
139
|
+
// ============================================================================
|
|
140
|
+
/**
|
|
141
|
+
* Format a list of items with optional truncation
|
|
142
|
+
*/
|
|
143
|
+
export function formatList(items, options) {
|
|
144
|
+
const maxItems = options?.maxItems ?? items.length;
|
|
145
|
+
const ordered = options?.ordered ?? false;
|
|
146
|
+
const truncated = items.length > maxItems;
|
|
147
|
+
const displayItems = items.slice(0, maxItems);
|
|
148
|
+
const formatted = displayItems.map((item, i) => {
|
|
149
|
+
return ordered ? `${i + 1}. ${item}` : `• ${item}`;
|
|
150
|
+
});
|
|
151
|
+
if (truncated) {
|
|
152
|
+
formatted.push(`... and ${items.length - maxItems} more`);
|
|
153
|
+
}
|
|
154
|
+
return formatted.join('\n');
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Format key-value pairs as a compact list
|
|
158
|
+
*/
|
|
159
|
+
export function formatKeyValues(data) {
|
|
160
|
+
return Object.entries(data)
|
|
161
|
+
.filter(([, v]) => v !== undefined && v !== null)
|
|
162
|
+
.map(([k, v]) => `• **${k}:** ${v}`)
|
|
163
|
+
.join('\n');
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Format execution time
|
|
167
|
+
*/
|
|
168
|
+
export function formatDuration(ms) {
|
|
169
|
+
if (ms < 1000)
|
|
170
|
+
return `${ms}ms`;
|
|
171
|
+
if (ms < 60000)
|
|
172
|
+
return `${(ms / 1000).toFixed(1)}s`;
|
|
173
|
+
return `${(ms / 60000).toFixed(1)}m`;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Truncate text with ellipsis
|
|
177
|
+
*/
|
|
178
|
+
export function truncateText(text, maxLength) {
|
|
179
|
+
if (text.length <= maxLength)
|
|
180
|
+
return text;
|
|
181
|
+
return text.slice(0, maxLength - 3) + '...';
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "research-powerpack-mcp",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "The ultimate research MCP toolkit: Reddit mining, web search with CTR aggregation, AI-powered deep research, and intelligent web scraping - all in one modular package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,10 +21,14 @@
|
|
|
21
21
|
"test:scrape-links": "tsx tests/test-scrape-links.ts",
|
|
22
22
|
"test:deep-research": "tsx tests/test-deep-research.ts",
|
|
23
23
|
"test:all": "npm run test:web-search && npm run test:reddit-search && npm run test:scrape-links && npm run test:deep-research",
|
|
24
|
-
"test:check": "tsx tests/check-setup.ts"
|
|
24
|
+
"test:check": "tsx tests/check-setup.ts",
|
|
25
|
+
"install:claude-desktop": "npx install-mcp research-powerpack-mcp --client claude-desktop",
|
|
26
|
+
"install:cursor": "npx install-mcp research-powerpack-mcp --client cursor"
|
|
25
27
|
},
|
|
26
28
|
"keywords": [
|
|
27
29
|
"mcp",
|
|
30
|
+
"mcp-server",
|
|
31
|
+
"install-mcp",
|
|
28
32
|
"research",
|
|
29
33
|
"reddit",
|
|
30
34
|
"serper",
|
|
@@ -48,6 +52,7 @@
|
|
|
48
52
|
"dependencies": {
|
|
49
53
|
"@modelcontextprotocol/sdk": "^1.18.1",
|
|
50
54
|
"openai": "^4.77.0",
|
|
55
|
+
"p-limit": "^7.2.0",
|
|
51
56
|
"turndown": "^7.2.2",
|
|
52
57
|
"yaml": "^2.7.0",
|
|
53
58
|
"zod": "^3.24.1",
|
|
@@ -57,6 +62,7 @@
|
|
|
57
62
|
"@types/node": "^22.0.0",
|
|
58
63
|
"@types/turndown": "^5.0.6",
|
|
59
64
|
"dotenv": "^17.2.3",
|
|
65
|
+
"install-mcp": "^1.10.2",
|
|
60
66
|
"tsx": "^4.19.0",
|
|
61
67
|
"typescript": "^5.6.0"
|
|
62
68
|
},
|