├── .coveragerc ├── .gitignore ├── .mcp.json ├── AGENTS.md ├── CLAUDE.md ├── DESIGN_SPECIFICATION.md ├── LICENSE ├── README.md ├── constitution.md ├── pyproject.toml ├── pytest.ini ├── requirements-dev.txt ├── requirements.txt ├── samples ├── wall_fire_rating.ids └── walls-fire-rating.ifc ├── specs ├── 001-project-setup │ └── plan.md ├── 002-session-management │ └── plan.md ├── 003-document-management │ └── plan.md ├── 004-specification-management │ └── plan.md ├── 005-basic-facets │ └── plan.md ├── 006-advanced-facets │ └── plan.md ├── 007-restrictions │ └── plan.md ├── 008-validation │ └── plan.md └── 009-testing-framework │ └── plan.md ├── src └── ids_mcp_server │ ├── __init__.py │ ├── __main__.py │ ├── config.py │ ├── server.py │ ├── session │ ├── __init__.py │ ├── cleanup.py │ ├── manager.py │ ├── models.py │ └── storage.py │ ├── tools │ ├── __init__.py │ ├── document.py │ ├── facets.py │ ├── restrictions.py │ ├── specification.py │ ├── validation.py │ └── validators.py │ └── version.py ├── tests ├── __init__.py ├── component │ ├── __init__.py │ ├── test_coverage_boosters.py │ ├── test_edge_cases.py │ └── test_error_handling.py ├── conftest.py ├── integration │ ├── __init__.py │ ├── test_complete_workflows.py │ └── test_restriction_workflows.py ├── unit │ ├── __init__.py │ ├── session │ │ ├── __init__.py │ │ ├── test_cleanup.py │ │ ├── test_manager.py │ │ └── test_storage.py │ ├── test_config.py │ ├── test_main.py │ ├── test_project_structure.py │ └── tools │ │ ├── __init__.py │ │ ├── test_document_tools.py │ │ ├── test_facet_tools.py │ │ ├── test_restriction_tools.py │ │ ├── test_specification_tools.py │ │ ├── test_validation_tools.py │ │ └── test_validators.py └── validation │ ├── __init__.py │ ├── fixtures │ ├── invalid_ids_files │ │ ├── missing_title.ids │ │ └── no_applicability.ids │ └── valid_ids_files │ │ └── simple_wall_requirement.ids │ └── test_xsd_compliance.py └── uv.lock /.coveragerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/.coveragerc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/.gitignore -------------------------------------------------------------------------------- /.mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/.mcp.json -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/AGENTS.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /DESIGN_SPECIFICATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/DESIGN_SPECIFICATION.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/README.md -------------------------------------------------------------------------------- /constitution.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/constitution.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/requirements.txt -------------------------------------------------------------------------------- /samples/wall_fire_rating.ids: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/samples/wall_fire_rating.ids -------------------------------------------------------------------------------- /samples/walls-fire-rating.ifc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/samples/walls-fire-rating.ifc -------------------------------------------------------------------------------- /specs/001-project-setup/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/001-project-setup/plan.md -------------------------------------------------------------------------------- /specs/002-session-management/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/002-session-management/plan.md -------------------------------------------------------------------------------- /specs/003-document-management/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/003-document-management/plan.md -------------------------------------------------------------------------------- /specs/004-specification-management/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/004-specification-management/plan.md -------------------------------------------------------------------------------- /specs/005-basic-facets/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/005-basic-facets/plan.md -------------------------------------------------------------------------------- /specs/006-advanced-facets/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/006-advanced-facets/plan.md -------------------------------------------------------------------------------- /specs/007-restrictions/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/007-restrictions/plan.md -------------------------------------------------------------------------------- /specs/008-validation/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/008-validation/plan.md -------------------------------------------------------------------------------- /specs/009-testing-framework/plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/specs/009-testing-framework/plan.md -------------------------------------------------------------------------------- /src/ids_mcp_server/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/__init__.py -------------------------------------------------------------------------------- /src/ids_mcp_server/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/__main__.py -------------------------------------------------------------------------------- /src/ids_mcp_server/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/config.py -------------------------------------------------------------------------------- /src/ids_mcp_server/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/server.py -------------------------------------------------------------------------------- /src/ids_mcp_server/session/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/session/__init__.py -------------------------------------------------------------------------------- /src/ids_mcp_server/session/cleanup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/session/cleanup.py -------------------------------------------------------------------------------- /src/ids_mcp_server/session/manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/session/manager.py -------------------------------------------------------------------------------- /src/ids_mcp_server/session/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/session/models.py -------------------------------------------------------------------------------- /src/ids_mcp_server/session/storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/session/storage.py -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/__init__.py: -------------------------------------------------------------------------------- 1 | """MCP tools for IDS document creation and management.""" 2 | 3 | __all__ = [] 4 | -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/document.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/tools/document.py -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/facets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/tools/facets.py -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/restrictions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/tools/restrictions.py -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/specification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/tools/specification.py -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/tools/validation.py -------------------------------------------------------------------------------- /src/ids_mcp_server/tools/validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/tools/validators.py -------------------------------------------------------------------------------- /src/ids_mcp_server/version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/src/ids_mcp_server/version.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | """Test suite for IDS MCP Server.""" 2 | -------------------------------------------------------------------------------- /tests/component/__init__.py: -------------------------------------------------------------------------------- 1 | """Component tests.""" 2 | -------------------------------------------------------------------------------- /tests/component/test_coverage_boosters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/component/test_coverage_boosters.py -------------------------------------------------------------------------------- /tests/component/test_edge_cases.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/component/test_edge_cases.py -------------------------------------------------------------------------------- /tests/component/test_error_handling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/component/test_error_handling.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | """Integration tests.""" 2 | -------------------------------------------------------------------------------- /tests/integration/test_complete_workflows.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/integration/test_complete_workflows.py -------------------------------------------------------------------------------- /tests/integration/test_restriction_workflows.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/integration/test_restriction_workflows.py -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | """Unit tests.""" 2 | -------------------------------------------------------------------------------- /tests/unit/session/__init__.py: -------------------------------------------------------------------------------- 1 | """Session unit tests.""" 2 | -------------------------------------------------------------------------------- /tests/unit/session/test_cleanup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/session/test_cleanup.py -------------------------------------------------------------------------------- /tests/unit/session/test_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/session/test_manager.py -------------------------------------------------------------------------------- /tests/unit/session/test_storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/session/test_storage.py -------------------------------------------------------------------------------- /tests/unit/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/test_config.py -------------------------------------------------------------------------------- /tests/unit/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/test_main.py -------------------------------------------------------------------------------- /tests/unit/test_project_structure.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/test_project_structure.py -------------------------------------------------------------------------------- /tests/unit/tools/__init__.py: -------------------------------------------------------------------------------- 1 | """Tools unit tests.""" 2 | -------------------------------------------------------------------------------- /tests/unit/tools/test_document_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/tools/test_document_tools.py -------------------------------------------------------------------------------- /tests/unit/tools/test_facet_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/tools/test_facet_tools.py -------------------------------------------------------------------------------- /tests/unit/tools/test_restriction_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/tools/test_restriction_tools.py -------------------------------------------------------------------------------- /tests/unit/tools/test_specification_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/tools/test_specification_tools.py -------------------------------------------------------------------------------- /tests/unit/tools/test_validation_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/tools/test_validation_tools.py -------------------------------------------------------------------------------- /tests/unit/tools/test_validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/unit/tools/test_validators.py -------------------------------------------------------------------------------- /tests/validation/__init__.py: -------------------------------------------------------------------------------- 1 | """Validation tests.""" 2 | -------------------------------------------------------------------------------- /tests/validation/fixtures/invalid_ids_files/missing_title.ids: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/validation/fixtures/invalid_ids_files/missing_title.ids -------------------------------------------------------------------------------- /tests/validation/fixtures/invalid_ids_files/no_applicability.ids: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/validation/fixtures/invalid_ids_files/no_applicability.ids -------------------------------------------------------------------------------- /tests/validation/fixtures/valid_ids_files/simple_wall_requirement.ids: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/validation/fixtures/valid_ids_files/simple_wall_requirement.ids -------------------------------------------------------------------------------- /tests/validation/test_xsd_compliance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/tests/validation/test_xsd_compliance.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vinnividivicci/ifc-ids-mcp/HEAD/uv.lock --------------------------------------------------------------------------------