mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-09 13:52:23 +00:00
fa1b70883f
mcp 2.0.0 (unpinned in CI and in the ifcmcp[mcp] extra) renamed mcp.server.fastmcp.FastMCP to mcp.server.mcpserver.MCPServer, which ifcmcp does not support yet. server.py caught the resulting ModuleNotFoundError with a bare except Exception and silently reported it as FastMCP not installed, masking the real breakage until the ifcmcp test suite failed in CI. Pinned mcp to >=1.0,<2 in both ci.yml and ifcmcp's pyproject.toml mcp extra, confirmed the full ifcmcp test suite (70 tests) passes against mcp 1.29.0, and confirmed the genuinely-not-installed path still raises the expected ImportError. Also narrowed the except clause to ImportError only so an unrelated future bug in that import block surfaces instead of being swallowed as "not installed". Generated with the assistance of an AI coding tool.
39 lines
1.0 KiB
TOML
39 lines
1.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "ifcopenshell-mcp"
|
|
version = "0.0.0"
|
|
authors = [
|
|
{ name="Bruno Postle", email="bruno@postle.net" },
|
|
]
|
|
description = "MCP server for querying and editing IFC building models"
|
|
readme = "README.md"
|
|
keywords = ["IFC", "BIM", "MCP"]
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
|
|
]
|
|
dependencies = ["ifcopenshell", "ifcquery", "ifcedit"]
|
|
|
|
[project.optional-dependencies]
|
|
# Pinned <2: mcp 2.0.0 renamed mcp.server.fastmcp.FastMCP to
|
|
# mcp.server.mcpserver.MCPServer, which this package doesn't support yet.
|
|
mcp = ["mcp>=1.0,<2"]
|
|
|
|
[project.scripts]
|
|
ifcmcp = "ifcmcp.__main__:main"
|
|
|
|
[project.urls]
|
|
Homepage = "http://ifcopenshell.org"
|
|
Documentation = "https://docs.ifcopenshell.org"
|
|
Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["ifcmcp*"]
|
|
exclude = ["test*"]
|
|
|
|
[tool.ruff]
|
|
extend = "../../pyproject.toml"
|