feat: lead the MCP tool list with what the globe shows

MCP no longer lists place search, routing, plain weather and wind, the
regional brief, the HUD caption, radio, bike share and transit. Assistants
already cover these or they add little without the globe; voice keeps them,
and tools that combine others still reach them.
This commit is contained in:
Sameh Khamis committed 2026-10-02 15:21:36 -07:00
1 parent d6473b6049
commit af8856cedf
3 files changed
+43 -13

No files matched your search

+16 -2
View File
@@ -2,6 +2,8 @@
* Which surfaces offer each tool. A tool is on every surface unless this
* table turns it off; edit an entry to turn a tool on or off for MCP, voice,
* or both. Applications can pass overrides when they compose a surface.
* Tools off a surface stay reachable from tools that combine others, such as
* situation_brief using get_weather.
*/
import { ToolError } from './catalog.js';
@@ -9,6 +11,7 @@ import { ToolError } from './catalog.js';
export const SURFACES = Object.freeze(['mcp', 'voice']);
const voiceOff = Object.freeze({ voice: false });
const mcpOff = Object.freeze({ mcp: false });
export const TOOL_SURFACES = Object.freeze({
// Voice runs inside the app, so a link to it adds nothing.
@@ -19,8 +22,8 @@ export const TOOL_SURFACES = Object.freeze({
get_weather_map: voiceOff,
get_recent_imagery: voiceOff,
get_cctv_snapshot: voiceOff,
// Voice shows the HUD caption in the app itself.
get_hud_caption: voiceOff,
// The app shows its HUD caption itself, and assistants write their own.
get_hud_caption: Object.freeze({ voice: false, mcp: false }),
// Voice answers these from the loaded layers with analyst_query.
aircraft_in_area: voiceOff,
vessels_in_area: voiceOff,
@@ -30,6 +33,17 @@ export const TOOL_SURFACES = Object.freeze({
get_active_fires: voiceOff,
find_infrastructure: voiceOff,
satellites_overhead: voiceOff,
// MCP leads with what the globe shows; assistants already search places,
// plan routes and report weather, and these layers add little in a chat.
search_places: mcpOff,
places_nearby: mcpOff,
plan_route: mcpOff,
get_weather: mcpOff,
get_wind: mcpOff,
get_regional_brief: mcpOff,
find_radio_stations: mcpOff,
get_bike_share: mcpOff,
get_transit_vehicles: mcpOff,
});
/**