@wisewandtools/mcp-server 2.0.3 → 2.0.4

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/dist/index.js CHANGED
@@ -3907,9 +3907,72 @@ var ProductPagesToolHandler = class {
3907
3907
  // src/handlers/tools/DiscoverToolHandler.ts
3908
3908
  import { z as z8 } from "zod";
3909
3909
  var DiscoverContentSchema = z8.object({
3910
- data: z8.object({
3911
- input: z8.record(z8.any())
3912
- })
3910
+ subject: z8.string().min(1),
3911
+ target_keyword: z8.string().optional(),
3912
+ keywords_secondary: z8.string().optional(),
3913
+ project_id: z8.string().uuid().optional(),
3914
+ persona_id: z8.string().uuid().optional(),
3915
+ lang: z8.enum(["fr", "en"]).optional(),
3916
+ country: z8.enum(["fr", "be", "ch", "ca", "us", "gb"]).optional(),
3917
+ length: z8.union([z8.number().max(2e3), z8.literal("auto")]).optional(),
3918
+ title: z8.string().optional(),
3919
+ additional_information: z8.string().optional(),
3920
+ writing_style: z8.string().optional(),
3921
+ website: z8.string().optional(),
3922
+ writing_style_mode: z8.enum(["auto", "persona"]).optional(),
3923
+ // SEO Features
3924
+ use_cta: z8.boolean().optional(),
3925
+ ctas: z8.array(z8.object({
3926
+ anchor: z8.string(),
3927
+ url: z8.string()
3928
+ })).optional(),
3929
+ use_boldkeywords: z8.boolean().optional(),
3930
+ use_faq: z8.boolean().optional(),
3931
+ faq_questions: z8.string().optional(),
3932
+ use_toc: z8.boolean().optional(),
3933
+ // Image options
3934
+ use_image: z8.boolean().optional(),
3935
+ image_ratio: z8.enum(["landscape", "portrait", "16:9", "4:3", "1:1"]).optional(),
3936
+ image_prompt: z8.string().optional(),
3937
+ image_use_palette: z8.boolean().optional(),
3938
+ image_primary_color: z8.string().optional(),
3939
+ image_secondary_color: z8.string().optional(),
3940
+ use_inline_images: z8.boolean().optional(),
3941
+ inline_images_ratio: z8.enum(["landscape", "portrait", "16:9", "4:3", "1:1"]).optional(),
3942
+ inline_images_use_palette: z8.boolean().optional(),
3943
+ inline_images_primary_color: z8.string().optional(),
3944
+ inline_images_secondary_color: z8.string().optional(),
3945
+ // Internal links
3946
+ use_internallinks: z8.boolean().optional(),
3947
+ use_indexed_pages_internal_links: z8.boolean().optional(),
3948
+ use_wp_internal_links: z8.boolean().optional(),
3949
+ use_app_internal_links: z8.boolean().optional(),
3950
+ use_list_internal_links: z8.boolean().optional(),
3951
+ internal_links_wp_status: z8.array(z8.string()).optional(),
3952
+ internal_links_list: z8.string().optional(),
3953
+ internal_links_wp_connection: z8.string().optional(),
3954
+ // WordPress publishing
3955
+ use_publishwordpress: z8.boolean().optional(),
3956
+ publishwordpress_date: z8.string().optional(),
3957
+ publishwordpress_status: z8.enum(["draft", "publish", "future"]).optional(),
3958
+ publishwordpress_category: z8.number().optional(),
3959
+ publishwordpress_author: z8.number().optional(),
3960
+ publishwordpress_connection: z8.string().optional(),
3961
+ // Additional features
3962
+ use_infotable: z8.boolean().optional(),
3963
+ use_bulletlist: z8.boolean().optional(),
3964
+ use_externalsources: z8.boolean().optional(),
3965
+ use_audio: z8.boolean().optional(),
3966
+ audio_voice_id: z8.string().optional(),
3967
+ use_social: z8.boolean().optional(),
3968
+ social_networks: z8.union([
3969
+ z8.array(z8.string()),
3970
+ z8.string()
3971
+ ]).optional(),
3972
+ use_blockquotes: z8.boolean().optional(),
3973
+ use_summary: z8.boolean().optional(),
3974
+ use_webhook: z8.boolean().optional(),
3975
+ webhook_connection_id: z8.string().optional()
3913
3976
  });
3914
3977
  var DiscoverToolHandler = class {
3915
3978
  constructor(apiClient, cache, metrics) {
@@ -3935,8 +3998,73 @@ var DiscoverToolHandler = class {
3935
3998
  discoverContentTool() {
3936
3999
  return {
3937
4000
  name: "discover_content",
3938
- description: "Discover content ideas based on niche and keywords",
3939
- inputSchema: { type: "object", properties: { data: { type: "object", description: "Discovery configuration", properties: { input: { type: "object", description: "Discovery input containing niche, keywords, etc." } }, required: ["input"] } }, required: ["data"] },
4001
+ description: "Create a Google Discover article optimized for ranking in Google Discover feed. Requires subject field. Supports all standard article features like FAQ, TOC, images, and WordPress publishing.",
4002
+ inputSchema: {
4003
+ type: "object",
4004
+ properties: {
4005
+ subject: { type: "string", description: "The subject of the discover article (required)" },
4006
+ target_keyword: { type: "string", description: "SERP target keyword" },
4007
+ keywords_secondary: { type: "string", description: "Secondary keywords" },
4008
+ project_id: { type: "string", format: "uuid", description: "Project UUID" },
4009
+ persona_id: { type: "string", format: "uuid", description: "Persona UUID" },
4010
+ lang: { type: "string", enum: ["fr", "en"], description: "Language code" },
4011
+ country: { type: "string", enum: ["fr", "be", "ch", "ca", "us", "gb"], description: "Country code" },
4012
+ length: { description: 'Number (max 2000) or "auto"' },
4013
+ title: { type: "string", description: "Article title" },
4014
+ additional_information: { type: "string", description: "Additional context" },
4015
+ writing_style: { type: "string", description: "Writing style" },
4016
+ website: { type: "string", description: "Website URL" },
4017
+ writing_style_mode: { type: "string", enum: ["auto", "persona"], description: "Writing style mode" },
4018
+ // SEO Features
4019
+ use_cta: { type: "boolean", description: "Add CTA" },
4020
+ ctas: { type: "array", items: { type: "object", properties: { anchor: { type: "string" }, url: { type: "string" } } }, description: "Call-to-action links" },
4021
+ use_boldkeywords: { type: "boolean", description: "Bold keywords" },
4022
+ use_faq: { type: "boolean", description: "Add FAQ section" },
4023
+ faq_questions: { type: "string", description: "FAQ questions" },
4024
+ use_toc: { type: "boolean", description: "Add table of contents" },
4025
+ // Image options
4026
+ use_image: { type: "boolean", description: "Generate cover image" },
4027
+ image_ratio: { type: "string", enum: ["landscape", "portrait", "16:9", "4:3", "1:1"], description: "Image aspect ratio" },
4028
+ image_prompt: { type: "string", description: "Image generation prompt" },
4029
+ image_use_palette: { type: "boolean", description: "Use color palette for image" },
4030
+ image_primary_color: { type: "string", description: "Primary color for image" },
4031
+ image_secondary_color: { type: "string", description: "Secondary color for image" },
4032
+ use_inline_images: { type: "boolean", description: "Generate inline images" },
4033
+ inline_images_ratio: { type: "string", enum: ["landscape", "portrait", "16:9", "4:3", "1:1"], description: "Inline images aspect ratio" },
4034
+ inline_images_use_palette: { type: "boolean", description: "Use color palette for inline images" },
4035
+ inline_images_primary_color: { type: "string", description: "Primary color for inline images" },
4036
+ inline_images_secondary_color: { type: "string", description: "Secondary color for inline images" },
4037
+ // Internal links
4038
+ use_internallinks: { type: "boolean", description: "Add internal links" },
4039
+ use_indexed_pages_internal_links: { type: "boolean", description: "Use indexed pages for internal links" },
4040
+ use_wp_internal_links: { type: "boolean", description: "Use WordPress internal links" },
4041
+ use_app_internal_links: { type: "boolean", description: "Use app internal links" },
4042
+ use_list_internal_links: { type: "boolean", description: "Use list internal links" },
4043
+ internal_links_wp_status: { type: "array", items: { type: "string" }, description: "WordPress post status for internal links" },
4044
+ internal_links_list: { type: "string", description: "Internal links list" },
4045
+ internal_links_wp_connection: { type: "string", description: "WordPress connection ID for internal links" },
4046
+ // WordPress publishing
4047
+ use_publishwordpress: { type: "boolean", description: "Auto-publish to WordPress" },
4048
+ publishwordpress_date: { type: "string", description: "WordPress publish date" },
4049
+ publishwordpress_status: { type: "string", enum: ["draft", "publish", "future"], description: "WordPress post status" },
4050
+ publishwordpress_category: { type: "number", description: "WordPress category ID" },
4051
+ publishwordpress_author: { type: "number", description: "WordPress author ID" },
4052
+ publishwordpress_connection: { type: "string", description: "WordPress connection ID" },
4053
+ // Additional features
4054
+ use_infotable: { type: "boolean", description: "Add info table" },
4055
+ use_bulletlist: { type: "boolean", description: "Add bullet list" },
4056
+ use_externalsources: { type: "boolean", description: "Use external sources" },
4057
+ use_audio: { type: "boolean", description: "Generate audio" },
4058
+ audio_voice_id: { type: "string", description: "Audio voice ID" },
4059
+ use_social: { type: "boolean", description: "Generate social media posts" },
4060
+ social_networks: { description: "Social networks (array or comma-separated string)" },
4061
+ use_blockquotes: { type: "boolean", description: "Add blockquotes" },
4062
+ use_summary: { type: "boolean", description: "Add summary" },
4063
+ use_webhook: { type: "boolean", description: "Trigger webhook" },
4064
+ webhook_connection_id: { type: "string", description: "Webhook connection ID" }
4065
+ },
4066
+ required: ["subject"]
4067
+ },
3940
4068
  handler: /* @__PURE__ */ __name(async (args) => {
3941
4069
  try {
3942
4070
  const validated = DiscoverContentSchema.parse(args);