About MCP
MCP is an MCP server published by local-falcon in the Security category: mCP server for Local Falcon's local SEO and AI visibility platform: geo-grid rank tracking, campaign management, and competitor analysis via Model Context Protocol.
The repository has 24 stars and 3 forks, with the last commit 11 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/local-falcon/mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (30)
addLocationsToFalconGuardAdds one or multiple locations to be protected by Falcon Guard. Each business location must already be added to your Saved Locations in your Local Falcon dashboard before it can be protected. Use listAllLocalFalconLocations to verify locations exist first.
Parameters not published.
createLocalFalconCampaignCreates a new campaign in Local Falcon. Campaigns allow you to schedule recurring scans for one or multiple locations with one or multiple keywords. Locations must already exist in your Saved Locations (use listAllLocalFalconLocations to verify).
Parameters not published.
getLocalFalconGoogleBusinessLocationsSearches Google for business listings to find Place IDs needed for runLocalFalconScan. ONLY use this if: 1) Place ID not found in previous scan reports, AND 2) Business not found in listAllLocalFalconLocations. This is the last resort for finding a Place ID. Returns multiple potential matches - verify you have the correct business before scanning.
Parameters not published.
getLocalFalconGridHelper tool that generates grid coordinates for use with getLocalFalconRankingAtCoordinate or getLocalFalconKeywordAtCoordinate. Creates an array of lat/lng points based on your specified grid size and radius. NOTE: This is only useful if you
Parameters not published.
getLocalFalconGuardReportRetrieves a Falcon Guard report IF it exists for the location given a place_id. Shows Google Business Profile monitoring data. OAuth-connected locations include full metrics (calls, clicks, directions) plus historical changes. Manually added locations only show historical GBP changes. Returns an error if Guard is not enabled for this location.
Parameters not published.
getLocalFalconKeywordAtCoordinateLIMITED TOOL - Shows raw search results at ONE SINGLE point without ranking analysis. Does not provide ranking positions or competitive insights. Only use for debugging or checking raw SERP data. For actual ranking analysis, use runLocalFalconScan.
Parameters not published.
getLocalFalconKeywordReportRetrieves a specific keyword report aggregating scan data across multiple locations for one keyword. Shows which locations perform best/worst for that keyword. STRONGLY RECOMMEND fieldmask — keyword reports aggregating many locations can grow large. Recommended fieldmask:
Parameters not published.
getLocalFalconKnowledgeBaseArticleRetrieves the complete content of a specific Local Falcon Knowledge Base article, including full step-by-step instructions in markdown format. Use this AFTER searchLocalFalconKnowledgeBase to get the full guide for a specific article. If the user references an article by number (e.g.
Parameters not published.
getLocalFalconLocationReportRetrieves a specific location report aggregating scan data across multiple keywords for one business location. Shows which keywords perform best/worst for that location. STRONGLY RECOMMEND fieldmask — location reports aggregating many keywords can grow large. Recommended fieldmask:
Parameters not published.
getLocalFalconRankingAtCoordinateSINGLE-POINT CHECK ONLY - LIMITED USE TOOL. Checks ranking at exactly ONE coordinate. NOT for comprehensive analysis. WARNING: This is like checking the weather by looking out one window - you miss the full picture. Only use for: debugging specific locations, verifying edge cases, or quick spot checks. For ANY serious ranking analysis, reporting, or visibility assessment, use runLocalFalconScan instead which provides complete geographic coverage. Never use this for client reports or strategic decisions.
Parameters not published.
Show all 30 tools
getLocalFalconReviewsAnalysisReportRetrieves a specific Reviews Analysis report with full metrics: Review Volume Score (RVS), Review Quality Score (RQS), review velocity, freshness, total reviews, rating analysis, response rates, Local Guide reviews, photo reviews, and sentiment/topic analysis. Includes competitor comparison data if competitors were configured. STRONGLY RECOMMEND fieldmask — review reports can exceed 100KB given sentiment/topic breakdowns across up to 1M reviews. Recommended fieldmask for overview:
Parameters not published.
listAllLocalFalconLocationsLists all business locations already configured in the Local Falcon account. Check here BEFORE using getLocalFalconGoogleBusinessLocations - if the business is already in the account, you
Parameters not published.
listLocalFalconAutoScansLists ONLY individually scheduled automatic scans. NOTE: This does NOT include campaign-scheduled scans, which are the more common way to schedule recurring scans. To see campaign schedules, use listLocalFalconCampaignReports instead. Most users schedule scans through campaigns for better organization and reporting.
Parameters not published.
listLocalFalconKeywordReportsLists keyword reports that aggregate scan data across multiple locations for a specific keyword. AUTO-GENERATED after a keyword has been scanned for 2+ different locations outside of campaigns. NOT generated for campaign scans. Useful for comparing how different locations perform for the same keyword. Use fieldmask to control returned fields.
Parameters not published.
listLocalFalconLocationGroupsLists all location groups in the Local Falcon account, including the number of locations and the Place IDs contained in each group. Groups may be nested: a group with type
Parameters not published.
listLocalFalconLocationReportsLists location reports that aggregate scan data across multiple keywords for a specific business location. AUTO-GENERATED after a location has been scanned for 2+ different keywords outside of campaigns. NOT generated for campaign scans. Useful for seeing how a location performs across its keyword portfolio. Use fieldmask to control returned fields.
Parameters not published.
listLocalFalconScanReportsLists existing scan reports. ALWAYS check here before running new scans to avoid duplicates and save credits. Returns report metadata including date, keyword, location, ARP, ATRP, SoLV, grid size, and platform. Use filters to narrow results. If a report has a campaign_key, its data is consolidated in the campaign report — no separate trend/location/keyword reports exist for campaign scans. Use fieldmask to control returned fields. Recommended fieldmask for browsing: \
Parameters not published.
pauseFalconGuardProtectionPauses protection for one or multiple locations in Falcon Guard. You must provide either guardKey or placeId (or both). Use listLocalFalconGuardReports to find guard_key values for protected locations.
Parameters not published.
pauseLocalFalconCampaignPauses a campaign to stop it from running on its scheduled frequency. Use listLocalFalconCampaignReports to find the campaign_key for the campaign you want to pause.
Parameters not published.
reactivateLocalFalconCampaignReactivates a campaign that was deactivated due to insufficient credits. Use listLocalFalconCampaignReports to find the campaign_key for the campaign you want to reactivate.
Parameters not published.
removeFalconGuardProtectionRemoves protection for one or multiple locations from Falcon Guard entirely. This deletes the Guard monitoring for the specified locations. You must provide either guardKey or placeId (or both). Use listLocalFalconGuardReports to find guard_key values.
Parameters not published.
resumeFalconGuardProtectionResumes protection for one or multiple locations in Falcon Guard that were previously paused. You must provide either guardKey or placeId (or both). Use listLocalFalconGuardReports to find guard_key values for paused locations.
Parameters not published.
resumeLocalFalconCampaignResumes a campaign from a deactivated or paused status. Use listLocalFalconCampaignReports to find the campaign_key for the campaign you want to resume.
Parameters not published.
runLocalFalconCampaignManually triggers a campaign to run immediately. COSTS CREDITS — the total credits required will be checked against your available credits. Use listLocalFalconCampaignReports to find the campaign_key for the campaign you want to run. IMPORTANT: Campaign runs trigger multiple scans and can take minutes to hours to complete depending on the number of locations and keywords. If the response says
Parameters not published.
runLocalFalconScanRuns a new ranking scan for a business. COSTS CREDITS — always confirm with the user before running. Requires: Place ID (business must be saved first), keyword, center coordinates (lat/lng), grid size, radius, measurement unit, and platform. Available platforms: google (Maps), apple (Apple Maps), gaio (Google AI Overviews), chatgpt (ChatGPT), gemini (Gemini), grok (Grok), aimode (Google AI Mode). Enable aiAnalysis for AI-generated insights on the results (Google Maps only). Grid size and radius should match the business type and service area. IMPORTANT: Scans take 30 seconds to several minutes to complete depending on grid size and queue load. If the response says
Parameters not published.
saveLocalFalconBusinessLocationToAccountSaves a business location to your Local Falcon account. This is required to run a scan if it doesn
Parameters not published.
searchForLocalFalconBusinessLocationSearches for business locations on the specified platform. Returns a list of locations that match the search term.
Parameters not published.
searchLocalFalconKnowledgeBaseSearches the Local Falcon Knowledge Base for help articles, how-to guides, and platform documentation. USE THIS TOOL when a user asks how to do something in Local Falcon, needs help understanding a feature, wants setup or configuration instructions, or is looking for best practices and tips. This is the go-to tool for any
Parameters not published.
updateLocalFalconCampaignEdits an existing campaign in Local Falcon. The required additional fields depend on the action:
Parameters not published.
viewLocalFalconAccountInformationRetrieves Local Falcon account information. Returns user, credit package, subscription, and credits.
Parameters not published.
Ask AI
Ask AI about MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository just now. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Local Falcon MCP Server
AI Visibility and Local Search Intelligence MCP Server
Local Falcon is an AI visibility and local search intelligence platform that tracks business visibility across AI search platforms, Google Maps, and Apple Maps. This MCP server is implemented in TypeScript using the official MCP SDK and exposes Local Falcon scanning, tracking, reporting, and connected Google Business Profile management to MCP clients.
Features
- MCP tools for scanning, reporting, campaign management, competitor analysis, reviews, Falcon Guard monitoring, and Google Business Profile management
- Interactive MCP Apps widget — geo-grid heatmap with Google Maps, colored rank pins, and clickable detail panels
- OAuth 2.1 with PKCE, refresh token support, and dynamic client registration
- Explicit tool annotations —
readOnlyHint,destructiveHint, andopenWorldHintdescribe each tool's effects and scope - Multi-platform — Google Maps, Apple Maps, ChatGPT, Gemini, Google AI Overviews, AI Mode
- ChatGPT MCP connector compatible — OAuth scope alignment, widget sandbox domain, structured content parsing
- HTML sanitizer for AI scrape content displayed in the heatmap widget
Prerequisites
- Node.js (install the LTS version)
Authentication
OAuth (Recommended)
OAuth is the recommended way to connect to the Local Falcon MCP server. It provides a secure, token-based authentication flow — no API key management required. You'll be redirected to Local Falcon to authorize access, and tokens are handled automatically.
- Set the URL to
https://mcp.localfalcon.com/mcp - Set Authentication to OAuth
- Leave Client ID and Client Secret empty — the server handles client registration automatically
- Connect and authorize when redirected to Local Falcon
Bearer Token
If your MCP client does not support OAuth, you can use your Local Falcon API key as a Bearer token.
- Set the URL to
https://mcp.localfalcon.com/mcp - Set Authentication to Bearer Token
- Enter your Local Falcon API key as the token value
API Key via Query String
If your MCP client does not support OAuth or Bearer Token authentication, you can pass your API key directly in the URL:
https://mcp.localfalcon.com/mcp?local_falcon_api_key=INSERT_YOUR_API_KEY_HERE
Running via Remote (HTTP)
For MCP clients that use mcp-remote (all platforms):
{
"mcpServers": {
"local-falcon-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.localfalcon.com/mcp?local_falcon_api_key=INSERT_YOUR_API_KEY_HERE"
]
}
}
}
Running via Remote (SSE — Legacy)
The /sse endpoint is considered legacy and will be removed in a future version. Use the /mcp endpoint instead.
{
"mcpServers": {
"local-falcon-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.localfalcon.com/sse?local_falcon_api_key=INSERT_YOUR_API_KEY_HERE"
]
}
}
}
Running via STDIO
One-click install: Download the latest .mcpb bundle from Releases and open it in Claude Desktop. For manual installation, follow the steps below.
For local installations, first install the package:
mkdir lf-mcp
cd lf-mcp
npm i @local-falcon/mcp
For MacOS/Unix:
{
"mcpServers": {
"local-falcon-mcp": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/lf-mcp/node_modules/@local-falcon/mcp/dist/index.js"],
"env": {
"LOCAL_FALCON_API_KEY": "INSERT_YOUR_API_KEY_HERE"
}
}
}
}
For Windows:
{
"mcpServers": {
"local-falcon-mcp": {
"command": "node",
"args": ["C:\\Users\\YOUR_USERNAME\\lf-mcp\\node_modules\\@local-falcon\\mcp\\dist\\index.js"],
"env": {
"LOCAL_FALCON_API_KEY": "INSERT_YOUR_API_KEY_HERE"
}
}
}
}
MCP Apps
The server includes an interactive MCP Apps widget that renders inside supported AI clients (Claude, ChatGPT).
Geo-Grid Heatmap
When you call getLocalFalconReport, clients that support MCP Apps will display an interactive geo-grid heatmap widget featuring:
- Metrics bar — keyword, business name, grid size, ARP, ATRP, SoLV, scan date
- Google Maps — full interactive map with colored rank pins (green = rank 1, red = rank 9+)
- Detail panel — click any pin to see the full business listing at that grid point with ratings, reviews, categories, and AI scrape content
- HTML sanitizer — AI scrape content is sanitized with an allowlist of safe tags, attributes, and image domains before rendering
The widget is built as a single-file HTML application using Vite and served as an MCP App resource.
Deployment profiles
The same https://mcp.localfalcon.com/mcp endpoint automatically exposes 57 tools to authenticated sessions identified as ChatGPT and 60 tools to other MCP clients. Profile selection reuses the existing request-source attribution in requestSource.ts; there is no separate endpoint, deployment profile variable, or additional client detector. The profile is bound to the authenticated session, and recognized ChatGPT API calls retain request_source=chatgpt downstream.
Session profiles are bound after authentication and ownership checks. Established ChatGPT sessions retain their attribution when later signals are missing or weaker. A later normal-to-ChatGPT change requires a fresh initialization before more tools can run. Recovery retains the profile while its credential-bound record remains in memory (up to 24 hours, bounded by capacity); after a process restart or record expiry/eviction, clients must initialize again. Legacy SSE waits for initialization before registering its tools.
The ChatGPT profile does not register getLocalFalconGoogleBusinessLocations, getLocalFalconRankingAtCoordinate, or getLocalFalconKeywordAtCoordinate, because these On-Demand tools record separately billable usage. The normal profile and On-Demand API retain those capabilities. getLocalFalconGrid remains available in both profiles, as does searchForLocalFalconBusinessLocation, which costs exactly 2 existing credits per successful search.
The ChatGPT profile is an existing-account integration. It may use existing account entitlements and credits, but must not buy credits, trigger Auto Recharge, initiate checkout, change subscriptions, promote upgrades, or cause separate monetary usage charges. A neutral informational link to plans and entitlements is allowed. ChatGPT responses normalize Local Falcon failures, remove transactional account copy/links, and exclude Knowledge Base article IDs 15, 16, 23, 37, 57, and 81 from search and direct retrieval. Normal-profile KB access is unchanged; articles 28, 50, and 58 remain available.
ChatGPT deployment checklist
- Deploy the reviewed MCP code to the existing service and use the same
/mcpURL for ChatGPT and other clients. - Verify authenticated
tools/listwith ChatGPT-attributed and other-client sessions against the expected profiles. Confirm that the three excluded tools cannot be called directly from ChatGPT sessions. - Submission gate: Pia must deploy and verify the remaining scheduled-campaign no-Auto-Recharge protection in LF.api/LF.internal before final OpenAI submission. MCP response filtering and profile selection do not themselves prove backend charge isolation.
- Shaun/Pia must review and deploy the separate LF.app OAuth entitlement wording changes. They are not deployed with the MCP service.
These are deployment instructions, not a record of production changes. The implementation work does not change production infrastructure or deploy either application.
Tools
All tools explicitly declare the three MCP annotation hints. Hints describe behavior; they are not a substitute for authorization or confirmation of consequential actions.
| Annotation | Meaning in this server |
|---|---|
readOnlyHint: true |
Retrieves data without changing state or consuming credits/billable usage. |
destructiveHint: true |
Spends credits, enables future credit use, or overwrites/removes existing state. Reversibility alone does not make an update non-destructive. |
openWorldHint: false |
Interacts with bounded account data, connected GBP reads, the fixed Local Falcon KB, or local grid arithmetic. Data's historical origin does not determine this hint. |
openWorldHint: true |
Searches open public systems, schedules/runs public scans, or publishes/edits a public GBP. |
Scan Reports
- listLocalFalconScanReports: Lists all existing scan reports. Check here first before running new scans to avoid duplicates.
- getLocalFalconReport: Retrieves a specific scan report by report key (e.g.,
https://www.localfalcon.com/reports/view/XXXXX). Renders an interactive geo-grid heatmap in MCP Apps-capable clients. - runLocalFalconScan: Runs a new scan at the specified coordinates to get ranking data for a business.
Campaign Management
- listLocalFalconCampaignReports: Lists all campaign reports. Campaigns track rankings at scale with scheduled scans.
- getLocalFalconCampaignReport: Retrieves a specific campaign report (e.g.,
https://www.localfalcon.com/campaigns/view/XXXXX). - createLocalFalconCampaign: Creates a new campaign with scheduled recurring scans.
- updateLocalFalconCampaign: Edits an existing campaign — settings, locations or keywords.
- runLocalFalconCampaign: Manually triggers a campaign to run immediately.
- pauseLocalFalconCampaign: Pauses a campaign's scheduled runs.
- resumeLocalFalconCampaign: Resumes a paused campaign.
- reactivateLocalFalconCampaign: Reactivates a campaign deactivated due to insufficient credits.
Reviews Analysis
- listLocalFalconReviewsAnalysisReports: Lists all Reviews Analysis reports with AI-powered review insights.
- getLocalFalconReviewsAnalysisReport: Retrieves a specific Reviews Analysis report.
Falcon Guard (GBP Monitoring)
- listLocalFalconGuardReports: Lists Falcon Guard reports for monitored locations.
- getLocalFalconGuardReport: Retrieves a specific Falcon Guard report by place_id.
- addLocationsToFalconGuard: Adds locations to Falcon Guard protection.
- pauseFalconGuardProtection: Pauses protection for specified locations.
- resumeFalconGuardProtection: Resumes protection for paused locations.
- removeFalconGuardProtection: Removes locations from Falcon Guard entirely.
Trend Reports
- listLocalFalconTrendReports: Lists auto-generated trend reports showing ranking changes over time.
- getLocalFalconTrendReport: Retrieves a specific trend report (e.g.,
https://www.localfalcon.com/reports/trend/view/XXXXX).
Auto Scans
- listLocalFalconAutoScans: Lists individually scheduled automatic scans (not campaign-based).
Location Reports
- listLocalFalconLocationReports: Lists auto-generated reports aggregating scans for specific locations.
- getLocalFalconLocationReport: Retrieves a specific location report (e.g.,
https://www.localfalcon.com/reports/location/view/XXXXX).
Keyword Reports
- listLocalFalconKeywordReports: Lists auto-generated reports aggregating scans for specific keywords.
- getLocalFalconKeywordReport: Retrieves a specific keyword report (e.g.,
https://www.localfalcon.com/reports/keyword/view/XXXXX).
Competitor Reports
- getLocalFalconCompetitorReports: Lists auto-generated competitor analysis reports.
- getLocalFalconCompetitorReport: Retrieves a specific competitor report (e.g.,
https://www.localfalcon.com/reports/competitor/view/XXXXX).
Location Management
- listAllLocalFalconLocations: Lists all business locations saved in your account.
- listLocalFalconLocationGroups: Lists saved location groups in the account.
- getLocalFalconGoogleBusinessLocations: Searches Google for business listings to find Place IDs.
- searchForLocalFalconBusinessLocation: Searches for business locations on Google or Apple platforms. Costs 2 existing Local Falcon credits per successful search.
- saveLocalFalconBusinessLocationToAccount: Saves a business location to your account.
On-Demand Tools
- getLocalFalconGrid: Helper tool that generates grid coordinates for single-point checks.
- getLocalFalconRankingAtCoordinate: Single-point ranking check at one coordinate.
- getLocalFalconKeywordAtCoordinate: Single-point keyword search at one coordinate.
Knowledge Base
- searchLocalFalconKnowledgeBase: Searches the Local Falcon Knowledge Base for help articles, how-to guides, and platform documentation.
- getLocalFalconKnowledgeBaseArticle: Retrieves the full content of a specific Knowledge Base article by ID.
Account
- viewLocalFalconAccountInformation: Retrieves account info including user, credits, and subscription details.
Manage Google Business Profile
Act on the live Google Business Profile behind a location, not on Local Falcon report data. All require the location to be connected to a Google account in your Local Falcon dashboard.
- getLocalFalconGbpProfile: Retrieves the live profile — name, address, phone, categories, hours, website, open status.
- getLocalFalconGbpGoogleUpdates: Retrieves Google's pending version of the profile, for spotting unapplied Google-suggested edits.
- getLocalFalconGbpVerificationStatus: Checks Google verification state. Unverified or suspended profiles rank poorly or not at all.
- getLocalFalconGbpAttributes: Lists attributes currently set on the profile.
- getLocalFalconGbpAvailableAttributes: Lists attributes Google permits for a category, with expected value types.
- listLocalFalconGbpServices: Lists services on the profile, with descriptions and prices.
- getLocalFalconGbpPerformanceMetrics: Google's own engagement metrics — impressions, calls, website clicks, direction requests.
- listLocalFalconGbpPosts: Lists profile posts (updates, events, offers, alerts).
- listLocalFalconGbpMedia: Lists owner-uploaded photos and videos, filterable by category.
- listLocalFalconGbpCustomerMedia: Lists customer-uploaded photos and videos.
- listLocalFalconGbpReviews: Lists Google reviews and owner replies. Filter by rating or unanswered.
- listLocalFalconGbpActionLinks: Lists action links (booking, ordering, appointments).
- getLocalFalconGbpAvailableActionTypes: Lists action link types the profile supports.
- searchLocalFalconGbpCategories: Searches Google's category taxonomy for
gcid:identifiers. - searchLocalFalconGbpChains: Searches Google's chain directory.
- manageLocalFalconGbpPosts: Creates, updates or deletes a post. Writes live to Google.
- manageLocalFalconGbpMedia: Adds, recategorises or deletes owner media. Writes live to Google.
- manageLocalFalconGbpReviewReplies: Publishes or deletes public replies to reviews, singly or up to 50 at once.
- manageLocalFalconGbpActionLinks: Adds, updates or removes action links.
- manageLocalFalconGbpServices: Adds, removes or wholesale-replaces services.
replaceoverwrites the entire list. - updateLocalFalconGbpProfile: Updates core details, hours, open status or attributes.
CLOSED_PERMANENTLYis effectively irreversible.
Skills
This repo includes two AI skills under skills/:
| Skill | Path | Description |
|---|---|---|
| Local Falcon MCP | skills/local-falcon-mcp/ |
MCP tool usage guidance for the ChatGPT profile |
| Local Visibility | skills/local-visibility-skill/ |
General AI visibility & local SEO strategy — platform analysis, metrics interpretation, prompt templates |
For Developers
Note: End users only need Node.js (LTS) and npm to install and run this server. The instructions below are for contributors and developers working on the source code.
Prerequisites
- Node.js 18+ (LTS recommended)
- npm (included with Node.js)
Build
npm install
npm run build
The build compiles TypeScript to dist/ and builds the MCP Apps UI widget to dist/ui/.
Run MCP Inspector
npm run inspector
Run MCP Server
npm run start # STDIO mode (default)
npm run start:sse # SSE mode with OAuth
npm run start:http # HTTP mode with OAuth
npm run start:HTTPAndSSE # Both SSE and HTTP
License
MIT
Acknowledgments
- Local Falcon API Documentation
- Model Context Protocol (MCP)
- @modelcontextprotocol/sdk (Anthropic MCP SDK)
- @modelcontextprotocol/ext-apps (MCP Apps SDK)
README fetched from the repository just now. The original is authoritative.