# agents: fix sandboxed workspace access with a stdio MCP bridge \(\#95\) · lucenx/signaltty

[View on GitCafe](https://git.cafe/lucenx/signaltty/commit/2ab2e31df8eea7d67a3d3fdff8d63d5f2b6dc0e4)

Repository: [lucenx/signaltty](https://git.cafe/lucenx/signaltty)

Visibility: public

Requested revision: 2ab2e31df8eea7d67a3d3fdff8d63d5f2b6dc0e4

Requested commit: 2ab2e31df8eea7d67a3d3fdff8d63d5f2b6dc0e4

Commit: 2ab2e31df8eea7d67a3d3fdff8d63d5f2b6dc0e4

Tree: 0f01709a33044d0b66306341dfde6cc3b86dafb9

Author: Simone

Committer: GitHub

## Message

```
agents: fix sandboxed workspace access with a stdio MCP bridge (#95)

* agents: expose workspace access through harness-owned stdio MCP

* tests: qualify MCP configuration value in launch coverage

* agents: exclude native approval answers from MCP tools

* cli: simplify MCP notification handling

* agents: clarify MCP cleanup reporting and ownership contract

* docs: record harness MCP verification and review evidence

* docs: complete MCP feature delivery handoff

* integration: report the MCP notice only when the registration changes

Launch-time setup runs on every agent spawn, so an unconditional notice
produced a GUI toast and CLI stderr line on every claude/codex/cursor/
opencode launch. Match the existing Codex hooks notice and speak up only
when the MCP registration was written.

* integration: refresh disabled MCP registrations without enabling them

An owned registration that the user disabled kept its old command, so a
later re-enable could launch a moved or removed executable, and Codex
skipped the context env_vars. Keep the disable flag but refresh the
managed command, arguments and forwarded context variables.

* tests: cover the MCP bridge's absolute-socket requirement

The bridge documents that it accepts only an absolute SIGNALTTY_SOCKET,
but removing the check left every test green. Exercise a relative path
that resolves to a live server from the bridge's working directory.

* docs: renumber harness MCP ADR and spec after main took 0031/046

Main merged ADR-0031 (workspace AI titles) and specs/046-workspace-titles
while this branch used the same numbers. Move the harness MCP decision to
ADR-0032 and its spec to specs/047-harness-socket-access, updating links.

---------

Co-authored-by: Lucenx9 <185146821+Lucenx9@users.noreply.github.com>
```

## Parents

- [086b7583fba633b637db04aa473175c66b40b084](https://git.cafe/lucenx/signaltty/commit/086b7583fba633b637db04aa473175c66b40b084?format=markdown)

[Source at this commit](https://git.cafe/lucenx/signaltty/tree/2ab2e31df8eea7d67a3d3fdff8d63d5f2b6dc0e4?format=markdown)
