| name | rust-pmcp-skill |
|---|---|
| description | Build and audit production Rust MCP servers with PAIML PMCP 2.17 and cargo-pmcp 0.20. Use for Rust MCP tools, prompts, resources, stdio or HTTP transports, schemas, testing, deployment, or migration from rmcp. |
Use PAIML pmcp/cargo-pmcp, not rmcp, unless the repository requires rmcp.
- Inspect
Cargo.toml,Cargo.lock, source, MSRV, and the installedpmcpfeature set before changing code. Honor an existing lock; otherwise usepmcp = "=2.17.0",cargo-pmcp0.20.0, and Rust 1.91. - Check current official PMCP docs and the exact locked API before writing snippets. Compile first, then add focused tests.
- For local servers, protect stdio protocol stdout; diagnostics go to stderr. Validate through the official SDK/client and MCP Inspector, not ad-hoc pipes alone.
- Use typed inputs and truthful outputs. Runtime paths do not use
unwraporexpect; add cancellation/progress only for real long-running work. - Read only the needed reference:
references/pmcp-production-guide.mdfor API, schemas, transport, and safetyreferences/cargo-pmcp-workflow.mdfor scaffold and CLI workflowreferences/testing-security-deploy.mdfor protocol, snapshot, and security testsreferences/migration-rmcp-to-pmcp.mdfor migrationreferences/version-matrix.mdfor PMCP 2.6-2.17 and cargo-pmcp 0.15-0.20 adoption decisionsreferences/sources.mdfor official-source checks
Do not use for non-MCP Rust services, browser/UI work, or generic CLI apps with no MCP surface.