You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: batch keyword scanning for local rank tracker (#68)
* chore: release v0.0.48
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add multi-keyword batch scanning to maps_local_rank_tracker
Support up to 3 keywords in a single call via `keywords` array param.
Single keyword via `keyword` remains backward compatible.
Multi-keyword returns per-keyword metrics and grids.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|`maps_local_rank_tracker`| Track a business's local search ranking across a geographic grid — like LocalFalcon. Returns rank at each point, top-3 competitors, and metrics (ARP, ATRP, SoLV). |
84
+
|`maps_local_rank_tracker`| Track a business's local search ranking across a geographic grid — like LocalFalcon. Supports up to 3 keywords for batch scanning. Returns rank at each point, top-3 competitors, and metrics (ARP, ATRP, SoLV). |
85
85
86
86
All tools are annotated with `readOnlyHint: true` and `destructiveHint: false` — MCP clients can auto-approve these without user confirmation.
Track a business's local search ranking across a geographic grid (like LocalFalcon). Searches the same keyword from multiple coordinates to see how rank varies by location.
401
+
Track a business's local search ranking across a geographic grid (like LocalFalcon). Searches the same keyword(s) from multiple coordinates to see how rank varies by location. Supports up to 3 keywords for batch scanning.
Copy file name to clipboardExpand all lines: src/tools/maps/localRankTracker.ts
+23-3Lines changed: 23 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,21 @@ import { getCurrentApiKey } from "../../utils/requestContext.js";
4
4
5
5
constNAME="maps_local_rank_tracker";
6
6
constDESCRIPTION=
7
-
"Track a business's local search ranking across a geographic grid (like LocalFalcon). Searches the same keyword from multiple coordinates around a center point to see how rank varies by location. Returns rank at each grid point, top-3 competitors per point, and summary metrics (ARP, ATRP, SoLV). Useful for local SEO analysis.";
7
+
"Track a business's local search ranking across a geographic grid (like LocalFalcon). Searches the same keyword(s) from multiple coordinates around a center point to see how rank varies by location. Supports up to 3 keywords for batch scanning. Returns rank at each grid point, top-3 competitors per point, and summary metrics (ARP, ATRP, SoLV). Useful for local SEO analysis.";
8
8
9
9
constSCHEMA={
10
-
keyword: z.string().describe("Search keyword to track ranking for (e.g., 'dentist', 'coffee shop', 'pizza')"),
10
+
keyword: z
11
+
.string()
12
+
.optional()
13
+
.describe("Single search keyword (e.g., 'dentist'). Use 'keywords' for multi-keyword scanning."),
14
+
keywords: z
15
+
.array(z.string())
16
+
.min(1)
17
+
.max(3)
18
+
.optional()
19
+
.describe(
20
+
"Array of 1-3 keywords to scan (e.g., ['dentist', 'dental clinic', 'teeth cleaning']). Overrides 'keyword'."
21
+
),
11
22
placeId: z.string().describe("Google Maps place_id of the target business to track"),
12
23
center: z
13
24
.object({
@@ -34,9 +45,18 @@ export type LocalRankTrackerParams = z.infer<z.ZodObject<typeof SCHEMA>>;
0 commit comments