@wisewandtools/mcp-server 2.0.15 → 2.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/README.md CHANGED
@@ -630,6 +630,27 @@ src/
630
630
  - ✅ Docker security best practices
631
631
  - ✅ Non-root container execution
632
632
 
633
+ ## Known Limitations
634
+
635
+ ### API Response Limitations
636
+
637
+ #### Minimal GET Responses
638
+ The `get_article`, `get_category_page`, and `get_product_page` functions return minimal data (typically just ID and status) due to the Wisewand API design. To retrieve full content including the generated HTML/markdown:
639
+
640
+ - **For articles**: Use `get_article_output` instead of `get_article`
641
+ - **For category pages**: Use `get_category_page_output` instead of `get_category_page`
642
+ - **For product pages**: Use `get_product_page_output` instead of `get_product_page`
643
+
644
+ #### RSS Feed Integration
645
+ The RSS feed creation feature (`create_rss_feed`) currently has upstream integration issues with RSS.app. This is a known limitation of the Wisewand API backend. The MCP server correctly forwards requests, but you may encounter 400 Bad Request errors from the RSS.app service.
646
+
647
+ **Workaround**: Use direct RSS feed URLs or alternative RSS feed generation services until this is resolved.
648
+
649
+ #### Category/Product Cost Estimation
650
+ The `estimate_category_page_cost` and `estimate_product_page_cost` endpoints may return validation errors as these features are not yet fully available in the Wisewand API.
651
+
652
+ **Workaround**: Use `estimate_article_cost` as a proxy to estimate costs for similar content, as the underlying generation mechanisms are similar.
653
+
633
654
  ## Troubleshooting
634
655
 
635
656
  ### Claude Desktop Integration Issues
package/dist/index.js CHANGED
@@ -3428,7 +3428,7 @@ var CreateCategoryPageSchema = z6.object({
3428
3428
  title: z6.string().optional(),
3429
3429
  category: z6.string().optional(),
3430
3430
  // Standard fields
3431
- lang: z6.enum(LANG_ENUM2).optional().default("en"),
3431
+ lang: z6.enum(LANG_ENUM2).optional(),
3432
3432
  country: z6.enum(COUNTRY_ENUM2).optional(),
3433
3433
  project_id: z6.string().uuid().optional(),
3434
3434
  persona_id: z6.string().uuid().optional(),
@@ -3512,7 +3512,7 @@ var CategoryPagesToolHandler = class {
3512
3512
  await this.cache.set(`category_page:${categoryPage.id}`, categoryPage, 300);
3513
3513
  this.metrics.recordAPICall("create_category_page", "success");
3514
3514
  return {
3515
- content: [{ type: "text", text: JSON.stringify({ success: true, category_page_id: categoryPage.id, name: categoryPage.name, message: `Category page "${categoryPage.name}" created successfully`, next_steps: [`Use 'generate_category_page' with id: ${categoryPage.id}`, `Use 'get_category_page' with id: ${categoryPage.id}`] }, null, 2) }]
3515
+ content: [{ type: "text", text: JSON.stringify({ success: true, category_page_id: categoryPage.id, name: validated.name, message: `Category page "${validated.name}" created successfully`, next_steps: [`Use 'generate_category_page' with id: ${categoryPage.id}`, `Use 'get_category_page' with id: ${categoryPage.id}`] }, null, 2) }]
3516
3516
  };
3517
3517
  } catch (error) {
3518
3518
  logger.error("Failed to create category page", { error: error.message });
@@ -3729,7 +3729,7 @@ var CreateProductPageSchema = z7.object({
3729
3729
  product_url: z7.string().url().optional(),
3730
3730
  product_description: z7.string().optional(),
3731
3731
  // Standard fields
3732
- lang: z7.enum(LANG_ENUM3).optional().default("en"),
3732
+ lang: z7.enum(LANG_ENUM3).optional(),
3733
3733
  country: z7.enum(COUNTRY_ENUM3).optional(),
3734
3734
  project_id: z7.string().uuid().optional(),
3735
3735
  persona_id: z7.string().uuid().optional(),
@@ -3814,7 +3814,7 @@ var ProductPagesToolHandler = class {
3814
3814
  const productPage = await this.apiClient.createProductPage(validated);
3815
3815
  await this.cache.set(`product_page:${productPage.id}`, productPage, 300);
3816
3816
  this.metrics.recordAPICall("create_product_page", "success");
3817
- return { content: [{ type: "text", text: JSON.stringify({ success: true, product_page_id: productPage.id, name: productPage.name, message: `Product page "${productPage.name}" created successfully`, next_steps: [`Use 'generate_product_page' with id: ${productPage.id}`, `Use 'get_product_page' with id: ${productPage.id}`] }, null, 2) }] };
3817
+ return { content: [{ type: "text", text: JSON.stringify({ success: true, product_page_id: productPage.id, name: validated.name, message: `Product page "${validated.name}" created successfully`, next_steps: [`Use 'generate_product_page' with id: ${productPage.id}`, `Use 'get_product_page' with id: ${productPage.id}`] }, null, 2) }] };
3818
3818
  } catch (error) {
3819
3819
  logger.error("Failed to create product page", { error: error.message });
3820
3820
  this.metrics.recordAPICall("create_product_page", "error");