Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Hatch supports deployment to the following MCP host platforms:
- **Codex** — OpenAI Codex with MCP server configuration support
- **LM Studio** — Local LLM inference platform with MCP server integration
- **Google Gemini CLI** — Command-line interface for Google's Gemini model with MCP support
- **Mistral Vibe** — Mistral Vibe CLI coding agent

## Quick Start

Expand Down
55 changes: 55 additions & 0 deletions __reports__/mistral_vibe/00-parameter_analysis_v0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Mistral Vibe Parameter Analysis

## Model

| Item | Finding |
| --- | --- |
| Host | Mistral Vibe |
| Config path | `./.vibe/config.toml` first, fallback `~/.vibe/config.toml` |
| Config key | `mcp_servers` |
| Structure | TOML array-of-tables: `[[mcp_servers]]` |
| Server identity | Inline `name` field per entry |

## Field Summary

| Category | Fields |
| --- | --- |
| Transport | `transport`, `command`, `args`, `url` |
| Common | `headers`, `prompt`, `startup_timeout_sec`, `tool_timeout_sec`, `sampling_enabled` |
| Auth | `api_key_env`, `api_key_header`, `api_key_format` |
| Local-only | `env` |

## Host Spec

```yaml
host: mistral-vibe
format: toml
config_key: mcp_servers
config_paths:
- ./.vibe/config.toml
- ~/.vibe/config.toml
transport_discriminator: transport
supported_transports:
- stdio
- http
- streamable-http
canonical_mapping:
type_to_transport:
stdio: stdio
http: http
sse: streamable-http
httpUrl_to_url: true
extra_fields:
- prompt
- sampling_enabled
- api_key_env
- api_key_header
- api_key_format
- startup_timeout_sec
- tool_timeout_sec
```

## Sources

- Mistral Vibe README and docs pages for config path precedence
- Upstream source definitions for MCP transport variants in `vibe/core/config`
26 changes: 26 additions & 0 deletions __reports__/mistral_vibe/01-architecture_analysis_v0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Mistral Vibe Architecture Analysis

## Model

| Layer | Change |
| --- | --- |
| Unified model | Add Vibe-native fields and host enum |
| Adapter | New `MistralVibeAdapter` to map canonical fields to Vibe TOML entries |
| Strategy | New TOML strategy for `[[mcp_servers]]` read/write with key preservation |
| Registries | Add adapter, strategy, backup/reporting, and fixture registration |
| Tests | Extend generic adapter suites and add focused TOML strategy tests |

## Integration Notes

| Concern | Decision |
| --- | --- |
| Local vs global config | Prefer existing project-local file, otherwise global fallback |
| Remote transport mapping | Canonical `type=sse` maps to Vibe `streamable-http` |
| Cross-host sync | Accept canonical `type` and `httpUrl`, serialize to `transport` + `url` |
| Non-MCP settings | Preserve other top-level TOML keys on write |

## Assessment

- **GO** — current adapter/strategy architecture already supports one more standalone TOML host.
- No dependency installation is required.
- Main regression surface is registry completeness and TOML round-tripping, covered by targeted tests.
12 changes: 12 additions & 0 deletions __reports__/mistral_vibe/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Mistral Vibe Reports

## Status

- Latest discovery: `00-parameter_analysis_v0.md`
- Latest architecture analysis: `01-architecture_analysis_v0.md`
- Current assessment: `GO`

## Documents

1. `00-parameter_analysis_v0.md` — upstream config path/schema discovery and host spec
2. `01-architecture_analysis_v0.md` — integration plan, touched files, and go/no-go assessment
1 change: 1 addition & 0 deletions docs/articles/api/cli/mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ This module provides handlers for:
- codex: OpenAI Codex
- lm-studio: LM Studio
- gemini: Google Gemini
- mistral-vibe: Mistral Vibe CLI coding agent

## Handler Functions

Expand Down
1 change: 1 addition & 0 deletions docs/articles/devs/architecture/mcp_backup_system.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ The system supports all MCP host platforms:
| `cursor` | Cursor IDE MCP integration |
| `lmstudio` | LM Studio MCP support |
| `gemini` | Google Gemini MCP integration |
| `mistral-vibe` | Mistral Vibe CLI coding agent |

## Performance Characteristics

Expand Down
1 change: 1 addition & 0 deletions docs/articles/devs/architecture/mcp_host_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ supported = registry.get_supported_hosts() # List all hosts
- `claude-desktop`, `claude-code`
- `vscode`, `cursor`, `lmstudio`
- `gemini`, `kiro`, `codex`
- `mistral-vibe`

### BaseAdapter Protocol

Expand Down
3 changes: 3 additions & 0 deletions docs/articles/users/CLIReference.md
Original file line number Diff line number Diff line change
Expand Up @@ -1017,6 +1017,7 @@ Available MCP Host Platforms:
claude-desktop ✓ Available /Users/user/.config/claude/...
cursor ✓ Available /Users/user/.cursor/mcp.json
vscode ✗ Not Found -
mistral-vibe ✓ Available /Users/user/.config/mistral/mcp.toml
```

**Key Details**:
Expand All @@ -1039,6 +1040,8 @@ Available MCP host platforms:
Config path: ~/.cursor/config.json
vscode: ✗ Not detected
Config path: ~/.vscode/config.json
mistral-vibe: ✓ Available
Config path: ~/.config/mistral/mcp.toml
```

#### `hatch mcp discover servers`
Expand Down
1 change: 1 addition & 0 deletions docs/articles/users/MCPHostConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Hatch currently supports configuration for these MCP host platforms:
- **Codex** - OpenAI Codex with MCP server configuration support
- **LM Studio** - Local language model interface
- **Gemini** - Google's AI development environment
- **Mistral Vibe** - Mistral Vibe CLI coding agent

## Hands-on Learning

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ Hatch currently supports configuration for these MCP host platforms:
- [**Codex**](https://github.com/openai/codex) - OpenAI Codex with MCP server configuration support
- [**LM Studio**](https://lmstudio.ai/) - Local language model interface
- [**Gemini**](https://github.com/google-gemini/gemini-cli) - Google's AI Command Line Interface
- [**Mistral Vibe**](https://mistral.ai/vibe) - Mistral Vibe CLI coding agent

## Configuration Management Workflow

Expand Down
35 changes: 29 additions & 6 deletions hatch/cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -585,10 +585,10 @@ def _setup_mcp_commands(subparsers):
)
server_type_group.add_argument(
"--url",
help="Server URL for remote MCP servers (SSE transport) [hosts: all except claude-desktop, claude-code]",
help="Server URL for remote MCP servers (SSE/streamable transport) [hosts: all except claude-desktop, claude-code]",
)
server_type_group.add_argument(
"--http-url", help="HTTP streaming endpoint URL [hosts: gemini]"
"--http-url", help="HTTP streaming endpoint URL [hosts: gemini, mistral-vibe]"
)

mcp_configure_parser.add_argument(
Expand Down Expand Up @@ -667,12 +667,12 @@ def _setup_mcp_commands(subparsers):
mcp_configure_parser.add_argument(
"--startup-timeout",
type=int,
help="Server startup timeout in seconds (default: 10) [hosts: codex]",
help="Server startup timeout in seconds (default: 10) [hosts: codex, mistral-vibe]",
)
mcp_configure_parser.add_argument(
"--tool-timeout",
type=int,
help="Tool execution timeout in seconds (default: 60) [hosts: codex]",
help="Tool execution timeout in seconds (default: 60) [hosts: codex, mistral-vibe]",
)
mcp_configure_parser.add_argument(
"--enabled",
Expand All @@ -683,12 +683,35 @@ def _setup_mcp_commands(subparsers):
mcp_configure_parser.add_argument(
"--bearer-token-env-var",
type=str,
help="Name of environment variable containing bearer token for Authorization header [hosts: codex]",
help="Name of environment variable containing bearer token for Authorization header [hosts: codex, mistral-vibe]",
)
mcp_configure_parser.add_argument(
"--env-header",
action="append",
help="HTTP header from environment variable in KEY=ENV_VAR_NAME format [hosts: codex]",
help="HTTP header from environment variable in KEY=ENV_VAR_NAME format [hosts: codex, mistral-vibe]",
)

# Mistral Vibe-specific arguments
mcp_configure_parser.add_argument(
"--prompt", help="Per-server prompt override [hosts: mistral-vibe]"
)
mcp_configure_parser.add_argument(
"--sampling-enabled",
action="store_true",
default=None,
help="Enable model sampling for tool calls [hosts: mistral-vibe]",
)
mcp_configure_parser.add_argument(
"--api-key-env",
help="Environment variable containing API key for remote auth [hosts: mistral-vibe]",
)
mcp_configure_parser.add_argument(
"--api-key-header",
help="HTTP header name used for API key injection [hosts: mistral-vibe]",
)
mcp_configure_parser.add_argument(
"--api-key-format",
help="Formatting template for API key header values [hosts: mistral-vibe]",
)

mcp_configure_parser.add_argument(
Expand Down
Loading
Loading