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 - 'xmlrpc' (default), 'socket', or 'embedded'. |
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). |
bridge_client_id | str | None | Identifier of an explicitly configured bridge client. |
bridge_secret | SecretStr | None | Shared bridge credential, redacted from configuration output. |
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_host | Annotated[str, Field(description='HTTP server bind address')] | Bind address for HTTP transport. |
http_port | Annotated[int, Field(ge=1, le=65535, description='HTTP server port')] | Port for HTTP transport. |
http_allowed_hosts | list[str] | Accepted HTTP Host header values. |
http_allowed_origins | list[str] | Accepted browser Origin header values. |
log_level | str | Logging level. |
Source code in src/freecad_mcp/config.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | |
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