dwmkerr / dwmkerr/shellwright

feat: add MCP resources for sessions, screenshots, and recordings

Open
#32 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
37
Forks
5
Avg merge
3d 23h
Merged PRs (30d)
1

Description

## Summary

Add MCP resources to allow LLMs to browse sessions and their outputs without needing filesystem access.

## Proposed Resources

### Sessions

| Resource URI | Description |
|--------------|-------------|
| `sessions://list` | List all active shell sessions |
| `session://{id}/info` | Session details (cols, rows, command, recording status) |
| `session://{id}/buffer` | Current terminal buffer content |
| `session://{id}/screenshots` | List screenshots taken in this session |
| `session://{id}/recordings` | List recordings from this session |

### Example Usage

```
LLM: "What sessions do I have open?"
→ Read resource: sessions://list
← [{ id: "shell-session-a1b2c3", command: "bash", cols: 80, rows: 24 }]

LLM: "What screenshots did I take?"
→ Read resource: session://shell-session-a1b2c3/screenshots
← [{ name: "step1.png", download_url: "...", created: "..." }]
```

## Benefits

- LLMs can discover what they've captured without filesystem access
- Works with MCP clients that don't have Bash/file read tools (Claude Desktop, ChatGPT)
- Complements #27 (inline images) - resources list what's available, inline mode returns content

## Implementation Notes

- Resources are read-only views of existing session state
- Screenshot/recording lists already tracked internally
- Could optionally return inline base64 for image resources (ties into #27)

## Related Issues

- #27 - Add inline image response mode for broader MCP client compatibility

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.