Litmus MCP Server Release v0.0.6
v0.0.6
What's Changed
Web Client (restored & significantly enhanced)
- Re-added the browser-based chat UI (
/) with streaming responses for Anthropic and OpenAI models - Dynamic model selection - live model picker fetches available models directly from the Anthropic and OpenAI APIs; selected model persists in
.env - Multi-instance Litmus Edge support - configure, switch, activate, and remove multiple Edge instances from the Config page; active credentials are mirrored to the main
EDGE_*env vars automatically - Per-instance health dashboard (
/health) - service status grid (DeviceHub, Digital Twins, Flows Manager, Analytics, Marketplace, OPC UA, System) with live version numbers per instance - MCP Client Config floating panel - pre-filled JSON snippets for Cursor, VS Code, Claude Code, and Claude Desktop; available on every page with static HTML fallback (no JS required)
- Tools & Resources panel - compact tool list with hover descriptions and click-to-expand markdown modal; sessionStorage caching avoids re-fetching
/mcp-infoon every navigation - Configuration page consolidated: API keys, active model, Edge instances, and connection settings in one place
MCP Server
- MCP Resources - new
resource_tools.pyexposes livedocs.litmus.iodocumentation as MCP resources underlitmus://docs/*URIs; clients can read documentation directly from the context - Tag query overhaul -
get_devicehub_device_tagsnow uses GraphQL directly (api.gql_query); supports querying a single device or all devices; counts tags first and refuses to list if the total exceeds 1,000 (returning an informative message instead) - Device list cache - 10-second in-process cache keyed by
EDGE_URLprevents redundant API round-trips when the LLM calls multiple device tools in the same turn - NATS timeouts - explicit 30-second timeout on single and multi-topic NATS subscriptions with a clear error message on expiry
Infrastructure
- SDK bump -
litmussdkupdated to 2.5.3, supporting LitmusEdge v4.0.x - GitHub Actions CI - new workflow runs
rufflint andpyteston push tomain/developand on PRs tomain - Docker /
run.sh-run.shnow selects the project venv Python (.venv/bin/python3) explicitly, ensuring correct package resolution both locally and in Docker without relying onPATHmanipulation; MCP SSE server readiness is polled before the web client starts accepting connections MCP_PORTenv var - overrides the default SSE port (8000) consistently across server and readiness check
Tests
- Added
tests/test_env_config.py- env loader, updater, multi-instance helpers - Added
tests/test_influxdb_validation.py- InfluxDB query parameter validation - Updated
tests/test_mcp_tools.py- aligned with new GraphQL-based tag implementation; 19 tests, 59 total across suite
Full Changelog: v0.0.5...v0.0.6