From 2071d9e96fbe284ef16abbb991c096b53a6256cd Mon Sep 17 00:00:00 2001 From: "aiste.grigaliunaite@decodo.com" Date: Fri, 2 Oct 2026 11:00:26 +0300 Subject: [PATCH] fix: add titles --- src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts | 3 +++ src/tools/amazon-pricing/amazon-pricing-tool.ts | 3 +++ src/tools/amazon-product/amazon-product-tool.ts | 3 +++ src/tools/amazon-search/amazon-search-tool.ts | 3 +++ src/tools/amazon-sellers/amazon-sellers-tool.ts | 3 +++ src/tools/bing-search/bing-search-tool.ts | 3 +++ src/tools/chatgpt/chatgpt-tool.ts | 3 +++ src/tools/google-ads/google-ads-tool.ts | 3 +++ src/tools/google-ai-mode/google-ai-mode-tool.ts | 3 +++ src/tools/google-lens/google-lens-tool.ts | 3 +++ src/tools/google-search/google-search-tool.ts | 3 +++ src/tools/google-travel-hotels/google-travel-hotels-tool.ts | 3 +++ src/tools/perplexity/perplexity-tool.ts | 3 +++ src/tools/reddit-post/reddit-post-tool.ts | 3 +++ src/tools/reddit-subreddit/reddit-subreddit-tool.ts | 3 +++ src/tools/reddit-user/reddit-user-tool.ts | 3 +++ src/tools/scrape-as-markdown/scrape-as-markdown-tool.ts | 3 +++ src/tools/screenshot/screenshot-tool.ts | 3 +++ src/tools/target-product/target-product-tool.ts | 3 +++ src/tools/target-search/target-search-tool.ts | 3 +++ src/tools/tiktok-post/tiktok-post-tool.ts | 3 +++ src/tools/tiktok-shop-product/tiktok-shop-product-tool.ts | 3 +++ src/tools/tiktok-shop-search/tiktok-shop-search-tool.ts | 3 +++ src/tools/tiktok-shop-url/tiktok-shop-url-tool.ts | 3 +++ src/tools/walmart-product/walmart-product-tool.ts | 3 +++ src/tools/walmart-search/walmart-search-tool.ts | 3 +++ src/tools/youtube-channel/youtube-channel-tool.ts | 3 +++ src/tools/youtube-metadata/youtube-metadata-tool.ts | 3 +++ src/tools/youtube-search/youtube-search-tool.ts | 3 +++ src/tools/youtube-subtitles/youtube-subtitles-tool.ts | 3 +++ 30 files changed, 90 insertions(+) diff --git a/src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts b/src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts index b54cea3..07b9467 100644 --- a/src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts +++ b/src/tools/amazon-bestsellers/amazon-bestsellers-tool.ts @@ -26,6 +26,7 @@ export class AmazonBestsellersTool extends Tool { server.registerTool( 'amazon_bestsellers', { + title: 'Amazon Bestsellers', description: 'Scrape Amazon Bestsellers list with automatic parsing', inputSchema: { query: z.string().describe('Amazon category (e.g., "mobile-apps", "electronics")'), @@ -33,7 +34,9 @@ export class AmazonBestsellersTool extends Tool { pageFrom: zodPageFrom, }, annotations: { + title: 'Amazon Bestsellers', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/amazon-pricing/amazon-pricing-tool.ts b/src/tools/amazon-pricing/amazon-pricing-tool.ts index 49481c2..07f544c 100644 --- a/src/tools/amazon-pricing/amazon-pricing-tool.ts +++ b/src/tools/amazon-pricing/amazon-pricing-tool.ts @@ -38,6 +38,7 @@ export class AmazonPricingTool extends Tool { server.registerTool( 'amazon_pricing', { + title: 'Amazon Pricing', description: 'Scrape Amazon Product pricing information with automatic parsing', inputSchema: { query: z.string().describe('Amazon product ASIN (e.g., "B09H74FXNW")'), @@ -47,7 +48,9 @@ export class AmazonPricingTool extends Tool { geo: zodGeo, }, annotations: { + title: 'Amazon Pricing', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/amazon-product/amazon-product-tool.ts b/src/tools/amazon-product/amazon-product-tool.ts index f5d1b28..c75f6e5 100644 --- a/src/tools/amazon-product/amazon-product-tool.ts +++ b/src/tools/amazon-product/amazon-product-tool.ts @@ -33,6 +33,7 @@ export class AmazonProductTool extends Tool { server.registerTool( 'amazon_product', { + title: 'Amazon Product', description: 'Scrape Amazon Product page with automatic parsing', inputSchema: { query: z.string().describe('Amazon product ASIN (e.g., "B09H74FXNW")'), @@ -41,7 +42,9 @@ export class AmazonProductTool extends Tool { geo: zodGeo, }, annotations: { + title: 'Amazon Product', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/amazon-search/amazon-search-tool.ts b/src/tools/amazon-search/amazon-search-tool.ts index 5089adc..63b79e5 100644 --- a/src/tools/amazon-search/amazon-search-tool.ts +++ b/src/tools/amazon-search/amazon-search-tool.ts @@ -33,6 +33,7 @@ export class AmazonSearchTool extends Tool { server.registerTool( 'amazon_search', { + title: 'Amazon Search', description: 'Scrape Amazon Search results with automatic parsing', inputSchema: { query: z.string().describe('Search query for Amazon products (e.g., "wireless keyboard")'), @@ -42,7 +43,9 @@ export class AmazonSearchTool extends Tool { pageFrom: zodPageFrom, }, annotations: { + title: 'Amazon Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/amazon-sellers/amazon-sellers-tool.ts b/src/tools/amazon-sellers/amazon-sellers-tool.ts index b48922b..70203b8 100644 --- a/src/tools/amazon-sellers/amazon-sellers-tool.ts +++ b/src/tools/amazon-sellers/amazon-sellers-tool.ts @@ -27,6 +27,7 @@ export class AmazonSellersTool extends Tool { server.registerTool( 'amazon_sellers', { + title: 'Amazon Sellers', description: 'Scrape Amazon Seller information with automatic parsing', inputSchema: { query: z.string().describe('Amazon seller ID (e.g., "A1R0Z7FJGTKESH")'), @@ -35,7 +36,9 @@ export class AmazonSellersTool extends Tool { geo: zodGeo, }, annotations: { + title: 'Amazon Sellers', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/bing-search/bing-search-tool.ts b/src/tools/bing-search/bing-search-tool.ts index 48cbf87..ba5dd4f 100644 --- a/src/tools/bing-search/bing-search-tool.ts +++ b/src/tools/bing-search/bing-search-tool.ts @@ -32,6 +32,7 @@ export class BingSearchTool extends Tool { server.registerTool( 'bing_search', { + title: 'Bing Search', description: 'Scrape Bing Search results with automatic parsing', inputSchema: { query: z.string().describe('Search query for Bing (e.g., "laptop")'), @@ -43,7 +44,9 @@ export class BingSearchTool extends Tool { pageFrom: zodPageFrom, }, annotations: { + title: 'Bing Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/chatgpt/chatgpt-tool.ts b/src/tools/chatgpt/chatgpt-tool.ts index 09e02f7..b228f20 100644 --- a/src/tools/chatgpt/chatgpt-tool.ts +++ b/src/tools/chatgpt/chatgpt-tool.ts @@ -17,6 +17,7 @@ export class ChatGPTTool extends Tool { server.registerTool( 'chatgpt', { + title: 'ChatGPT', description: 'Search and interact with ChatGPT for AI-powered responses and conversations', inputSchema: { prompt: z.string().describe('Prompt to send to ChatGPT'), @@ -24,7 +25,9 @@ export class ChatGPTTool extends Tool { geo: zodGeo, }, annotations: { + title: 'ChatGPT', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/google-ads/google-ads-tool.ts b/src/tools/google-ads/google-ads-tool.ts index 748e86b..5e443f3 100644 --- a/src/tools/google-ads/google-ads-tool.ts +++ b/src/tools/google-ads/google-ads-tool.ts @@ -28,6 +28,7 @@ export class GoogleAdsTool extends Tool { server.registerTool( 'google_ads', { + title: 'Google Ads', description: 'Scrape Google Ads search results with automatic parsing', inputSchema: { query: z.string().describe('Search query for Google Ads (e.g., "laptop")'), @@ -38,7 +39,9 @@ export class GoogleAdsTool extends Tool { pageFrom: zodPageFrom, }, annotations: { + title: 'Google Ads', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/google-ai-mode/google-ai-mode-tool.ts b/src/tools/google-ai-mode/google-ai-mode-tool.ts index ac95cce..68ed0af 100644 --- a/src/tools/google-ai-mode/google-ai-mode-tool.ts +++ b/src/tools/google-ai-mode/google-ai-mode-tool.ts @@ -23,6 +23,7 @@ export class GoogleAiModeTool extends Tool { server.registerTool( 'google_ai_mode', { + title: 'Google AI Mode', description: 'Scrape Google AI Mode (Search with AI) results with automatic parsing', inputSchema: { query: z @@ -34,7 +35,9 @@ export class GoogleAiModeTool extends Tool { deviceType: zodDeviceType, }, annotations: { + title: 'Google AI Mode', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/google-lens/google-lens-tool.ts b/src/tools/google-lens/google-lens-tool.ts index aa238c9..28b97ec 100644 --- a/src/tools/google-lens/google-lens-tool.ts +++ b/src/tools/google-lens/google-lens-tool.ts @@ -23,6 +23,7 @@ export class GoogleLensTool extends Tool { server.registerTool( 'google_lens', { + title: 'Google Lens', description: 'Scrape Google Lens image search results with automatic parsing', inputSchema: { query: z.string().describe('Image URL for Google Lens search (e.g., "https://example.com/image.jpg")'), @@ -30,7 +31,9 @@ export class GoogleLensTool extends Tool { deviceType: zodDeviceType, }, annotations: { + title: 'Google Lens', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/google-search/google-search-tool.ts b/src/tools/google-search/google-search-tool.ts index 4bcbb2f..bb2b2e4 100644 --- a/src/tools/google-search/google-search-tool.ts +++ b/src/tools/google-search/google-search-tool.ts @@ -30,6 +30,7 @@ export class GoogleSearchTool extends Tool { server.registerTool( 'google_search', { + title: 'Google Search', description: 'Scrape Google Search results with automatic parsing', inputSchema: { query: z.string().describe('Search query'), @@ -38,7 +39,9 @@ export class GoogleSearchTool extends Tool { jsRender: zodJsRender, }, annotations: { + title: 'Google Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/google-travel-hotels/google-travel-hotels-tool.ts b/src/tools/google-travel-hotels/google-travel-hotels-tool.ts index 8da500b..12d38e6 100644 --- a/src/tools/google-travel-hotels/google-travel-hotels-tool.ts +++ b/src/tools/google-travel-hotels/google-travel-hotels-tool.ts @@ -22,6 +22,7 @@ export class GoogleTravelHotelsTool extends Tool { server.registerTool( 'google_travel_hotels', { + title: 'Google Travel Hotels', description: 'Scrape Google Travel Hotels search results', inputSchema: { query: z.string().describe('Hotel search query (e.g., "trivago", "hotels in Paris")'), @@ -31,7 +32,9 @@ export class GoogleTravelHotelsTool extends Tool { pageFrom: zodPageFrom, }, annotations: { + title: 'Google Travel Hotels', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/perplexity/perplexity-tool.ts b/src/tools/perplexity/perplexity-tool.ts index 6ee52dc..a369c57 100644 --- a/src/tools/perplexity/perplexity-tool.ts +++ b/src/tools/perplexity/perplexity-tool.ts @@ -17,6 +17,7 @@ export class PerplexityTool extends Tool { server.registerTool( 'perplexity', { + title: 'Perplexity', description: 'Search and interact with Perplexity for AI-powered responses and conversations', inputSchema: { @@ -24,7 +25,9 @@ export class PerplexityTool extends Tool { geo: zodGeo, }, annotations: { + title: 'Perplexity', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/reddit-post/reddit-post-tool.ts b/src/tools/reddit-post/reddit-post-tool.ts index 85c8786..d02c789 100644 --- a/src/tools/reddit-post/reddit-post-tool.ts +++ b/src/tools/reddit-post/reddit-post-tool.ts @@ -22,6 +22,7 @@ export class RedditPostTool extends Tool { server.registerTool( 'reddit_post', { + title: 'Reddit Post', description: 'Scrape a specific Reddit post', inputSchema: { url: z @@ -31,7 +32,9 @@ export class RedditPostTool extends Tool { ), }, annotations: { + title: 'Reddit Post', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/reddit-subreddit/reddit-subreddit-tool.ts b/src/tools/reddit-subreddit/reddit-subreddit-tool.ts index 1541925..dd62e85 100644 --- a/src/tools/reddit-subreddit/reddit-subreddit-tool.ts +++ b/src/tools/reddit-subreddit/reddit-subreddit-tool.ts @@ -22,12 +22,15 @@ export class RedditSubredditTool extends Tool { server.registerTool( 'reddit_subreddit', { + title: 'Reddit Subreddit', description: 'Scrape Reddit subreddit results with automatic parsing', inputSchema: { url: z.string().describe('URL to subreddit'), }, annotations: { + title: 'Reddit Subreddit', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/reddit-user/reddit-user-tool.ts b/src/tools/reddit-user/reddit-user-tool.ts index 00e5863..7505336 100644 --- a/src/tools/reddit-user/reddit-user-tool.ts +++ b/src/tools/reddit-user/reddit-user-tool.ts @@ -26,6 +26,7 @@ export class RedditUserTool extends Tool { server.registerTool( 'reddit_user', { + title: 'Reddit User', description: 'Scrape a Reddit user profile and their posts/comments', inputSchema: { url: z @@ -33,7 +34,9 @@ export class RedditUserTool extends Tool { .describe('Reddit user profile URL (eg. https://www.reddit.com/user/IWasRightOnce/)'), }, annotations: { + title: 'Reddit User', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/scrape-as-markdown/scrape-as-markdown-tool.ts b/src/tools/scrape-as-markdown/scrape-as-markdown-tool.ts index 25c8e25..408b481 100644 --- a/src/tools/scrape-as-markdown/scrape-as-markdown-tool.ts +++ b/src/tools/scrape-as-markdown/scrape-as-markdown-tool.ts @@ -44,6 +44,7 @@ export class ScrapeAsMarkdownTool extends Tool { server.registerTool( 'scrape_as_markdown', { + title: 'Scrape as Markdown', description: 'Scrape the contents of a website and return Markdown-formatted results', inputSchema: { url: z.string().describe('URL to scrape'), @@ -53,7 +54,9 @@ export class ScrapeAsMarkdownTool extends Tool { tokenLimit: zodTokenLimit, }, annotations: { + title: 'Scrape as Markdown', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/screenshot/screenshot-tool.ts b/src/tools/screenshot/screenshot-tool.ts index 2f1846c..873e18b 100644 --- a/src/tools/screenshot/screenshot-tool.ts +++ b/src/tools/screenshot/screenshot-tool.ts @@ -16,13 +16,16 @@ export class ScreenshotTool extends Tool { server.registerTool( 'screenshot', { + title: 'Screenshot', description: 'Capture a screenshot of any webpage and return it as a PNG image', inputSchema: { url: z.string().describe('URL to screenshot'), geo: zodGeo, }, annotations: { + title: 'Screenshot', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/target-product/target-product-tool.ts b/src/tools/target-product/target-product-tool.ts index a864e85..cd2a759 100644 --- a/src/tools/target-product/target-product-tool.ts +++ b/src/tools/target-product/target-product-tool.ts @@ -19,6 +19,7 @@ export class TargetProductTool extends Tool { server.registerTool( 'target_product', { + title: 'Target Product', description: 'Scrape Target Product page with automatic parsing', inputSchema: { product_id: z.string().describe('Target product ID (e.g., "1003921355")'), @@ -27,7 +28,9 @@ export class TargetProductTool extends Tool { deliveryZip: zodDeliveryZip, }, annotations: { + title: 'Target Product', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/target-search/target-search-tool.ts b/src/tools/target-search/target-search-tool.ts index 61396e8..e5a6b47 100644 --- a/src/tools/target-search/target-search-tool.ts +++ b/src/tools/target-search/target-search-tool.ts @@ -25,6 +25,7 @@ export class TargetSearchTool extends Tool { server.registerTool( 'target_search', { + title: 'Target Search', description: 'Scrape Target Search results with automatic parsing', inputSchema: { query: z.string().describe('Search query for Target products'), @@ -33,7 +34,9 @@ export class TargetSearchTool extends Tool { deliveryZip: zodDeliveryZip, }, annotations: { + title: 'Target Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/tiktok-post/tiktok-post-tool.ts b/src/tools/tiktok-post/tiktok-post-tool.ts index b67e525..8561227 100644 --- a/src/tools/tiktok-post/tiktok-post-tool.ts +++ b/src/tools/tiktok-post/tiktok-post-tool.ts @@ -17,6 +17,7 @@ export class TiktokPostTool extends Tool { server.registerTool( 'tiktok_post', { + title: 'TikTok Post', description: 'Scrape a TikTok post URL for structured data such as engagement, captions, and hashtags', inputSchema: { @@ -26,7 +27,9 @@ export class TiktokPostTool extends Tool { xhr: zodXhr, }, annotations: { + title: 'TikTok Post', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/tiktok-shop-product/tiktok-shop-product-tool.ts b/src/tools/tiktok-shop-product/tiktok-shop-product-tool.ts index 9f8cf93..6300921 100644 --- a/src/tools/tiktok-shop-product/tiktok-shop-product-tool.ts +++ b/src/tools/tiktok-shop-product/tiktok-shop-product-tool.ts @@ -17,6 +17,7 @@ export class TiktokShopProductTool extends Tool { server.registerTool( 'tiktok_shop_product', { + title: 'TikTok Shop Product', description: 'Scrape TikTok Shop Product page', inputSchema: { product_id: z.string().describe('TikTok Shop product ID (e.g., "1731541214379741272")'), @@ -25,7 +26,9 @@ export class TiktokShopProductTool extends Tool { country: zodCountry, }, annotations: { + title: 'TikTok Shop Product', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/tiktok-shop-search/tiktok-shop-search-tool.ts b/src/tools/tiktok-shop-search/tiktok-shop-search-tool.ts index 23fe7ee..b33d18e 100644 --- a/src/tools/tiktok-shop-search/tiktok-shop-search-tool.ts +++ b/src/tools/tiktok-shop-search/tiktok-shop-search-tool.ts @@ -23,6 +23,7 @@ export class TiktokShopSearchTool extends Tool { server.registerTool( 'tiktok_shop_search', { + title: 'TikTok Shop Search', description: 'Scrape TikTok Shop Search results with automatic parsing', inputSchema: { query: z.string().describe('Search query for TikTok Shop products'), @@ -31,7 +32,9 @@ export class TiktokShopSearchTool extends Tool { deviceType: zodDeviceType, }, annotations: { + title: 'TikTok Shop Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/tiktok-shop-url/tiktok-shop-url-tool.ts b/src/tools/tiktok-shop-url/tiktok-shop-url-tool.ts index e787d7a..48f4a53 100644 --- a/src/tools/tiktok-shop-url/tiktok-shop-url-tool.ts +++ b/src/tools/tiktok-shop-url/tiktok-shop-url-tool.ts @@ -17,13 +17,16 @@ export class TiktokShopUrlTool extends Tool { server.registerTool( 'tiktok_shop_url', { + title: 'TikTok Shop URL', description: 'Scrape TikTok Shop page by URL', inputSchema: { url: z.string().describe('TikTok Shop URL (e.g., "https://www.tiktok.com/shop/s?q=HEADPHONES")'), jsRender: zodJsRender, }, annotations: { + title: 'TikTok Shop URL', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/walmart-product/walmart-product-tool.ts b/src/tools/walmart-product/walmart-product-tool.ts index 1c80285..038ccee 100644 --- a/src/tools/walmart-product/walmart-product-tool.ts +++ b/src/tools/walmart-product/walmart-product-tool.ts @@ -33,6 +33,7 @@ export class WalmartProductTool extends Tool { server.registerTool( 'walmart_product', { + title: 'Walmart Product', description: 'Scrape Walmart Product page with automatic parsing', inputSchema: { product_id: z.string().describe('Walmart product ID (e.g., "15296401808")'), @@ -41,7 +42,9 @@ export class WalmartProductTool extends Tool { storeId: zodStoreId, }, annotations: { + title: 'Walmart Product', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/walmart-search/walmart-search-tool.ts b/src/tools/walmart-search/walmart-search-tool.ts index 242a5ee..ef0828c 100644 --- a/src/tools/walmart-search/walmart-search-tool.ts +++ b/src/tools/walmart-search/walmart-search-tool.ts @@ -33,6 +33,7 @@ export class WalmartSearchTool extends Tool { server.registerTool( 'walmart_search', { + title: 'Walmart Search', description: 'Scrape Walmart Search results with automatic parsing', inputSchema: { query: z.string().describe('Search query for Walmart products (e.g., "camping tent")'), @@ -41,7 +42,9 @@ export class WalmartSearchTool extends Tool { storeId: zodWalmartStoreId, }, annotations: { + title: 'Walmart Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/youtube-channel/youtube-channel-tool.ts b/src/tools/youtube-channel/youtube-channel-tool.ts index 9a21624..dbd2704 100644 --- a/src/tools/youtube-channel/youtube-channel-tool.ts +++ b/src/tools/youtube-channel/youtube-channel-tool.ts @@ -21,13 +21,16 @@ export class YoutubeChannelTool extends Tool { server.registerTool( 'youtube_channel', { + title: 'YouTube Channel', description: 'Scrape YouTube channel videos with automatic parsing', inputSchema: { query: z.string().describe('YouTube channel handle or ID (e.g., "@decodo_official")'), limit: zodLimit, }, annotations: { + title: 'YouTube Channel', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/youtube-metadata/youtube-metadata-tool.ts b/src/tools/youtube-metadata/youtube-metadata-tool.ts index e6af328..9041825 100644 --- a/src/tools/youtube-metadata/youtube-metadata-tool.ts +++ b/src/tools/youtube-metadata/youtube-metadata-tool.ts @@ -16,12 +16,15 @@ export class YoutubeMetadataTool extends Tool { server.registerTool( 'youtube_metadata', { + title: 'YouTube Metadata', description: 'Scrape YouTube video metadata', inputSchema: { query: z.string().describe('YouTube video ID (e.g., "dFu9aKJoqGg")'), }, annotations: { + title: 'YouTube Metadata', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/youtube-search/youtube-search-tool.ts b/src/tools/youtube-search/youtube-search-tool.ts index 65288be..b298bda 100644 --- a/src/tools/youtube-search/youtube-search-tool.ts +++ b/src/tools/youtube-search/youtube-search-tool.ts @@ -16,12 +16,15 @@ export class YoutubeSearchTool extends Tool { server.registerTool( 'youtube_search', { + title: 'YouTube Search', description: 'Search YouTube videos', inputSchema: { query: z.string().describe('YouTube search query (e.g., "How to care for chinchillas")'), }, annotations: { + title: 'YouTube Search', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, }, diff --git a/src/tools/youtube-subtitles/youtube-subtitles-tool.ts b/src/tools/youtube-subtitles/youtube-subtitles-tool.ts index b9efc46..d10e341 100644 --- a/src/tools/youtube-subtitles/youtube-subtitles-tool.ts +++ b/src/tools/youtube-subtitles/youtube-subtitles-tool.ts @@ -21,13 +21,16 @@ export class YoutubeSubtitlesTool extends Tool { server.registerTool( 'youtube_subtitles', { + title: 'YouTube Subtitles', description: 'Scrape YouTube video subtitles', inputSchema: { query: z.string().describe('YouTube video ID (e.g., "L8zSWbQN-v8")'), language_code: zodLanguageCode, }, annotations: { + title: 'YouTube Subtitles', readOnlyHint: true, + destructiveHint: false, openWorldHint: true, }, },