crawlforge-mcp-server 4.6.0 → 4.6.1

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": "4.6.0",
3
+ "version": "4.6.1",
4
4
  "description": "CrawlForge MCP Server - Professional Model Context Protocol server with 23 web scraping, crawling, and content processing tools. Defaults to local Ollama for LLM extraction (no API key needed); OpenAI/Anthropic available as opt-in. v4.0 adds Markdown-first output, pre-built site templates, Camoufox stealth engine, and cost transparency.",
5
5
  "main": "server.js",
6
6
  "bin": {
@@ -182,7 +182,9 @@ export class AgentOrchestrator {
182
182
  if (deadline()) break;
183
183
  try {
184
184
  const sr = await searchTool.execute({ query: q, limit: Math.ceil(capUrls / searchQueries.length) });
185
- const parsed = sr?.content?.[0]?.text ? JSON.parse(sr.content[0].text) : null;
185
+ // SearchWebTool.execute() returns the raw results object; the MCP content-wrapped
186
+ // shape only appears if a caller (e.g. server.js) wraps it. Handle both.
187
+ const parsed = sr?.content?.[0]?.text ? JSON.parse(sr.content[0].text) : sr;
186
188
  if (parsed?.results) {
187
189
  for (const r of parsed.results) {
188
190
  if (r.link && !urlQueue.includes(r.link)) urlQueue.push(r.link);