Skyvern-AI / Skyvern-AI/rustwright
[Bug]: Rustwright-MCP function calls not accepted by OpenCode + Google Gemini provider
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 890
- Forks
- 58
- Avg merge
- 20h 29m
- Merged PRs (30d)
- 12
Description
What happened?
When I try to use rustwright-mcp in OpenCode, with Google Gemini 3.8 Flash via Vertex AI, I get this error:
Unable to submit request because
rustwright_browser_file_uploadfunctionDeclarationparameters.pathsschema specified other fields alongside any_of. When using any_of, it must be the only field set. Learn more: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling
Reproduction
- Install OpenCode
- Configure OpenCode to use Google Gemini 3.8 Flash provider / model
- Install Rustwright-mcp binary
- Configure OpenCode MCPs to use rustwright-mcp
- Send a prompt: "testing"
Configure Rustwright MCP:
"mcp": {
"rustwright": {
"command": ["rustwright-mcp"],
"type": "local"
}
},
Configure Google Gemini Vertex AI in OpenCode:
"provider": {
"google-vertex": {
"options": {
"project": "gen-lang-client-0698545845",
"location": "global"
}
},
}
Expected behavior
The rustwright-mcp server should "play nice" with the Google Gemini 3.8 Flash model's function call requirements. I am not sure if this is an implementation issue with Rustwright or how OpenCode is exposing MCP function calls to the Gemini provider layer.
Environment
- OS: MacOS
- Python version:
- Rust version:
- Node version, if relevant:
- Browser:
- Rustwright commit: Built from feature branch
Logs
OpenCode debug logs:
timestamp=2026-09-11T03:17:30.115Z level=ERROR run=48a27ada message="stream error" providerID=google-vertex modelID=gemini-3.8-flash session.id=xxxx small=false agent=build mode=primary error.error="AI_APICallError: Unable to submit request because
rustwright_browser_file_uploadfunctionDeclarationparameters.pathsschema specified other fields alongside any_of. When using any_of, it must be the only field set. Learn more: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling"
timestamp=2026-09-11T03:17:30.117Z level=ERROR run=48a27ada message=process session.id=xxxx messageID=xxxx error="Unable to submit request becauserustwright_browser_file_uploadfunctionDeclarationparameters.pathsschema specified other fields alongside any_of. When using any_of, it must be the only field set. Learn more: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling" stack="AI_APICallError: Unable to submit request becauserustwright_browser_file_uploadfunctionDeclarationparameters.pathsschema specified other fields alongside any_of. When using any_of, it must be the only field set. Learn more: https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling\n at (/$bunfs/root/chunk-rzxvyn1n.js:6:14509)\n at async (/$bunfs/root/chunk-rzxvyn1n.js:6:12638)\n at processTicksAndRejections (native:7:39)"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the rustwright_browser_file_upload function declaration and its parameters.paths schema, then compare the emitted schema with Vertex AI's function-calling requirements in the linked documentation. Reproduce through the listed OpenCode Google Vertex configuration; done means the testing prompt is accepted without the any_of schema error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, python, rust
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100