Skip to content

Mistral Vibe MCP config support#49

Merged
LittleCoinCoin merged 11 commits intoCrackingShells:devfrom
LittleCoinCoin:dev
Mar 23, 2026
Merged

Mistral Vibe MCP config support#49
LittleCoinCoin merged 11 commits intoCrackingShells:devfrom
LittleCoinCoin:dev

Conversation

@LittleCoinCoin
Copy link
Member

Features

Mistral Vibe MCP host support

Adds full MCP host support for Mistral Vibe, covering the complete adapter contract:

  • MCPHostType.MISTRAL_VIBE enum value and MISTRAL_VIBE_FIELDS constant — TOML-native field set: transport, prompt, sampling_enabled, api_key_env, api_key_header, api_key_format, plus universal and timeout fields
  • MistralVibeAdapter — validates exactly-one transport (command XOR url), derives the Vibe-native discriminator (stdio / http / streamable-http) from canonical MCP fields; cross-host sync supported by promoting httpUrl to url at serialize time
  • MistralVibeHostStrategy — reads/writes TOML [[mcp_servers]] array-of-tables; project-local .vibe/config.toml takes precedence over user-global ~/.vibe/config.toml; normalizes transporttype on read for round-trip compatibility
  • New MCPServerConfig fields: transport (host-native discriminator), prompt, sampling_enabled, api_key_env, api_key_header, api_key_format; startup_timeout_sec / tool_timeout_sec widened from int to float; transport predicates (is_local_transport etc.) consult transport before type — backward-compatible with all existing hosts
  • Wired into all integration points: adapter __init__, AdapterRegistry, BackupInfo, reporting, and EnvironmentPackageEntry.validate_host_names()
  • _apply_mistral_vibe_cli_mappings() translates generic CLI flags to Vibe-native fields: --bearer-token-env-var maps to api_key_env + Authorization header; --env-header capped at one mapping; --cwd suppressed; new exclusive flags: --prompt, --sampling-enabled, --api-key-env, --api-key-header, --api-key-format
  • Auto-generates test cases from data-driven fixtures: adapter unit tests, strategy unit tests, cross-host regression field-filtering tests

Bug Fixes

Claude URL-based remote config missing transport field (fix(mcp-hosts))

ClaudeAdapter.serialize() was not emitting "type": "http" for URL-based remote server configs — downstream consumers had no way to distinguish remote Claude configs from stdio ones by inspecting the serialized output alone.

  • ClaudeAdapter.serialize() now explicitly sets filtered["type"] = "http" whenever "url" is present in the filtered output
  • Removed the stale CLI-level guard that rejected --url for claude-desktop / claude-code; transport validation is the adapter's responsibility, not the CLI's
  • New regression fixture claude_transport_regressions.json and test_claude_transport_serialization.py pin the correct URL-based serialization behaviour for Claude Desktop, Claude Code, and Claude remote configurations

Developer Experience

CI release pipeline streamlining

Consolidated the release, publish, and Discord-notify chain into a single orchestrated workflow:

  • semantic-release.yml now owns the full pipeline: test → release → publish → notify-discord; standalone prerelease-discord-notification.yml and release-discord-notification.yml removed
  • release job exposes published and tag outputs; publish fires only when published == 'true'; notify-discord fires only when publish succeeds
  • publish.yml migrated from push.tags trigger to workflow_call + workflow_dispatch, consuming tag directly from the release job — eliminates the redundant manual checkout step
  • Both test and release jobs skip themselves on chore(release): bump commits, preventing self-triggering loops

Documentation updates

  • Supported platforms page and CLI API reference updated to include Mistral Vibe
  • Corrected Mistral Vibe terminology from "agent" to "CLI coding agent" across docs

Add the adapter, strategy, model wiring, and core validations needed to treat Mistral Vibe as a first-class MCP host inside the shared host-configuration layer.
Reuse the existing MCP configure flags where possible and map them onto Mistral Vibe's native transport and auth fields so the host works through the same CLI workflow as the other integrations.
Extend the canonical fixture registry and generated filtering matrix so future MCP host changes exercise Mistral Vibe through the same shared coverage paths as the other supported hosts.
Keep the implementation notes for the new host in a dedicated reports commit so the code history stays focused while the discovery context remains available for later review.
Agent-Id: agent-7d172f15-6b95-455e-a27a-bc58509026fe
- Replace 'Mistral Vibe IDE with MCP support' with 'Mistral Vibe CLI coding agent'
- Ensure accurate description across all documentation files
- Maintain consistency in host identifier (mistral-vibe)
Agent-Id: agent-4b2c06a4-05c6-47fd-84e7-4c704eb9fa05
Linked-Note-Id: 3d4ca15e-5b56-430d-9ea4-f5b77e4207aa
Agent-Id: agent-4b2c06a4-05c6-47fd-84e7-4c704eb9fa05
Linked-Note-Id: 3d4ca15e-5b56-430d-9ea4-f5b77e4207aa
Agent-Id: agent-3a5c1a45-c9cd-44cf-8caf-a2ba36ec4cd7
Linked-Note-Id: de87f08e-40a3-4c70-8f99-833526ed8cd5
Agent-Id: agent-ab465f6f-4347-4a55-a0d3-064e4d929c77
@LittleCoinCoin LittleCoinCoin merged commit 73666d9 into CrackingShells:dev Mar 23, 2026
1 check passed
cracking-shells-semantic-release bot pushed a commit that referenced this pull request Mar 23, 2026
## <small>0.8.1-dev.3 (2026-03-23)</small>

* Merge pull request #49 from LittleCoinCoin/dev ([73666d9](73666d9)), closes [#49](#49)
* fix(mcp-hosts): add explicit HTTP transport type for Claude URL-based co ([62f99cf](62f99cf))
* fix(mcp-hosts): always set HTTP transport type for Claude URL-based conf ([904f22b](904f22b))
* fix(mcp-hosts): remove redundant Claude Desktop/Code URL validation ([d6a75a8](d6a75a8))
* test(mcp-hosts): keep mistral vibe in shared adapter coverage ([1a81ae0](1a81ae0))
* test(mcp): add fixture for claude remote setup ([d1cc2b0](d1cc2b0))
* test(mcp): fix whitespace in Claude transport serialization test ([b5c7191](b5c7191))
* docs: correct Mistral Vibe terminology to CLI coding agent ([bfa8b9b](bfa8b9b))
* docs(mcp-hosts): add mistral vibe to supported platforms ([5130c84](5130c84))
* docs(mcp-hosts): capture mistral vibe host analysis ([4ff2758](4ff2758))
* feat(cli): let shared mcp configure target mistral vibe ([0e801d0](0e801d0))
* feat(mcp-hosts): let hatch manage mistral vibe configs ([f213971](f213971))
* ci: semantic-release streamlining ([db0fb91](db0fb91))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant