search-console-mcp 1.10.1 → 1.11.0

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.
Files changed (43) hide show
  1. package/README.md +36 -5
  2. package/dist/bing/client.js +97 -0
  3. package/dist/bing/docs/algorithm-updates.js +31 -0
  4. package/dist/bing/docs/dimensions.js +42 -0
  5. package/dist/bing/docs/filters.js +43 -0
  6. package/dist/bing/docs/index.js +111 -0
  7. package/dist/bing/docs/patterns.js +108 -0
  8. package/dist/bing/docs/search-types.js +21 -0
  9. package/dist/bing/tools/advanced-analytics.js +238 -0
  10. package/dist/bing/tools/analytics.js +121 -0
  11. package/dist/bing/tools/crawl.js +15 -0
  12. package/dist/bing/tools/index-now.js +18 -0
  13. package/dist/bing/tools/inspection.js +8 -0
  14. package/dist/bing/tools/keywords.js +15 -0
  15. package/dist/bing/tools/links.js +8 -0
  16. package/dist/bing/tools/seo-insights.js +114 -0
  17. package/dist/bing/tools/sitemaps.js +22 -0
  18. package/dist/bing/tools/sites-health.js +109 -0
  19. package/dist/bing/tools/sites.js +10 -0
  20. package/dist/bing/tools/url-submission.js +24 -0
  21. package/dist/{tools → common/tools}/seo-primitives.js +1 -1
  22. package/dist/{tools → google/tools}/analytics.js +1 -1
  23. package/dist/{tools → google/tools}/inspection.js +1 -1
  24. package/dist/{tools → google/tools}/seo-insights.js +1 -1
  25. package/dist/{tools → google/tools}/sitemaps.js +1 -1
  26. package/dist/{tools → google/tools}/sites.js +1 -1
  27. package/dist/index.js +476 -14
  28. package/dist/setup.js +45 -14
  29. package/package.json +3 -2
  30. /package/dist/{errors.js → common/errors.js} +0 -0
  31. /package/dist/{tools → common/tools}/schema-validator.js +0 -0
  32. /package/dist/{utils → common/utils}/regex.js +0 -0
  33. /package/dist/{google-client.js → google/client.js} +0 -0
  34. /package/dist/{docs → google/docs}/algorithm-updates.js +0 -0
  35. /package/dist/{docs → google/docs}/dimensions.js +0 -0
  36. /package/dist/{docs → google/docs}/filters.js +0 -0
  37. /package/dist/{docs → google/docs}/index.js +0 -0
  38. /package/dist/{docs → google/docs}/patterns.js +0 -0
  39. /package/dist/{docs → google/docs}/search-types.js +0 -0
  40. /package/dist/{tools → google/tools}/advanced-analytics.js +0 -0
  41. /package/dist/{tools → google/tools}/pagespeed.js +0 -0
  42. /package/dist/{tools → google/tools}/sites-health.js +0 -0
  43. /package/dist/{tools → google/tools}/support.js +0 -0
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
- # Google Search Console MCP Server
2
+ # Search Console MCP
3
3
 
4
- A Model Context Protocol (MCP) server that transforms how you interact with Google Search Console. Stop exporting CSVs and start asking questions.
4
+ A Model Context Protocol (MCP) server that transforms how you interact with **Google Search Console** and **Bing Webmaster Tools**. Stop exporting CSVs and start asking questions.
5
5
 
6
6
  [📚 View Documentation](https://searchconsolemcp.mintlify.app/)
7
7
 
@@ -29,7 +29,7 @@ A Model Context Protocol (MCP) server that transforms how you interact with Goog
29
29
 
30
30
  Copy and paste these into your MCP client (Claude Desktop, etc.) to see the intelligence engine in action:
31
31
 
32
- #### �️ The Traffic Detective
32
+ #### 🔍 The Traffic Detective
33
33
  > "My traffic dropped this week compared to last. Use the anomaly detection and time-series tools to find exactly when the drop started and which pages are responsible."
34
34
 
35
35
  #### 🎯 The "Striking Distance" Hunter
@@ -47,6 +47,9 @@ Copy and paste these into your MCP client (Claude Desktop, etc.) to see the inte
47
47
  #### ⚡ The Speed vs. Ranking Correlator
48
48
  > "Fetch the top 5 pages by impressions. For these pages, run a PageSpeed audit. Is there any correlation between low performance scores and recently declining positions?"
49
49
 
50
+ #### 🔍 Multi-Engine Comparison
51
+ > "Compare my performance between Google and Bing for the last 30 days. Which keywords are ranking better on Bing but have lower traffic on Google?"
52
+
50
53
  ---
51
54
 
52
55
  ## 🔐 Authentication (Desktop Flow)
@@ -95,6 +98,20 @@ For server-side environments or automated tasks where interactive login isn't po
95
98
 
96
99
  ---
97
100
 
101
+ ## 🔑 Bing Webmaster Tools (API Key)
102
+
103
+ To access Bing data, you simply need an API Key.
104
+
105
+ ### Setup:
106
+ 1. **Get Your API Key**: Go to [Bing Webmaster Tools Settings](https://www.bing.com/webmasters/settings/api).
107
+ 2. **Configure**: Set the API key in your environment:
108
+ ```bash
109
+ export BING_API_KEY="your-api-key-here"
110
+ ```
111
+ 3. **IndexNow**: Bing tools also support **IndexNow** for instant URL submission.
112
+
113
+ ---
114
+
98
115
 
99
116
  ## 🛡️ Fort Knox Security
100
117
 
@@ -110,7 +127,7 @@ This MCP server implements a multi-layered security architecture:
110
127
 
111
128
  ## Tools Reference
112
129
 
113
- ### Analytics
130
+ ### Google Analytics
114
131
  | Tool | Description |
115
132
  |------|-------------|
116
133
  | `analytics_query` | Master tool for raw data. Supports `dimensions`, `filters`, `aggregationType` (byPage/byProperty), `dataState` (final/all), and `type` (web/image/news/discover). |
@@ -154,9 +171,23 @@ These are low-level tools designed to be used by other AI agents to build comple
154
171
  | `pagespeed_analyze` | Lighthouse scores & Core Web Vitals. |
155
172
  | `schema_validate` | Validate Structured Data (JSON-LD). |
156
173
 
174
+ ### Bing Webmaster Tools
175
+ | Tool | Description |
176
+ |------|-------------|
177
+ | `bing_sites_list` | List all verified sites in Bing. |
178
+ | `bing_analytics_query` | Query search performance from Bing. |
179
+ | `bing_opportunity_finder` | Find low-hanging fruit keywords on Bing. |
180
+ | `bing_seo_recommendations` | Get prioritized SEO insights for Bing. |
181
+ | `bing_url_info` | Detailed indexing and crawl info for a URL (Bing). |
182
+ | `bing_index_now` | **[NEW]** Instantly notify search engines of changes. |
183
+ | `bing_crawl_issues` | List crawl issues detected by Bing. |
184
+ | `bing_analytics_detect_anomalies` | Detect daily spikes or drops in Bing traffic. |
185
+ | `bing_analytics_time_series` | Advanced time series analysis for Bing. |
186
+ | `bing_sitemaps_list` / `bing_sitemaps_submit` | Manage sitemaps in Bing. |
187
+
157
188
 
158
189
 
159
190
  ## License
160
191
 
161
- [MIT](LICENSE.md)
192
+ [MIT](LICENSE)
162
193
  [Contributing](CONTRIBUTING.md)
@@ -0,0 +1,97 @@
1
+ export class BingClient {
2
+ apiKey;
3
+ baseUrl = 'https://ssl.bing.com/webmaster/api.svc/json';
4
+ constructor(apiKey) {
5
+ this.apiKey = apiKey;
6
+ }
7
+ async request(method, params = {}, isPost = false) {
8
+ const url = new URL(`${this.baseUrl}/${method}`);
9
+ url.searchParams.append('apikey', this.apiKey);
10
+ const options = {
11
+ method: isPost ? 'POST' : 'GET',
12
+ headers: {
13
+ 'Content-Type': 'application/json'
14
+ }
15
+ };
16
+ if (isPost) {
17
+ options.body = JSON.stringify(params);
18
+ }
19
+ else {
20
+ for (const [key, value] of Object.entries(params)) {
21
+ url.searchParams.append(key, String(value));
22
+ }
23
+ }
24
+ const response = await fetch(url.toString(), options);
25
+ if (!response.ok) {
26
+ const error = await response.text();
27
+ throw new Error(`Bing API error (${method}): ${response.status} ${error}`);
28
+ }
29
+ const data = await response.json();
30
+ if (data && data.hasOwnProperty('d')) {
31
+ return data.d;
32
+ }
33
+ return data;
34
+ }
35
+ async getSiteList() {
36
+ return this.request('GetUserSites');
37
+ }
38
+ async getQueryStats(siteUrl) {
39
+ return this.request('GetQueryStats', { siteUrl }, true);
40
+ }
41
+ async getPageStats(siteUrl) {
42
+ return this.request('GetPageStats', { siteUrl }, true);
43
+ }
44
+ async getPageQueryStats(siteUrl, pageUrl) {
45
+ return this.request('GetPageQueryStats', { siteUrl, pageUrl }, true);
46
+ }
47
+ async submitSitemap(siteUrl, sitemapUrl) {
48
+ await this.request('SubmitSitemap', { siteUrl, sitemapUrl }, true);
49
+ }
50
+ async getSitemaps(siteUrl) {
51
+ return this.request('GetSitemaps', { siteUrl }, true);
52
+ }
53
+ async getKeywordStats(q, country, language) {
54
+ return this.request('GetKeywordStats', { q, country, language }, true);
55
+ }
56
+ async getCrawlIssues(siteUrl) {
57
+ return this.request('GetCrawlIssues', { siteUrl }, true);
58
+ }
59
+ async getUrlSubmissionQuota(siteUrl) {
60
+ return this.request('GetUrlSubmissionQuota', { siteUrl }, true);
61
+ }
62
+ async submitUrl(siteUrl, url) {
63
+ return this.request('SubmitUrl', { siteUrl, url }, true);
64
+ }
65
+ async submitUrlBatch(siteUrl, urlList) {
66
+ return this.request('SubmitUrlBatch', { siteUrl, urlList }, true);
67
+ }
68
+ async getQueryPageStats(siteUrl) {
69
+ return this.request('GetQueryPageStats', { siteUrl }, true);
70
+ }
71
+ async getRankAndTrafficStats(siteUrl) {
72
+ return this.request('GetRankAndTrafficStats', { siteUrl }, true);
73
+ }
74
+ async getCrawlStats(siteUrl) {
75
+ return this.request('GetCrawlStats', { siteUrl }, true);
76
+ }
77
+ async getUrlInfo(siteUrl, url) {
78
+ return this.request('GetUrlInfo', { siteUrl, url }, true);
79
+ }
80
+ async getLinkCounts(siteUrl) {
81
+ return this.request('GetLinkCounts', { siteUrl }, true);
82
+ }
83
+ async getRelatedKeywords(q, country, language) {
84
+ return this.request('GetRelatedKeywords', { q, country, language }, true);
85
+ }
86
+ }
87
+ let cachedBingClient = null;
88
+ export async function getBingClient() {
89
+ if (cachedBingClient)
90
+ return cachedBingClient;
91
+ const apiKey = process.env.BING_API_KEY;
92
+ if (!apiKey) {
93
+ throw new Error('Bing API Key not found. Please set BING_API_KEY environment variable or run setup.');
94
+ }
95
+ cachedBingClient = new BingClient(apiKey);
96
+ return cachedBingClient;
97
+ }
@@ -0,0 +1,31 @@
1
+ export const algorithmUpdatesDocs = `
2
+ # Bing Algorithm Updates & Volatility Reference
3
+
4
+ The \`bing_analytics_drop_attribution\` tool correlates traffic drops with major known Bing Algorithm Updates and periods of high ranking volatility. The following updates are currently tracked:
5
+
6
+ ## 2025 (Projected)
7
+
8
+ | Date | Update Name | Impact Area |
9
+ |------|-------------|-------------|
10
+ | 2025-01-15 | Projected AI Relevance Update | AI Search / Relevance |
11
+
12
+ ## 2024
13
+
14
+ | Date | Update Name | Impact Area |
15
+ |------|-------------|-------------|
16
+ | 2024-07-25 | Bing Generative Search (Beta) | SERP Layout / AI Summaries |
17
+ | 2024-05-29 | May 2024 Ranking Volatility | General Ranking |
18
+ | 2024-03-01 | Bing Deep Search Rollout | Complex Queries / Relevance |
19
+
20
+ ## 2023
21
+
22
+ | Date | Update Name | Impact Area |
23
+ |------|-------------|-------------|
24
+ | 2023-05-04 | Bing Chat Open Preview | Conversational Search |
25
+ | 2023-02-07 | New Bing Preview (AI Chat) | AI Integration |
26
+ | 2023-01-18 | Bing AI Integration Update | Core Ranking / AI |
27
+
28
+ ## How Attribution Works
29
+ When a traffic drop is detected, the system checks if it occurred within **+/- 2 days** of any of these dates. If it matches, the update is flagged as a potential primary cause of the drop.
30
+ `;
31
+ export default algorithmUpdatesDocs;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Bing Webmaster Tools - Dimensions Reference
3
+ *
4
+ * This documentation is exposed as an MCP resource for AI agents.
5
+ */
6
+ export const dimensionsDocs = `# Bing Webmaster Tools - Dimensions Reference
7
+
8
+ Unlike Google Search Console's single query endpoint, Bing Webmaster Tools API separates data into specific endpoints based on the primary dimension.
9
+
10
+ ## Implicit Dimensions via Tools
11
+
12
+ | Tool | Primary Dimension | Secondary Dimensions |
13
+ |------|-------------------|----------------------|
14
+ | \`bing_analytics_query\` | **Query** | Date (implicit in daily options) |
15
+ | \`bing_analytics_page\` | **Page** | Date |
16
+ | \`bing_rank_traffic_stats\` | **Date** | None (Site level agg) |
17
+ | \`bing_keywords_stats\` | **Keyword** | Country, Language, Date |
18
+
19
+ ## Usage
20
+
21
+ ### To Analyze Queries
22
+ Use \`bing_analytics_query\` or \`bing_get_top_queries\`. You cannot "group by page" here.
23
+
24
+ ### To Analyze Pages
25
+ Use \`bing_analytics_page\` or \`bing_get_top_pages\`.
26
+
27
+ ### To Analyze Date Trends
28
+ Use \`bing_rank_traffic_stats\` or the advanced \`bing_analytics_time_series\` tool.
29
+
30
+ ### To Analyze Specific Page's Queries
31
+ Use \`bing_analytics_page_query\`:
32
+ \`\`\`json
33
+ {
34
+ "siteUrl": "https://example.com",
35
+ "pageUrl": "https://example.com/my-page"
36
+ }
37
+ \`\`\`
38
+
39
+ ## Advanced Time Series Dimensions
40
+ The \`bing_analytics_time_series\` tool allows analyzing trends with granular data, primarily focused on **Date** as the dimension, but data is derived from the site-level rank and traffic stats.
41
+ `;
42
+ export default dimensionsDocs;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Bing Webmaster Tools - Filters Reference
3
+ *
4
+ * This documentation is exposed as an MCP resource for AI agents.
5
+ */
6
+ export const filtersDocs = `# Bing Webmaster Tools - Filters Reference
7
+
8
+ Filtering in Bing Webmaster Tools API is often done by selecting the specific tool or argument rather than a generic filter object.
9
+
10
+ ## Tool-Specific Filtering
11
+
12
+ ### Filter by Page
13
+ To get data for a specific page, use \`bing_analytics_page_query\` instead of a generic query tool.
14
+ \`\`\`json
15
+ {
16
+ "tool": "bing_analytics_page_query",
17
+ "siteUrl": "https://example.com",
18
+ "pageUrl": "https://example.com/specific-page"
19
+ }
20
+ \`\`\`
21
+
22
+ ### Filter by Keyword/Query
23
+ To looks up a specific keyword's history, use \`bing_keywords_stats\`:
24
+ \`\`\`json
25
+ {
26
+ "tool": "bing_keywords_stats",
27
+ "q": "search term",
28
+ "country": "us",
29
+ "language": "en"
30
+ }
31
+ \`\`\`
32
+
33
+ ## Advanced Analytics Filtering
34
+
35
+ The \`bing_analytics_time_series\` tool supports rudimentary client-side filtering on the returned dataset.
36
+
37
+ | Field | Operator | Description |
38
+ |-------|----------|-------------|
39
+ | \`dimension\` | \`equals\`, \`contains\` | limited support (mostly for future expansion) |
40
+
41
+ _Note: The Bing API limits server-side filtering compared to Google. Most specific analysis requires fetching the relevant dataset (Queries or Pages) and processing it._
42
+ `;
43
+ export default filtersDocs;
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Documentation barrel export for Bing
3
+ */
4
+ export { dimensionsDocs } from './dimensions.js';
5
+ export { filtersDocs } from './filters.js';
6
+ export { searchTypesDocs } from './search-types.js';
7
+ export { patternsDocs } from './patterns.js';
8
+ export { algorithmUpdatesDocs } from './algorithm-updates.js';
9
+ export const bingApiDocs = `
10
+ # Bing Webmaster Tools API Documentation
11
+
12
+ The Bing Webmaster Tools API allows you to manage your sites on Bing and get search performance data.
13
+
14
+ ## Authentication
15
+ Authentication is handled via an **API Key**.
16
+ You can get your API key from the [Bing Webmaster Tools Settings](https://www.bing.com/webmasters/settings/api).
17
+
18
+ ## Tools
19
+
20
+ ### \`bing_sites_list\`
21
+ Lists all sites verified in your Bing account.
22
+
23
+ ### \`bing_sites_health\`
24
+ Runs a multi-factor health check (performance, sitemaps, crawl issues) on your Bing sites.
25
+
26
+ ### \`bing_analytics_query\` / \`bing_get_top_queries\`
27
+ Returns top search queries for a site.
28
+
29
+ ### \`bing_analytics_page\` / \`bing_get_top_pages\`
30
+ Returns top performing pages for a site.
31
+
32
+ ### \`bing_analytics_page_query\`
33
+ Returns query performance data for a specific page.
34
+
35
+ ### \`bing_analytics_query_page\`
36
+ Returns combined query and page performance stats for a site.
37
+
38
+ ### \`bing_rank_traffic_stats\`
39
+ Returns historical rank and traffic statistics for a site.
40
+
41
+ ### \`bing_opportunity_finder\`
42
+ Identifies "low-hanging fruit" keywords on Bing (positions 5-20 with high potential).
43
+
44
+ ### \`bing_seo_recommendations\`
45
+ Provides prioritized SEO insights (cannibalization, low CTR, new ranking opportunities) for Bing.
46
+
47
+ ### \`bing_url_info\`
48
+ Get detailed indexing and crawl information for a URL in Bing. Similar to Google's URL Inspection.
49
+
50
+ ### \`bing_link_counts\`
51
+ Returns inbound link counts for a site.
52
+
53
+ ### \`bing_keywords_stats\`
54
+ Get historical stats for a keyword in Bing.
55
+
56
+ ### \`bing_related_keywords\`
57
+ Get related keywords and search volume from Bing.
58
+
59
+ ### \`bing_crawl_issues\`
60
+ Lists crawl issues detected by Bing for a site.
61
+
62
+ ### \`bing_crawl_stats\`
63
+ Returns crawl statistics (indexed pages, crawled pages, errors) for a site.
64
+
65
+ ### \`bing_url_submission_quota\`
66
+ Get your daily URL submission quota and remaining balance.
67
+
68
+ ### \`bing_url_submit\`
69
+ Submit a single URL to Bing for faster indexing.
70
+
71
+ ### \`bing_url_submit_batch\`
72
+ Submit up to 500 URLs in a single request.
73
+
74
+ ### \`bing_sitemaps_list\`
75
+ Lists all sitemaps submitted for a specific site.
76
+
77
+ ### \`bing_sitemaps_submit\`
78
+ Submits a new sitemap URL to Bing.
79
+
80
+ ### \`bing_analytics_detect_anomalies\`
81
+ Detects sharp traffic drops or spikes in Bing performance data.
82
+
83
+ ### \`bing_analytics_compare_periods\`
84
+ Compares Bing performance metrics between two date ranges (clicks, impressions, position).
85
+
86
+ ### \`bing_analytics_drop_attribution\`
87
+ Analyzes traffic drops to attribute them to potential causes (device-specific issues, etc.).
88
+
89
+ ### \`bing_analytics_time_series\`
90
+ Performs advanced time series analysis with smoothing and trend forecasting for Bing data.
91
+
92
+ `;
93
+ export const indexNowDocs = `
94
+ # IndexNow Documentation
95
+
96
+ IndexNow is a simple way for website owners to instantly inform search engines about recent content changes on their website.
97
+
98
+ ## How it works
99
+ 1. **Generate a Key**: Create a unique key (UUID) for your host.
100
+ 2. **Host the Key**: Serve the key as a text file at the root of your host or a specific location.
101
+ 3. **Submit URLs**: Use the \`bing_index_now\` tool to notify search engines of new, updated, or deleted URLs.
102
+
103
+ ## Tool: \`bing_index_now\`
104
+ Arguments:
105
+ - \`host\`: The domain (e.g., \`www.example.com\`).
106
+ - \`key\`: Your generated IndexNow key.
107
+ - \`keyLocation\` (optional): The URL where the key is hosted if not at the root.
108
+ - \`urlList\`: An array of URLs that have changed.
109
+
110
+ For more information, visit [IndexNow.org](https://www.indexnow.org/).
111
+ `;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Bing Webmaster Tools - Common Patterns & Recipes
3
+ *
4
+ * This documentation is exposed as an MCP resource for AI agents.
5
+ */
6
+ export const patternsDocs = `# Bing Webmaster Tools - Common Patterns & Recipes
7
+
8
+ This guide shows common use cases and patterns for analyzing Bing Webmaster Tools data.
9
+
10
+ ## Quick Reference
11
+
12
+ ### Get Site Performance Overview
13
+ Use \`bing_rank_traffic_stats\` for high-level metrics (Clicks, Impressions, Position) over time:
14
+ \`\`\`
15
+ Tool: bing_rank_traffic_stats
16
+ Args: { "siteUrl": "https://example.com" }
17
+ \`\`\`
18
+
19
+ ### Submit Content (IndexNow)
20
+ Instantly notify Bing of new content using IndexNow (preferred over sitemaps for speed):
21
+ \`\`\`
22
+ Tool: bing_index_now
23
+ Args: {
24
+ "host": "www.example.com",
25
+ "key": "YOUR_KEY",
26
+ "urlList": ["https://www.example.com/new-page"]
27
+ }
28
+ \`\`\`
29
+
30
+ ---
31
+
32
+ ## Content Analysis
33
+
34
+ ### Top Performing Queries
35
+ \`\`\`json
36
+ {
37
+ "tool": "bing_analytics_query",
38
+ "siteUrl": "https://example.com"
39
+ }
40
+ \`\`\`
41
+
42
+ ### Top Performing Pages
43
+ \`\`\`json
44
+ {
45
+ "tool": "bing_analytics_page",
46
+ "siteUrl": "https://example.com"
47
+ }
48
+ \`\`\`
49
+
50
+ ### Deep Dive: Queries for a Specific Page
51
+ Find out what a specific page ranks for:
52
+ \`\`\`json
53
+ {
54
+ "tool": "bing_analytics_page_query",
55
+ "siteUrl": "https://example.com",
56
+ "pageUrl": "https://example.com/blog/my-post"
57
+ }
58
+ \`\`\`
59
+
60
+ ---
61
+
62
+ ## Diagnostics & Health
63
+
64
+ ### Traffic Drop Analysis
65
+ If you see a sudden drop in traffic, use attribution to check for algorithm updates:
66
+ \`\`\`json
67
+ {
68
+ "tool": "bing_analytics_drop_attribution",
69
+ "siteUrl": "https://example.com",
70
+ "days": 30
71
+ }
72
+ \`\`\`
73
+
74
+ ### Check URL Indexing Status
75
+ Verify if a URL is indexed and see crawl issues:
76
+ \`\`\`json
77
+ {
78
+ "tool": "bing_url_info",
79
+ "siteUrl": "https://example.com",
80
+ "url": "https://example.com/troublesome-page"
81
+ }
82
+ \`\`\`
83
+
84
+ ### List Crawl Issues
85
+ \`\`\`json
86
+ {
87
+ "tool": "bing_crawl_issues",
88
+ "siteUrl": "https://example.com"
89
+ }
90
+ \`\`\`
91
+
92
+ ---
93
+
94
+ ## Advanced Time Series
95
+
96
+ ### Forecasting Traffic
97
+ Predict future clicks based on historical trends:
98
+ \`\`\`json
99
+ {
100
+ "tool": "bing_analytics_time_series",
101
+ "siteUrl": "https://example.com",
102
+ "days": 90,
103
+ "forecastDays": 30,
104
+ "granularity": "weekly"
105
+ }
106
+ \`\`\`
107
+ `;
108
+ export default patternsDocs;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Bing Webmaster Tools - Search Types Reference
3
+ *
4
+ * This documentation is exposed as an MCP resource for AI agents.
5
+ */
6
+ export const searchTypesDocs = `# Bing Webmaster Tools - Search Types Reference
7
+
8
+ Bing Webmaster Tools API primarily provides data for **Web** search.
9
+
10
+ ## Unified Data
11
+ Unlike Google Search Console which explicitly separates "Web", "Image", "Video", and "News" into distinct search types for every query, Bing's standard performance APIs (\`GetQueryStats\`, \`GetPageStats\`) return unified performance data.
12
+
13
+ ## Keyword Research Types
14
+ When using \`bing_keywords_stats\`, you can filter by:
15
+ - **Country**: (e.g., 'us', 'gb', 'in')
16
+ - **Language**: (e.g., 'en-US', 'en-GB')
17
+
18
+ ## Future Support
19
+ If Bing APIs expose explicit filtering for Image/Video verticals in the future, this documentation will be updated to reflect those capabilities.
20
+ `;
21
+ export default searchTypesDocs;