How teknovizier/tekla_mcp_server works
Tekla MCP Server exposes Tekla Structures modeling and drawing capabilities to MCP clients through modular tool and resource providers. A typical workflow is a client request routed by the server to a provider, which uses Tekla wrappers and OpenAPI to query or modify the active model and returns a result. The README also documents resource discovery, component plugins, semantic property mapping, and read-only/category access controls. Connections below follow the README and source-index references; unsampled provider internals are not assumed.
Main entry points: mcp_server.py MCP server · drawings_provider.py Drawing tools · model.py Model connection · model_object.py Model objects
Components 26
MCP entry and policy
- MCP server
src/tekla_mcp_server/mcp_server.py - Configuration
src/tekla_mcp_server/config.py - Runtime initialization
src/tekla_mcp_server/init.py
MCP capabilities
- Resource discovery
src/tekla_mcp_server/providers/resources_provider.py - Selection tools
src/tekla_mcp_server/providers/selection_provider.py - View tools
src/tekla_mcp_server/providers/view_provider.py - Property tools
src/tekla_mcp_server/providers/properties_provider.py - Component tools
src/tekla_mcp_server/providers/components_provider.py - Model operations
src/tekla_mcp_server/providers/operations_provider.py - Modeling tools
src/tekla_mcp_server/providers/modeling_provider.py - Drawing tools
src/tekla_mcp_server/providers/drawings_provider.py
Tekla integration
- Model connection
src/tekla_mcp_server/tekla/wrappers/model.py - Model objects
src/tekla_mcp_server/tekla/wrappers/model_object.py - Drawing objects
src/tekla_mcp_server/tekla/wrappers/drawing.py - Drawing handler
src/tekla_mcp_server/tekla/wrappers/drawing_handler.py
Domain support
- Domain models
src/tekla_mcp_server/models.py - Component plugins
src/tekla_mcp_server/tekla/component_handlers.py - Semantic mapping
src/tekla_mcp_server/tekla/template_attrs_parser.py - Embedding support
src/tekla_mcp_server/embeddings.py - Drawing utilities
src/tekla_mcp_server/tekla/drawing_utils.py - DXF operations
src/tekla_mcp_server/dxf_operations.py - Clash checks
src/tekla_mcp_server/tekla/clash_check.py - Filter builder
src/tekla_mcp_server/tekla/filter_builder.py - OpenAPI loader
src/tekla_mcp_server/tekla/loader.py
Other components
- MCP client
- Tekla OpenAPI
Connections 45
- MCP client → MCP server: sends requests
README.md - MCP server → Selection tools: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → View tools: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → Property tools: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → Component tools: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → Model operations: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → Modeling tools: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → Drawing tools: registers tools
src/tekla_mcp_server/mcp_server.py - MCP server → Resource discovery: registers resources
src/tekla_mcp_server/mcp_server.py - MCP server → Configuration: loads policy
src/tekla_mcp_server/mcp_server.py - MCP server → Runtime initialization: initializes runtime
src/tekla_mcp_server/mcp_server.py - Configuration → Runtime initialization: configures loading
src/tekla_mcp_server/config.py - Component tools → Model connection: uses wrapper
src/tekla_mcp_server/providers/components_provider.py - Component tools → Model objects: uses wrapper
src/tekla_mcp_server/providers/components_provider.py - Component tools → Component plugins: dispatches plugins
src/tekla_mcp_server/providers/components_provider.py - Property tools → Model connection: uses wrapper
src/tekla_mcp_server/providers/properties_provider.py - Property tools → Model objects: uses wrapper
src/tekla_mcp_server/providers/properties_provider.py - Property tools → Semantic mapping: resolves attributes
src/tekla_mcp_server/providers/properties_provider.py - Model operations → Model connection: uses wrapper
src/tekla_mcp_server/providers/operations_provider.py - Model operations → Model objects: uses wrapper
src/tekla_mcp_server/providers/operations_provider.py - Model operations → Clash checks: checks clashes
src/tekla_mcp_server/providers/operations_provider.py - Modeling tools → Model connection: uses wrapper
src/tekla_mcp_server/providers/modeling_provider.py - Modeling tools → Model objects: uses wrapper
src/tekla_mcp_server/providers/modeling_provider.py - Drawing tools → Drawing objects: uses wrapper
src/tekla_mcp_server/providers/drawings_provider.py - Drawing tools → Drawing handler: uses wrapper
src/tekla_mcp_server/providers/drawings_provider.py - Drawing tools → Drawing utilities: uses utilities
src/tekla_mcp_server/providers/drawings_provider.py - Drawing tools → DXF operations: uses DXF operations
src/tekla_mcp_server/providers/drawings_provider.py - Drawing tools → Model connection: uses wrapper
src/tekla_mcp_server/providers/drawings_provider.py - Drawing tools → Model objects: uses wrapper
src/tekla_mcp_server/providers/drawings_provider.py - Resource discovery → Model connection: uses wrapper
src/tekla_mcp_server/providers/resources_provider.py - Resource discovery → Configuration: reads settings
src/tekla_mcp_server/providers/resources_provider.py - Model connection → Tekla OpenAPI: connects to
src/tekla_mcp_server/tekla/wrappers/model.py - Model objects → Tekla OpenAPI: wraps objects
src/tekla_mcp_server/tekla/wrappers/model_object.py - Drawing handler → Tekla OpenAPI: controls drawings
src/tekla_mcp_server/tekla/wrappers/drawing_handler.py - Drawing handler → Drawing objects: wraps active drawing
src/tekla_mcp_server/tekla/wrappers/drawing_handler.py - Model connection → OpenAPI loader: imports API types
src/tekla_mcp_server/tekla/wrappers/model.py - Model objects → OpenAPI loader: imports API types
src/tekla_mcp_server/tekla/wrappers/model_object.py - Drawing objects → OpenAPI loader: imports API types
src/tekla_mcp_server/tekla/wrappers/drawing.py - Semantic mapping → Embedding support: uses embeddings
src/tekla_mcp_server/tekla/template_attrs_parser.py - MCP server → Semantic mapping: enables mapping
src/tekla_mcp_server/mcp_server.py - Component tools → Domain models: uses schemas
src/tekla_mcp_server/providers/components_provider.py - Property tools → Domain models: uses schemas
src/tekla_mcp_server/providers/properties_provider.py - Drawing tools → Domain models: uses schemas
src/tekla_mcp_server/providers/drawings_provider.py - Modeling tools → Domain models: uses schemas
src/tekla_mcp_server/providers/modeling_provider.py - Model operations → Domain models: uses schemas
src/tekla_mcp_server/providers/operations_provider.py