Configuration API Reference¶
freecad_mcp.config ¶
Configuration management for FreeCAD Robust MCP Server.
This module handles all configuration settings for the Robust MCP Server, including FreeCAD connection settings, execution limits, and logging.
Classes¶
FreecadMode ¶
ServerConfig ¶
Bases: BaseSettings
Configuration for the FreeCAD Robust MCP Server.
Settings are loaded from environment variables with the FREECAD_ prefix. For example, FREECAD_MODE sets the mode field.
Attributes:
| Name | Type | Description |
|---|---|---|
mode | FreecadMode | Connection mode - 'embedded', 'socket', or 'xmlrpc'. |
freecad_path | Annotated[Path | None, Field(description="Path to FreeCAD's lib directory", alias=FREECAD_PATH)] | Path to FreeCAD's lib directory (for embedded mode). |
socket_host | Annotated[str, Field(description='Socket/XML-RPC server hostname')] | Hostname for socket/xmlrpc connection. |
socket_port | Annotated[int, Field(ge=1, le=65535, description='Socket server port (JSON-RPC)')] | Port for JSON-RPC socket connection (default 9876). |
xmlrpc_port | Annotated[int, Field(ge=1, le=65535, description='XML-RPC server port (neka-nat compatible)')] | Port for XML-RPC connection (default 9875, neka-nat compatible). |
timeout_ms | Annotated[int, Field(ge=1000, le=600000, description='Execution timeout in ms')] | Default execution timeout in milliseconds. |
max_output_size | Annotated[int, Field(ge=1000, description='Maximum output size in bytes')] | Maximum output size in bytes. |
transport | TransportType | MCP transport type. |
http_port | Annotated[int, Field(ge=1, le=65535, description='HTTP server port')] | Port for HTTP transport. |
log_level | str | Logging level. |
Source code in src/freecad_mcp/config.py
TransportType ¶
Functions¶
get_config() ¶
Get the server configuration.
Returns:
| Type | Description |
|---|---|
ServerConfig | ServerConfig instance populated from environment variables. |
options: show_root_heading: true show_source: true