Skip to content

MCP: decide scope and direction #10

@kiyeonjeon21

Description

@kiyeonjeon21

snact has an MCP server (snact mcp) that exposes snap, read, click, fill, eval, etc. as JSON-RPC tools. But the scope has drifted as the CLI has grown.

Current state

  • MCP exposes core commands (snap, read, click, fill, type, select, scroll, eval, wait, screenshot, session, browser)
  • Record/replay is CLI-only — not exposed via MCP
  • New CLI features (idle-timeout, etc.) aren't reflected in MCP tool schemas
  • Schema introspection (snact schema) and MCP tool definitions are maintained separately — easy to get out of sync

Questions to resolve

  1. Who uses MCP? Claude Desktop and other MCP-only clients. Claude Code and scripted agents call the CLI directly — MCP adds nothing for them.
  2. Should record/replay be in MCP? Recording is cross-invocation state that doesn't map cleanly to MCP's request/response model.
  3. Is maintaining two surfaces (CLI + MCP) worth the cost? Every new feature needs CLI args, schema output, AND MCP tool definitions. That's three places to update.
  4. Alternative: keep MCP as a thin stable subset (snap/read/act) and let power features live in CLI only.

Not blocking anything — just needs a decision before adding more MCP tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions