Goal
Make connect to Moshcode a first-class action from ChatGPT, Claude, Chovy, and other MCP clients. Moshcode remains the session and tool layer; Chovy adds an operator UX, integrations, and automation on top.
User flow
- Start a live Moshcode session.
- Run
/mcp answer (/mcp share can be an alias).
- Moshcode prints a unique endpoint such as
https://moshcode.sh/api/v1/mcp/<opaque-share-id>.
- Add that endpoint to ChatGPT, Claude, or Chovy.
- Authorize with browser OAuth, or OAuth device authorization for headless/operator clients.
- The client can read the session, answer prompts, approve or deny confirmations, send bounded input, and interrupt work according to granted scopes.
MCP tools
session_read
session_answer
session_approve
session_send
session_cancel
Security requirements
- Opaque, per-session share IDs with short expiry and explicit revocation.
- OAuth 2.1 authorization code flow with PKCE for ChatGPT/Claude web clients.
- RFC 8628 device authorization for terminal, headless, and operator use.
- Access tokens bound to one exact MCP resource and session share.
- Scoped read, write, approval, and cancel permissions.
- Rotating refresh tokens, single-use authorization codes, and revocation.
- Audit action metadata without storing command or answer bodies.
- Only the session owner can create or approve a share.
Delivery
- Publish OAuth authorization-server and protected-resource metadata.
- Implement Streamable HTTP MCP at
/api/v1/mcp/:shareId.
- Add dynamic client registration for compatible MCP clients.
- Add
/mcp answer, /mcp status, and /mcp revoke operator commands.
- Add tests for ownership, token replay, scope enforcement, tool calls, and revocation.
- Document ChatGPT, Claude, and Chovy setup.
Follow-up
Expose the same live-session stream to PairUX so an operator can watch or pair on a Moshcode session from the web or mobile interface.
Goal
Make connect to Moshcode a first-class action from ChatGPT, Claude, Chovy, and other MCP clients. Moshcode remains the session and tool layer; Chovy adds an operator UX, integrations, and automation on top.
User flow
/mcp answer(/mcp sharecan be an alias).https://moshcode.sh/api/v1/mcp/<opaque-share-id>.MCP tools
session_readsession_answersession_approvesession_sendsession_cancelSecurity requirements
Delivery
/api/v1/mcp/:shareId./mcp answer,/mcp status, and/mcp revokeoperator commands.Follow-up
Expose the same live-session stream to PairUX so an operator can watch or pair on a Moshcode session from the web or mobile interface.