@wisewandtools/mcp-server 2.0.14 → 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 +21 -0
- package/dist/index.js +5 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
5
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
6
|
-
}) : x)(function(x) {
|
|
7
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
8
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
9
|
-
});
|
|
10
4
|
|
|
11
5
|
// src/index.ts
|
|
12
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -3434,7 +3428,7 @@ var CreateCategoryPageSchema = z6.object({
|
|
|
3434
3428
|
title: z6.string().optional(),
|
|
3435
3429
|
category: z6.string().optional(),
|
|
3436
3430
|
// Standard fields
|
|
3437
|
-
lang: z6.enum(LANG_ENUM2).optional()
|
|
3431
|
+
lang: z6.enum(LANG_ENUM2).optional(),
|
|
3438
3432
|
country: z6.enum(COUNTRY_ENUM2).optional(),
|
|
3439
3433
|
project_id: z6.string().uuid().optional(),
|
|
3440
3434
|
persona_id: z6.string().uuid().optional(),
|
|
@@ -3518,7 +3512,7 @@ var CategoryPagesToolHandler = class {
|
|
|
3518
3512
|
await this.cache.set(`category_page:${categoryPage.id}`, categoryPage, 300);
|
|
3519
3513
|
this.metrics.recordAPICall("create_category_page", "success");
|
|
3520
3514
|
return {
|
|
3521
|
-
content: [{ type: "text", text: JSON.stringify({ success: true, category_page_id: categoryPage.id, name:
|
|
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) }]
|
|
3522
3516
|
};
|
|
3523
3517
|
} catch (error) {
|
|
3524
3518
|
logger.error("Failed to create category page", { error: error.message });
|
|
@@ -3735,7 +3729,7 @@ var CreateProductPageSchema = z7.object({
|
|
|
3735
3729
|
product_url: z7.string().url().optional(),
|
|
3736
3730
|
product_description: z7.string().optional(),
|
|
3737
3731
|
// Standard fields
|
|
3738
|
-
lang: z7.enum(LANG_ENUM3).optional()
|
|
3732
|
+
lang: z7.enum(LANG_ENUM3).optional(),
|
|
3739
3733
|
country: z7.enum(COUNTRY_ENUM3).optional(),
|
|
3740
3734
|
project_id: z7.string().uuid().optional(),
|
|
3741
3735
|
persona_id: z7.string().uuid().optional(),
|
|
@@ -3820,7 +3814,7 @@ var ProductPagesToolHandler = class {
|
|
|
3820
3814
|
const productPage = await this.apiClient.createProductPage(validated);
|
|
3821
3815
|
await this.cache.set(`product_page:${productPage.id}`, productPage, 300);
|
|
3822
3816
|
this.metrics.recordAPICall("create_product_page", "success");
|
|
3823
|
-
return { content: [{ type: "text", text: JSON.stringify({ success: true, product_page_id: productPage.id, name:
|
|
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) }] };
|
|
3824
3818
|
} catch (error) {
|
|
3825
3819
|
logger.error("Failed to create product page", { error: error.message });
|
|
3826
3820
|
this.metrics.recordAPICall("create_product_page", "error");
|
|
@@ -6269,6 +6263,7 @@ var WisewandMCPServer = class {
|
|
|
6269
6263
|
};
|
|
6270
6264
|
|
|
6271
6265
|
// src/utils/shutdown.ts
|
|
6266
|
+
import * as readline from "readline";
|
|
6272
6267
|
function gracefulShutdown(server) {
|
|
6273
6268
|
let isShuttingDown = false;
|
|
6274
6269
|
const shutdown = /* @__PURE__ */ __name(async (signal) => {
|
|
@@ -6297,7 +6292,6 @@ function gracefulShutdown(server) {
|
|
|
6297
6292
|
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
6298
6293
|
process.on("SIGHUP", () => shutdown("SIGHUP"));
|
|
6299
6294
|
if (process.platform === "win32") {
|
|
6300
|
-
const readline = __require("readline");
|
|
6301
6295
|
const rl = readline.createInterface({
|
|
6302
6296
|
input: process.stdin,
|
|
6303
6297
|
output: process.stdout
|