-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Summary
late-sdk[mcp] v1.2.27 fails to start due to syntax errors in auto-generated Google Business (GMB) function names in late/mcp/generated_tools.py. Spaces appear where underscores should be, making the entire MCP server unusable.
Error
$ uvx --from "late-sdk[mcp]" late-mcp
Traceback (most recent call last):
File ".../late/mcp/server.py", line 796, in <module>
from .generated_tools import register_generated_tools
File ".../late/mcp/generated_tools.py", line 1005
def gmb attributes_get_google_business_attributes(account_id: str) -> str:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: expected '('
Root Cause
late/mcp/generated_tools.py contains 12 function definitions and 12 method calls with spaces in identifiers where underscores are needed. This appears to be a code generation issue — the GMB resource names (gmb attributes, gmb food menus, etc.) are being inserted with spaces instead of being converted to valid Python identifiers.
Affected Identifiers
Function definitions (12 total)
| Broken | Should Be |
|---|---|
def gmb attributes_get_google_business_attributes |
def gmb_attributes_get_google_business_attributes |
def gmb attributes_update_google_business_attributes |
def gmb_attributes_update_google_business_attributes |
def gmb food menus_get_google_business_food_menus |
def gmb_food_menus_get_google_business_food_menus |
def gmb food menus_update_google_business_food_menus |
def gmb_food_menus_update_google_business_food_menus |
def gmb location details_get_google_business_location_details |
def gmb_location_details_get_google_business_location_details |
def gmb location details_update_google_business_location_details |
def gmb_location_details_update_google_business_location_details |
def gmb media_list_google_business_media |
def gmb_media_list_google_business_media |
def gmb media_create_google_business_media |
def gmb_media_create_google_business_media |
def gmb media_delete_google_business_media |
def gmb_media_delete_google_business_media |
def gmb place actions_list_google_business_place_actions |
def gmb_place_actions_list_google_business_place_actions |
def gmb place actions_create_google_business_place_action |
def gmb_place_actions_create_google_business_place_action |
def gmb place actions_delete_google_business_place_action |
def gmb_place_actions_delete_google_business_place_action |
Method calls (12 total, same pattern)
# Broken
response = client.gmb attributes.get_google_business_attributes(...)
response = client.gmb food menus.get_google_business_food_menus(...)
response = client.gmb location details.get_google_business_location_details(...)
response = client.gmb media.list_google_business_media(...)
response = client.gmb place actions.list_google_business_place_actions(...)
# Fixed
response = client.gmb_attributes.get_google_business_attributes(...)
response = client.gmb_food_menus.get_google_business_food_menus(...)
response = client.gmb_location_details.get_google_business_location_details(...)
response = client.gmb_media.list_google_business_media(...)
response = client.gmb_place_actions.list_google_business_place_actions(...)Suggested Fix
In the code generator that produces generated_tools.py, ensure resource names are sanitized to valid Python identifiers by replacing spaces with underscores:
resource_name = resource_name.replace(" ", "_")Environment
late-sdkversion: 1.2.27 (latest on PyPI)- Python: 3.13 (via uvx)
- OS: macOS (Darwin 25.2.0)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels