Skip to content
seradotcomPublic

Latest commit

 

History

1,898 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 semwright

Use real software from your AI agent.

Semwright connects MCP-compatible agents to desktop and professional applications.
Work with application objects, control what can run, and inspect the result.

License: MIT OR Apache-2.0 Rust Native bundles: Linux, macOS, Windows MCP frontend Version: 1.0.0 Verification documented

Get started · MCP and Semwright · Documentation · Applications · Build an integration

See it in action

One prompt updates an aircraft's materials in Blender, renders a camera shot, creates titles in Motion Canvas, and assembles the video with audio through MLT.

Watch the 60-second Semwright demo.

Watch the demo →

Recorded in one take using an existing aircraft project. Waiting periods are accelerated; final playback runs at normal speed. The workflow produces a video and an editable timeline.

The recorded workflow, simplified:

flowchart LR
  Blender["Blender: materials and camera"] --> Shot["Rendered shot"]
  Shot --> MLT["MLT: assemble video"]
  Motion["Motion Canvas: titles"] --> MLT
  Audio["Audio"] --> MLT
  MLT --> Output["Video and editable timeline"]
Loading

Get started

You need an MCP-compatible agent and a Linux, macOS or Windows computer. Install Semwright once; the agent and the applications you want to use are installed separately.

1. Install and start Semwright

Download the package for your system and SHA256SUMS from the 1.0.0 release. Verify the checksum, extract the archive, then run the installer inside it:

System Command inside the extracted bundle
Linux ./install.sh
macOS ./install.sh
Windows (PowerShell) .\Install-Semwright.ps1

Run the setup command printed by the installer. Setup creates your local configuration and agent connection file, beginning with read-only permissions.

Next, run the Broker command printed by setup and leave that terminal open. This starts the local process that handles your agent's requests.

Package selection, checksum commands and installation help →

2. Connect your agent

Setup creates mcp-client.json with the installed connection command. In your agent's MCP settings, add a local / stdio server named semwright, using the command path from that file. If your client accepts mcpServers JSON, merge the generated entry with your existing servers.

Restart or reconnect the agent to load the tools. Keep the Semwright terminal running.

Find your connection file → · MCP configuration →

3. Try your first request

Send this to your agent:

Use Semwright to list the capabilities available in this session. Explain what I can try next. Do not modify any files or applications.

The agent should report what is available in your environment. This checks the connection. Application workflows need their own integrations and permissions; setup does not install them or authorize edits.

Next, choose the application you want to use. If the connection fails, run the Doctor command printed by setup and follow the troubleshooting guide.

Why Semwright?

Semwright is an open runtime that runs locally between your agent and your software.

  • Work with application objects. Use typed operations for scenes, documents and other objects. Semwright prefers application APIs, with semantic desktop interfaces and explicit input/capture fallbacks where needed.
  • Keep access explicit. Agent, CLI and application requests share the same permissions and approval checks. Discovering an operation does not grant permission to run it.
  • Inspect what happened. Readback and execution evidence distinguish what was requested from what was observed. Missing evidence stays unknown.

An operation follows this path:

flowchart LR
  Request["Requested operation"] --> Gate{"Authorized?"}
  Gate -->|No| Stop["Refuse or request approval"]
  Gate -->|Yes| Run["Run the scoped operation"]
  Run --> Result["Return observations and evidence"]
Loading

Observations describe the available evidence; they do not automatically prove that every intended change succeeded. Read how it works →

MCP and Semwright

Model Context Protocol (MCP) defines how an AI application connects to servers that expose tools, resources and prompts. The server implements what its tools actually do.

Semwright provides the application runtime behind those calls: application integrations, permissions, object references, bounded jobs and execution evidence. Its MCP frontend lets your existing agent use that runtime.

Component Role
MCP The communication protocol for discovering and calling tools, and exchanging context.
An MCP server A program that exposes tools and context using that protocol.
Semwright An application execution runtime, reachable through its MCP server or directly through CLI and Recipes.
flowchart TB
  Agent["Your AI agent"] <-->|MCP| Frontend["Semwright MCP frontend"]
  Frontend <--> Runtime["Semwright runtime: permissions, objects and audit"]
  CLI["CLI / Recipes"] --> Runtime
  Runtime <--> Drivers["Application integrations"]
  Drivers <--> Blender["Blender"]
  Drivers <--> Browser["Chromium"]
  Drivers <--> Documents["LibreOffice"]
Loading

They work together. Use MCP to connect your agent; use Semwright to discover and run supported application operations through a shared execution and permission model. An MCP server can implement permissions and application logic of its own; Semwright supplies that runtime across its integrations.

Already have an MCP server? Semwright can also bring an owner-configured local stdio server into the same permission and audit path. MCP connection guide → · Governed MCP federation →

Choose an application

These integrations expose selected operations. Coverage varies by application, version, platform and environment; a listed driver does not imply full application support.

Application Integration guide
Blender Scene authoring and export
Godot Editor and project operations
Chromium Browser operations through CDP
LibreOffice Selected Writer, Calc and PDF operations
Figma Plugin API integration
OBS Studio WebSocket integration
Motion Canvas and MLT Motion design · Video rendering
KiCad Curated IPC integration
Faust and Ardour Audio synthesis · Managed audio sessions

Platform requirements → · Verified coverage and limits →

Build an integration

What you want to connect Start here
An application that owns its model, storage and transactions Native application SDK
An application API or persistent session Application Driver SDK
A narrow external command Plugin SDK
An agent or existing MCP server CLI · MCP · Governed MCP federation

The Native SDK builds on the Driver SDK and lets the application remain the source of truth for its own state. Integrations use the same permissions and audit path as the core runtime.

For reusable procedures and project state, see Recipes, Project Graph and Effects.

Security and verification

Setup starts with read-only permissions. Editing applications and other sensitive actions require explicit authority; an agent cannot approve its own sensitive request.

The release's hosted package tests do not certify every interactive desktop or application version. macOS signing/notarization, physical Hyprland certification and unlocked Windows desktop certification have separate limits. See the release notes for the published version's evidence and limits.

Security policy and private reporting · Permissions · Threat model · Verification records

Contribute

For source builds and the synthetic-desktop smoke test, start with development. The installation reference includes the commands and prerequisites.

Contributing · Support · Changelog · Documentation

License

The original core source is MIT OR Apache-2.0. The isolated integrations/kicad-driver subtree is GPL-3.0-or-later, with its own notices. See licenses and notices and governance.

Releases

Packages

Contributors

Languages