Skip to main content
Glama

start_session

Launch Vivado sessions in GUI, TCL, or attach mode for interactive or headless FPGA development. Reuse existing sessions by ID or create independent instances with custom ports.

Instructions

启动一个新的 Vivado 会话。

三种模式:

  • "gui" (默认) — MCP 自动 spawn vivado -mode gui,你能看到 Vivado 图标 并实时观察 Tcl Console / Block Design / 波形等 GUI 内容。首次使用会自动 通过 -source 注入 TCP server,或先运行一次 vivado-mcp install 持久化。

  • "tcl"vivado -mode tcl 无头子进程(无 GUI,适合 CI / 批处理)。

  • "attach" — 连接到用户已手动打开的 Vivado GUI(需先运行 vivado-mcp install 让 init.tcl 自动开启 TCP server)。

每个 session_id 对应一个独立的会话句柄;同 session_id 再次调用会复用现有会话 (会话模式自动复用)。多开独立 GUI 实例见下方 port 说明。

Args: session_id: 会话标识符,默认 "default"。 mode: "gui" / "tcl" / "attach",默认 "gui"。 port: TCP 端口语义(B 方案): - gui 默认 9999:先 probe 9999,命中现有 vmcp server 则直接复用/ attach(单 GUI 自动复用,也避免抢端口产生孤儿);无则 spawn 并绑 9999。 - 多开独立实例:传 port=0 自动分配一个空闲端口启动全新实例(零手动 配端口、跳过 probe),或给不同端口的显式值。注意:不传 port 时即便换 session_id 也会 probe/attach 到 9999 的同一个 GUI(不会自动多开),要独立 实例就传 port=0 或显式不同端口。 - attach 模式:要连接的现有 GUI 的显式端口(默认 9999)。 vivado_path: 可选,自定义 Vivado 可执行文件路径。留空则自动检测。 timeout: 启动超时秒数,GUI 模式建议 120+。默认 120。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNogui
portNo
timeoutNo
session_idNodefault
vivado_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does so richly: it discloses process spawning, TCP server injection via -source, port 9999 probing, session reuse behavior, and the warning that omitting port will attach to the same GUI rather than create a new one. This is exactly the kind of non-obvious behavioral context agents need.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a mode list and an Args block, and every major section adds value. It is lengthy and dense, especially the port semantics (including the 'B 方案' reference), which makes it slightly heavier than ideal for quick consumption, but it remains organized and useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 5 parameters, no annotations, and no per-parameter schema descriptions, yet the description covers modes, session lifecycle, port probing, custom path, and timeout. An output schema exists, so return-value details are unnecessary. The description is complete enough for correct tool invocation without any external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: the Args block explains session_id, mode, port, vivado_path, and timeout, and adds critical port semantics including port=0 for allocating a fresh instance. This fully replaces what would normally be in parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '启动一个新的 Vivado 会话' (start a new Vivado session), stating a clear verb and resource. It distinguishes itself from siblings like stop_session and list_sessions by focusing on the launch/creation aspect, and further clarifies the three operating modes (gui, tcl, attach).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit for choosing modes: 'tcl' for headless CI/batch, 'attach' for connecting to an existing GUI, and 'gui' as the default. Port semantics for multi-instance vs reuse are also spelled out in detail. It lacks explicit 'do not use' exclusions, but the alternatives are clearly delineated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mapleleavessssssss-wq/vivado-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server