I won't lie, I'm a nube and I had Opus 4.6 use the tool, but it had some issues. I think we are using all your latest stuff. So here is what it reported:
Bug Report: drift_tool calls fail with UNKNOWN error code (Rust type conversion)
Package: @drift/mcp v0.1.0
Environment: Node.js, running as a Cursor MCP server on Ubuntu Linux (6.8.0-90-generic)
Project: Python/TypeScript full-stack app (~50+ .py files, React frontend)
Summary
Calling drift_tool to execute discovered tools (drift_reachability and drift_contracts) fails silently with an UNKNOWN error code citing a Rust type conversion issue. The higher-level MCP entry points (drift_scan, drift_status, drift_discover, drift_context) all work correctly — only drift_tool (the gateway for executing the ~49 internal tools) is broken.
Steps to Reproduce
Configure drift-v2 MCP server with DRIFT_PROJECT_PATH pointing to a Python/TypeScript project.
Run drift_scan — succeeds (0 violations, 66ms).
Run drift_status — succeeds.
Run drift_discover with intent "trace impact and reachability of changes to persona settings and voice configuration" — succeeds, suggests drift_reachability, drift_impact_analysis, drift_contracts.
Run drift_tool with:
tool: "drift_reachability", params: {"function": "_apply_persona_settings"} — fails
tool: "drift_contracts", params: {"path": "personas_routes.py"} — fails
Both return an UNKNOWN error code with a message referencing a Rust type conversion failure. The tool result body is empty.
Expected Behavior
drift_reachability should return the call graph / data flow from _apply_persona_settings. drift_contracts should return the API contract surface for personas_routes.py (a FastAPI router file).
Actual Behavior
Both calls fail with an UNKNOWN gRPC-style error code and a Rust type conversion error in the message. No useful output is returned.
What Works
Tool Status
drift_scan OK
drift_status OK
drift_discover OK
drift_context OK
drift_tool → drift_reachability FAILS
drift_tool → drift_contracts FAILS
Impact
The 3 high-level entry points (drift_discover, drift_context, drift_scan) work and provide useful results. But drift_tool is the only way to execute the specific internal tools that drift_discover recommends — so the "progressive disclosure" workflow is broken at the last step. The agent gets good tool suggestions but can't actually run them, forcing a fallback to manual grep/exploration.
Additional Context
The error message mentions a Rust type conversion, suggesting the issue may be in a native/WASM binding layer between the Node MCP server and an underlying Rust analysis engine.
The project being analyzed is a mixed Python (FastAPI) + TypeScript (React/Vite) codebase. It's possible the failure is specific to Python file analysis, since the Rust parser may not handle Python ASTs the same way.
Sorry about the formatting.
I won't lie, I'm a nube and I had Opus 4.6 use the tool, but it had some issues. I think we are using all your latest stuff. So here is what it reported:
Bug Report: drift_tool calls fail with UNKNOWN error code (Rust type conversion)
Package: @drift/mcp v0.1.0
Environment: Node.js, running as a Cursor MCP server on Ubuntu Linux (6.8.0-90-generic)
Project: Python/TypeScript full-stack app (~50+ .py files, React frontend)
Summary
Calling drift_tool to execute discovered tools (drift_reachability and drift_contracts) fails silently with an UNKNOWN error code citing a Rust type conversion issue. The higher-level MCP entry points (drift_scan, drift_status, drift_discover, drift_context) all work correctly — only drift_tool (the gateway for executing the ~49 internal tools) is broken.
Steps to Reproduce
Configure drift-v2 MCP server with DRIFT_PROJECT_PATH pointing to a Python/TypeScript project.
Run drift_scan — succeeds (0 violations, 66ms).
Run drift_status — succeeds.
Run drift_discover with intent "trace impact and reachability of changes to persona settings and voice configuration" — succeeds, suggests drift_reachability, drift_impact_analysis, drift_contracts.
Run drift_tool with:
tool: "drift_reachability", params: {"function": "_apply_persona_settings"} — fails
tool: "drift_contracts", params: {"path": "personas_routes.py"} — fails
Both return an UNKNOWN error code with a message referencing a Rust type conversion failure. The tool result body is empty.
Expected Behavior
drift_reachability should return the call graph / data flow from _apply_persona_settings. drift_contracts should return the API contract surface for personas_routes.py (a FastAPI router file).
Actual Behavior
Both calls fail with an UNKNOWN gRPC-style error code and a Rust type conversion error in the message. No useful output is returned.
What Works
Tool Status
drift_scan OK
drift_status OK
drift_discover OK
drift_context OK
drift_tool → drift_reachability FAILS
drift_tool → drift_contracts FAILS
Impact
The 3 high-level entry points (drift_discover, drift_context, drift_scan) work and provide useful results. But drift_tool is the only way to execute the specific internal tools that drift_discover recommends — so the "progressive disclosure" workflow is broken at the last step. The agent gets good tool suggestions but can't actually run them, forcing a fallback to manual grep/exploration.
Additional Context
The error message mentions a Rust type conversion, suggesting the issue may be in a native/WASM binding layer between the Node MCP server and an underlying Rust analysis engine.
The project being analyzed is a mixed Python (FastAPI) + TypeScript (React/Vite) codebase. It's possible the failure is specific to Python file analysis, since the Rust parser may not handle Python ASTs the same way.
Sorry about the formatting.