Bim2sim
БесплатноНе проверенMCP server for BIM-to-building-energy simulation workflows with IFC extraction, TEASER integration, scenario modeling, weather binding, and results export for d
Описание
MCP server for BIM-to-building-energy simulation workflows with IFC extraction, TEASER integration, scenario modeling, weather binding, and results export for downstream WAT/ROI analysis.
README
CI PyPI version Python 3.12+ License: MIT
MCP server for BIM-to-building-energy simulation workflows with IFC extraction, TEASER integration, scenario modeling, weather binding, and results export for downstream WAT/ROI analysis
Built with FastMCP and mcp-refcache for efficient handling of large data in AI agent tools.
Features
✅ Reference-Based Caching - Return references instead of large data, reducing context window usage
✅ Preview Generation - Automatic previews for large results (sample, truncate, paginate strategies)
✅ Pagination - Navigate large datasets without loading everything at once
✅ Access Control - Separate user and agent permissions for sensitive data
✅ Private Computation - Let agents compute with values they cannot see
✅ Docker Ready - Production-ready containers with Python slim base image
✅ GitHub Actions - CI/CD with PyPI publishing and GHCR containers
✅ Langfuse Tracing - Built-in observability integration
✅ Type-Safe - Full type hints with Pydantic models
✅ Testing Ready - pytest with 73% coverage requirement
✅ Pre-commit Hooks - Ruff formatting and linting
Quick Start
Prerequisites
- Python 3.12+
- uv (recommended) or pip
Installation
# Clone the repository
git clone https://github.com/l4b4r4b4b4/bim2sim-mcp
cd bim2sim-mcp
# Install dependencies
uv sync
# Run the server (stdio mode for Claude Desktop)
uv run bim2sim-mcp
# Run the server (SSE/HTTP mode for deployment)
uv run bim2sim-mcp --transport sse --port 8000
Install from PyPI
# Run directly with uvx (no install needed)
uvx bim2sim-mcp stdio
# Or install globally
uv tool install bim2sim-mcp
bim2sim-mcp --help
Docker Deployment
# Pull and run from GHCR
docker pull ghcr.io/l4b4r4b4b4/bim2sim-mcp:latest
docker run -p 8000:8000 ghcr.io/l4b4r4b4b4/bim2sim-mcp:latest
# Or build locally with Docker Compose
docker compose up
# Build images manually
docker compose --profile build build base
docker compose build
Using with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"bim2sim-mcp": {
"command": "uv",
"args": ["run", "bim2sim-mcp"],
"cwd": "/path/to/bim2sim-mcp"
}
}
}
Using with Zed
The project includes .zed/settings.json pre-configured for MCP context servers.
Project Structure
bim2sim-mcp/
├── app/ # Application code
│ ├── __init__.py # Version export
│ ├── server.py # Main server with tools
│ ├── tools/ # Tool modules
│ └── __main__.py # CLI entry point
├── tests/ # Test suite
│ ├── conftest.py # Pytest fixtures
│ └── test_server.py # Server tests
├── docker/
│ ├── Dockerfile.base # Python slim base image with dependencies
│ ├── Dockerfile # Production image (extends base)
│ └── Dockerfile.dev # Development with hot reload
├── .github/
│ └── workflows/
│ ├── ci.yml # CI pipeline (lint, test, security)
│ ├── publish.yml # PyPI trusted publisher
│ └── release.yml # Docker build & publish to GHCR
├── .agent/ # AI assistant workspace
│ └── goals/
│ └── 00-Template-Goal/ # Goal tracking template
├── pyproject.toml # Project config
├── docker-compose.yml # Local development & production
├── flake.nix # Nix dev shell
└── .rules # AI assistant guidelines
Development
Setup
# Install dependencies
uv sync
# Install pre-commit and pre-push hooks
uv run pre-commit install --install-hooks
uv run pre-commit install --hook-type pre-push
Running Tests
uv run pytest
uv run pytest --cov # With coverage
Linting and Formatting
uv run ruff check . --fix
uv run ruff format .
Type Checking
uv run mypy app/
Docker Development
# Run development container with hot reload
docker compose --profile dev up
# Build base image (for publishing)
docker compose --profile build build base
# Build all images
docker compose build
Using Nix (Optional)
nix develop # Enter dev shell with all tools
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
LANGFUSE_PUBLIC_KEY |
Langfuse public key | - |
LANGFUSE_SECRET_KEY |
Langfuse secret key | - |
LANGFUSE_HOST |
Langfuse host URL | https://cloud.langfuse.com |
CLI Commands
uvx bim2sim-mcp --help
Commands:
stdio Start server in stdio mode (for Claude Desktop and local CLI)
sse Start server in SSE mode (Server-Sent Events)
streamable-http Start server in streamable HTTP mode (recommended for remote/Docker)
# Examples:
uvx bim2sim-mcp stdio # Local CLI mode
uvx bim2sim-mcp sse --port 8000 # SSE on port 8000
uvx bim2sim-mcp streamable-http --host 0.0.0.0 # Docker/remote mode
CI/CD Workflow
This project uses a CI-gated workflow to ensure code quality and safe releases:
┌─────────────────────────────────────────────────────────────┐
│ Feature Branch → Open PR │
│ ↓ │
│ CI Runs (lint, test, security) │
│ ↓ │
│ ✅ CI Must Pass (enforced by branch protection) │
│ ↓ │
│ Merge to main │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ CI Re-runs on main │
│ ↓ │
│ Release Workflow waits for CI Success │
│ ↓ │
│ Docker Images Built & Pushed to GHCR │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ Manually Create GitHub Release │
│ ↓ │
│ Publish Workflow verifies Release succeeded │
│ ↓ │
│ Package Published to PyPI │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ CD Workflow deploys (staging/production) │
└─────────────────────────────────────────────────────────────┘
Key Safeguards:
- ✅ Branch protection ensures CI passes before merge
- ✅ Tag pushes verify CI passed before building images
- ✅ Publish workflow verifies Release succeeded before PyPI upload
- ✅ CD workflow only deploys after Release completes
Manual Gates:
- 🔒 Creating GitHub Release (allows review before PyPI publish)
- 🔒 Production deployments (requires manual approval)
Publishing
PyPI
Configure trusted publisher at PyPI:
- Project name:
bim2sim-mcp - Owner:
l4b4r4b4b4 - Repository:
bim2sim-mcp - Workflow:
publish.yml - Environment:
pypi
Docker Images
Images are automatically published to GHCR on:
- Push to
mainbranch →latesttag - Version tags (
v*.*.*) →latest,v0.0.1,0.0.1,0.0tags
License
MIT License - see LICENSE for details.
Contributing
See CONTRIBUTING.md for development guidelines.
Related Projects
- mcp-refcache - Reference-based caching for MCP servers
- FastMCP - High-performance MCP server framework
- Model Context Protocol - The underlying protocol specification
Установка Bim2sim
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/l4b4r4b4b4/bim2sim-mcpFAQ
Bim2sim MCP бесплатный?
Да, Bim2sim MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Bim2sim?
Нет, Bim2sim работает без API-ключей и переменных окружения.
Bim2sim — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Bim2sim в Claude Desktop, Claude Code или Cursor?
Открой Bim2sim на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Bim2sim with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
