Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@InBiot MCP Servercheck if the main office air quality complies with WELL v2 standards"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
InBiot MCP Server
A Model Context Protocol (MCP) server for InBiot air quality monitoring devices, with WELL Building Standard compliance analysis. Built with FastMCP.
Features
Core Capabilities
Real-time Air Quality Monitoring - Get latest measurements from InBiot MICA sensors
Historical Data Retrieval - Access measurements between specific dates with statistical analysis
WELL Building Standard Compliance - Assess air quality against WELL v2, ASHRAE 62.1/55, and WHO Indoor standards
Outdoor Context - Compare indoor conditions with outdoor weather and air quality (via OpenWeather)
Health Recommendations - Generate actionable advice based on current conditions
Data Authenticity - All responses include mandatory provenance tracking (no simulated data)
Advanced Features
Modular Skills Architecture - Organized into monitoring, analytics, compliance, and weather skills for easy maintenance
YAML/JSON Configuration - Easy device management with config files (backward compatible with .env)
Automatic Retries - Exponential backoff for transient API failures and rate limits
Data Export - Export historical data to CSV/JSON formats with optional time aggregation
Statistical Analysis - Comprehensive statistics (min/max/mean/median/std dev/quartiles) and trend detection
Feature-Level WELL Compliance - Detailed breakdown by WELL v2 features (A01-A08, T01-T07) with specific mitigation strategies
Prerequisites
Python 3.10 or higher
InBiot MICA device(s) with API access from My inBiot
OpenWeather API key (optional, for outdoor data) from OpenWeather
Quick Start
Easy Installation (Recommended)
The setup script will:
Check Python version
Install dependencies (automatically tries uv, falls back to pip)
Create configuration template
Optionally run tests
Manual Installation
1. Clone and Install
2. Configure Your Devices
Create inbiot-config.yaml from the example:
Edit inbiot-config.yaml:
Where to find your credentials:
InBiot API Key & System ID: My inBiot Platform → Device Settings
OpenWeather API Key: OpenWeather (free tier available)
Coordinates: LatLong.net or Google Maps
Note: JSON and environment variable configurations are also supported for backward compatibility. See the code for details.
MCP Client Configuration
Claude Desktop
Add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Recommended (no manual dependency installation needed):
This uses uvx to automatically manage dependencies in an isolated environment.
Alternative (requires
Cursor IDE
Create .cursor/mcp.json in your project root (project-specific) or ~/.cursor/mcp.json (global):
Or with uv:
VS Code with Cline Extension
Add to Cline's MCP settings:
macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
Important Notes:
Replace
/ABSOLUTE/PATH/TO/inbiot-mcpwith the actual absolute path to your installationRestart your IDE/application after configuration changes
Check MCP logs: Open Output panel (
Cmd+Shift+U) → Select "MCP Logs"
Usage Examples
For AI Assistants (Cursor, Claude, etc.)
Use these prompts to interact with the InBiot MCP server:
Basic Air Quality Check
WELL Compliance Analysis
Indoor vs Outdoor Comparison
Historical Analysis
Statistical Analysis (NEW)
Data Export (NEW)
Feature-Level WELL Compliance (NEW)
Health Recommendations
Available Tools
Tool | Description | Parameters |
| List all configured InBiot devices | None |
| Get current readings from a device |
|
| Get measurements between dates with statistics |
|
| Assess WELL Standard compliance |
|
| NEW: Detailed WELL v2 feature breakdown (A01-A08, T01-T07) |
|
| Get outdoor weather and air quality |
|
| Compare indoor vs outdoor conditions |
|
| Generate health recommendations |
|
| NEW: Export historical data to CSV/JSON |
|
| NEW: Comprehensive statistical analysis with trends |
|
Available Resources
URI | Description |
| Air quality parameters reference |
| WELL Building Standard criteria |
| IAQ indicator guide |
| Thermal comfort guide |
| Virus resistance indicator guide |
| Ventilation efficiency guide |
Available Prompts
Prompt | Description |
| Comprehensive air quality analysis |
| Compare two devices |
| WELL certification assessment |
| Health recommendations |
API Rate Limits & Resilience
InBiot API: 6 requests per device per hour
OpenWeather API: Depends on your subscription tier
Automatic Retry Handling:
Exponential backoff for transient failures (network timeouts, 5xx errors)
Respects 429 rate limit headers with proper retry timing
Configurable retry attempts (default: 3) with increasing delays
Maximum delay capped at 30 seconds to prevent excessive waits
WELL Building Standard
Assesses air quality against:
WELL v2 - Features A01-A08 (Air) and T01-T07 (Thermal Comfort)
ASHRAE 62.1 & 55 - Ventilation and thermal comfort standards
WHO Indoor Air Quality Guidelines - Health-based thresholds
Certification levels: Platinum (90%+), Gold (75%+), Silver (60%+), Bronze (40%+)
Architecture
Modular Skills Design
The MCP server is organized into modular skills for better maintainability and scalability:
🔍 Monitoring Skill (src/skills/monitoring/)
list_devices- List all configured devicesget_latest_measurements- Real-time air quality dataget_historical_data- Historical measurements with trends
📊 Analytics Skill (src/skills/analytics/)
get_data_statistics- Comprehensive statistical analysisexport_historical_data- CSV/JSON export with aggregation
✅ Compliance Skill (src/skills/compliance/)
well_compliance_check- WELL Building Standard assessmentwell_feature_compliance- Feature-by-feature breakdown (A01-A08, T01-T07)health_recommendations- Actionable health advice
🌤️ Weather Skill (src/skills/weather/)
outdoor_snapshot- Current outdoor conditionsindoor_vs_outdoor- Indoor/outdoor comparison
Benefits:
✅ Easy to maintain - Each skill is self-contained
✅ Easy to extend - Add new skills without touching existing code
✅ Easy to test - Test skills independently
✅ Clear organization - Tools grouped by domain
Development
Running Tests
Running the Server Manually
Project Structure
What's New (Recent Improvements)
Configuration Simplification
YAML/JSON Config Files: Easier device management compared to environment variables
Auto-detection: Loads YAML → JSON → ENV automatically (backward compatible)
Validation: Warns about common issues (duplicate IDs, default coordinates)
Easy Setup: Interactive
setup.pyscript for guided installation
Enhanced Reliability
Automatic Retries: Exponential backoff for transient failures
Rate Limit Handling: Respects 429 Retry-After headers
Better Error Messages: Context-rich error reporting with endpoint details
Configurable: Customize retry attempts and delays
Data Export & Analysis
CSV/JSON Export: Professional data export for external analysis
Time Aggregation: Hourly, daily, or weekly data summarization
Statistical Analysis: Min/max/mean/median/std dev/quartiles
Trend Detection: Automatic trend identification (increasing/decreasing/stable)
Enhanced WELL Compliance
Feature-Level Breakdown: Explicit A01-A08 (Air) and T01-T07 (Thermal) reporting
Specific Mitigation Strategies: 5+ actionable strategies per feature
Health Impact Details: Clear explanation of health implications
Targeted Recommendations: Parameter and feature-specific advice
All improvements maintain full backward compatibility with existing configurations.
Troubleshooting
Server Not Connecting
Check the MCP logs in your IDE/application
Verify the absolute path in your configuration
Ensure configuration file exists (
inbiot-config.yaml,inbiot-config.json, or.env)Test manually:
python server.py(should see FastMCP initialization)Run setup:
python setup.pyfor guided troubleshooting
API Rate Limit Errors
InBiot API allows 6 requests per device per hour
Server automatically retries with exponential backoff
If you hit the limit, wait for the retry window or space out requests
Configuration Not Loading
Check configuration priority: YAML → JSON → ENV
Verify YAML/JSON syntax (use online validators if needed)
Look for validation warnings on server startup
Test config:
python -c "from src.config.loader import ConfigLoader; print(ConfigLoader.load())"
Missing Outdoor Data
Verify your OpenWeather API key in configuration
Check that device coordinates are correct (not 0, 0)
Free tier has usage limits
Dependency Installation Fails
If running in active venv: deactivate first, then run
python setup.pyTry manual install:
pip install fastmcp httpx pydantic python-dotenv pyyamlWindows permission errors: Run as administrator or use fresh venv
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Links
InBiot - Air quality monitoring devices
My inBiot Platform - Device management and API keys
FastMCP - MCP framework
WELL Building Standard - Building certification
Model Context Protocol - MCP specification