crawlforge-mcp-server 3.0.15 → 3.0.16
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crawlforge-mcp-server",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.16",
|
|
4
4
|
"description": "CrawlForge MCP Server - Professional Model Context Protocol server with 19 comprehensive web scraping, crawling, and content processing tools.",
|
|
5
5
|
"main": "server.js",
|
|
6
6
|
"bin": {
|
|
@@ -508,23 +508,28 @@ export class ResearchOrchestrator extends EventEmitter {
|
|
|
508
508
|
|
|
509
509
|
if (contentData && contentData.content) {
|
|
510
510
|
this.metrics.contentExtracted++;
|
|
511
|
-
|
|
511
|
+
|
|
512
|
+
// Normalize content to string (extract_content returns {text: "..."}, fallback returns string)
|
|
513
|
+
const contentText = typeof contentData.content === 'string'
|
|
514
|
+
? contentData.content
|
|
515
|
+
: (contentData.content.text || JSON.stringify(contentData.content));
|
|
516
|
+
|
|
512
517
|
// Enhance source with extracted content
|
|
513
518
|
let enhancedSource = {
|
|
514
519
|
...source,
|
|
515
|
-
extractedContent:
|
|
520
|
+
extractedContent: contentText,
|
|
516
521
|
metadata: contentData.metadata,
|
|
517
522
|
structuredData: contentData.structuredData,
|
|
518
523
|
extractedAt: new Date().toISOString(),
|
|
519
|
-
wordCount:
|
|
520
|
-
readabilityScore: this.calculateReadabilityScore(
|
|
524
|
+
wordCount: contentText.split(' ').length,
|
|
525
|
+
readabilityScore: this.calculateReadabilityScore(contentText)
|
|
521
526
|
};
|
|
522
527
|
|
|
523
528
|
// LLM-powered relevance analysis
|
|
524
529
|
if (this.enableLLMFeatures && topic) {
|
|
525
530
|
try {
|
|
526
531
|
const relevanceAnalysis = await this.llmManager.analyzeRelevance(
|
|
527
|
-
|
|
532
|
+
contentText,
|
|
528
533
|
topic,
|
|
529
534
|
{ maxContentLength: 2000 }
|
|
530
535
|
);
|
|
@@ -546,11 +551,11 @@ export class ResearchOrchestrator extends EventEmitter {
|
|
|
546
551
|
error: llmError.message
|
|
547
552
|
});
|
|
548
553
|
// Set default relevance score
|
|
549
|
-
enhancedSource.relevanceScore = this.calculateTraditionalRelevance(
|
|
554
|
+
enhancedSource.relevanceScore = this.calculateTraditionalRelevance(contentText, topic);
|
|
550
555
|
}
|
|
551
556
|
} else {
|
|
552
557
|
// Fallback relevance calculation
|
|
553
|
-
enhancedSource.relevanceScore = this.calculateTraditionalRelevance(
|
|
558
|
+
enhancedSource.relevanceScore = this.calculateTraditionalRelevance(contentText, topic);
|
|
554
559
|
}
|
|
555
560
|
|
|
556
561
|
this.researchState.extractedContent.set(source.link, enhancedSource);
|