gw-synth-flash-mcp-0.1.3 is not a library.
gw-synth-flash-mcp
An unofficial MCP (Model Context Protocol) server that exposes a few Gowin IDE CLI workflows as tools.
- Backend: Rust +
rmcp - Provides MCP tools (tool names are kept as
gowin.*for compatibility) - Current target OS: macOS
Japanese README: README_JA.md
Repo layout (assumed)
This repository is intended to be a standalone Rust crate:
src/: MCP server implementationexamples/: MCP client configuration templatestarget/: build artifacts (generated; not tracked)
Prerequisites
- Gowin IDE installed on macOS
- Default location:
/Applications/GowinIDE.app - If different: pass
gowin_ide_app_pathin tool parameters
- Default location:
Install
Install from crates.io:
Build from source (for development)
Optional: install from local source:
Run (stdio)
Or, if installed:
This server resolves relative paths based on a project_root.
Priority order:
- Per-tool parameter:
project_root - Environment variable:
GOWIN_MCP_PROJECT_ROOT - Auto-detect from
cwdby searching upward forrun_gowin.tclor*.gprj - Fallback:
cwd
Example:
Quick start
- Install
- Point your MCP client (e.g., VS Code/Copilot) at the installed binary
- Example:
gw-synth-flash-mcp(if installed in$PATH) - Or:
${workspaceFolder}/target/release/gw-synth-flash-mcp(if built from source)
- Set
GOWIN_MCP_PROJECT_ROOT(or passproject_rootper tool call)
VS Code (GitHub Copilot) template
Template: examples/vscode.mcp.json
- If installed via
cargo install: usegw-synth-flash-mcpcommand - If built from source: use
${workspaceFolder}/target/release/gw-synth-flash-mcp - Set
GOWIN_MCP_PROJECT_ROOTto your Gowin project directory
Claude Code template
Template: examples/claude-code.mcp.json
- Absolute-path template (replace
/ABS/PATH/...values)
Tools
gowin.run_tcl
- Runs Tcl via
gw_sh - Provide either
tcl_path(file) ortcl_inline(string) - If
project_rootis set, relative paths resolve under it
gowin.list_cables
- Enumerates available programmer cables via
programmer_cli(tries multiple listing patterns)
gowin.program_fs
- Programs a
.fsbitstream into SRAM viaprogrammer_cli - If
cableis omitted, it auto-selects fromlist_cables - If needed, it retries with different cable inference strategies
Logs
Each tool call writes logs under <project_root>/.gowin-mcp/logs/:
*.log: combined stdout/stderr*.json: execution metadata (exit code, duration, args, etc.)
Safety / Disclaimer
- This is unofficial software and is not affiliated with Gowin.
- Programming hardware can affect your FPGA/board. Use at your own risk.