Skip to main content

Crate smbcloud_ascapi_mcp

Crate smbcloud_ascapi_mcp 

Source
Expand description

App Store Connect MCP contract.

Defines the canonical tool set exposed by asc --mcp. Each name is supplied by the embedder through crate::ascapi_mcp_tools, so the standalone binary and any host that re-exposes this contract share one implementation and one public surface. Same arrangement xcrs uses in smbcloud-cli.

§Two rules this server is built around

stdout belongs to the protocol. The stdio transport carries JSON-RPC on stdout, so a stray println! anywhere beneath a tool call corrupts the stream, and the failure surfaces as a parse error in the client a long way from its cause. Nothing in this path may write to stdout; diagnostics go to stderr.

Tool results are read by a model. Private keys and raw certificate bodies never appear in a result; see smbcloud_ascapi_frontend for where that is enforced.

§What is deliberately absent

Certificate revocation. asc certificates revoke exists on the command line and is intentionally not a tool: revoking a distribution certificate invalidates every provisioning profile embedding it, for every teammate and every CI job, at once and irreversibly. That is not an action a language model should take from a prompt, and no confirmation string typed by the model rather than the human makes it safer. Deletes that are scoped and recreatable (a version, a localization, a screenshot) are exposed, annotated destructive.

Re-exports§

pub use server::serve;
pub use server::AscapiMcpServer;
pub use requests::*;

Modules§

requests
Tool parameter types.
server
The asc --mcp server.

Macros§

ascapi_mcp_tools