Reported issues for pmcp Desktop Extension by paiml
Pod holds 19 of 27 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to pmcp Desktop Extension by paiml.
Most discussed
cargo pmcp deploy init --target-type google-cloud-run: scaffold .pmcp/deploy.toml with [target] + [gcp] + [server] + [environment] minimum-viable schema
Problem
cargo pmcp deploy init --target-type google-cloud-run (src/deployment/targets/google_cloud_run/mod.rs line ~99) currently scaffolds three files — Dockerfile, .dockerignore, and cloudbuild.yaml — but does not emit a .pmcp/deploy.toml. As a result, app-level configuration (environment variables, region, Cloud Run service name, memory/CPU sizing, ingress controls, allow-unauthenticated) has no declarative path. Operators who need to wire these values to a deployed serv
Read the thread · 2026-05-19 · open · 2 comments
cargo pmcp deploy --target-type google-cloud-run: switch default runtime base to gcr.io/distroless/cc-debian12 with opt-out [runtime] base knob
Problem
The generated Dockerfile produced by cargo pmcp deploy --target-type google-cloud-run (source: cargo-pmcp/src/deployment/targets/google_cloud_run/dockerfile.rs) uses FROM debian:bookworm-slim as the runtime stage and apt-installs ca-certificates and libssl3, producing runtime images on the order of ~80 MB. The runtime layer includes a full shell (bash/sh), apt, and a system package manager — none of which are required for a Rust HTTP server and all of which add to the a
Read the thread · 2026-05-19 · open · 2 comments
cargo pmcp deploy init --target-type google-cloud-run: support multi-crate isolated layouts via opt-in [layout] block in deploy.toml
Problem
cargo pmcp deploy init --target-type google-cloud-run emits one of two Dockerfile templates depending on detected layout, and both templates fail on multi-crate isolated layouts — for different reasons. The workspace template (cargo-pmcp/src/deployment/targets/google_cloud_run/dockerfile.rs line ~14) uses COPY . . followed by a cargo metadata regex-based step that excludes packages with "lambda" in their name. On a multi-crate isolated layout this over-bundles: every
Read the thread · 2026-05-19 · open · 2 comments
feat: Add OAuth client-side middleware with token injection and auto-refresh
Problem
The SDK has comprehensive server-side OAuth support (bearer token validation, scope middleware) but lacks client-side OAuth middleware for:
- Automatic token injection into outgoing requests
- 401/403 detection and automatic token refresh
- Retry logic after re-authentication
- Token lifecycle management (expiry tracking, proactive refresh)
This is critical for MCP clients connecting to OAuth-protected servers. The TypeScript SDK provides withOAuth for this use case.
Propo
Read the thread · 2025-10-08 · closed · 2 comments
feat: Add HttpMiddleware trait for transport-level HTTP concerns
Problem
The current middleware system operates at the Protocol/JSON-RPC layer, which misses HTTP-specific concerns like:
- Header injection (auth tokens, correlation IDs, custom headers)
- Request/response logging with header inclusion
- Status code-based conditionals (retry on 429, circuit break on 503)
- HTTP-specific transformations before reaching Protocol layer
The TypeScript SDK provides fetch-wrapping middleware for these concerns. We need equivalent ergonomics.
Proposed Solution
Read the thread · 2025-10-08 · closed · 2 comments
fix: .cargo/config.toml has local /mnt/zram/targets path — breaks CI
Bug
All CI jobs fail with:
error: failed to create directory /mnt/zram/targets — Permission denied (os error 13)
.cargo/config.toml has target-dir = "/mnt/zram/targets" committed, which only exists on a local dev machine.
Five-Whys
- Why permission denied?
/mnt/zram/targetsdoesn't exist on GitHub runners. - Why is Cargo using that path?
.cargo/config.tomlsetstarget-dir. - Why is a local path in the repo? Developer's zram ramdisk config was committed.
Read the thread · 2026-04-05 · closed · outside contributor · 1 comment
Stdio Transport Non-Compliance with MCP Specification
The stdio transport implementation uses HTTP-style Content-Length header framing instead of the newline-delimited JSON-RPC messages required by the MCP specification. This causes incompatibility with standard MCP clients.
The specification is exacting here:
Messages are individual JSON-RPC requests, notifications, or responses.
Messages are delimited by newlines, and MUST NOT contain embedded newlines.
The server MUST NOT write anything to its stdout that is not a valid MCP message.
The
[Read the thread](https://github.com/paiml/rust-mcp-sdk/issues/158) · 2026-01-15 · closed · outside contributor · 1 comment
### feat: Add first-class middleware integration to Client/Protocol/Transport
## Summary
The middleware system (`Middleware`, `AdvancedMiddleware`, `MiddlewareChain`, `EnhancedMiddlewareChain`) is comprehensive and powerful, but there's no standard integration path to attach middleware to `Client`, `Protocol`, or `Transport`. Users must manually invoke middleware chains, which is error-prone and defeats the purpose of having middleware infrastructure.
## Current State
**What exists:**
- ✅ Comprehensive middleware traits (`Middleware`, `AdvancedMiddleware`)
- ✅ Chain im
[Read the thread](https://github.com/paiml/rust-mcp-sdk/issues/80) · 2025-10-08 · closed · 1 comment
## Most recent
### StdioTransport: stdin EOF disables stdout, dropping responses to already-accepted requests
# StdioTransport: stdin EOF disables stdout, dropping responses to already-accepted requests
## Summary
`StdioTransport` uses a single `closed` flag for two independent streams. Reaching EOF on
**stdin** sets it, and `send()` then refuses every **stdout** write. A client that pipes a
batch of requests and closes stdin — the normal shape of a one-shot MCP session — never
receives the responses to requests the server already accepted and answered.
## Where
`src/shared/stdio.rs` (v2.17.0):
Read the thread · 2026-07-31 · closed · outside contributor · 0 comments
pmcp-workbook-server: 2 stale golden-tool tests quarantined from workspace-test gate
Summary
Two tests in pmcp-workbook-server fail against the committed golden bundle and are quarantined from the workspace-test CI gate (--exclude pmcp-workbook-server) so unrelated PRs can merge. They need workbook-domain review.
Failing tests
crates/pmcp-workbook-server/src/assemble.rs:
assemble::tests::build_server_from_golden_registers_five_tools(panics at:130)assemble::tests::matching_bundle_id_succeeds(panics at:142)
Both assert the server built from t
Read the thread · 2026-07-05 · open · 0 comments
wasm support for pmcp-macros
Love that this project supports webassembly though I notice that the WasmMcpServer uses WasmTool, WasmResource and WasmPrompt rather than ToolHandler, PromptHandler and ResourceHandler. I've not spent a ton of time digging into the macro generation
Read the thread · 2026-06-11 · open · external user · 0 comments
Phase 75 SATD: cargo-pmcp commands roadmap (landing build, dev watch, add scaffolding)
Outstanding SATDs from Phase 75 Plan 75-04 triage (D-04)
Filed as part of Phase 75 SATD triage. Replaces 4 // TODO: Implement ... comments in cargo-pmcp/src/commands/ with // See #NNN — references after this issue is filed.
Outstanding follow-ups
-
cargo-pmcp/src/commands/landing/mod.rs:92— Implement thelanding buildsubcommand (currently prints "Build command coming in Phase 1!" and asks the user to fall back tonpm run build). - `cargo-pmcp/src/commands/landing/
Read the thread · 2026-04-25 · closed · 0 comments
Phase 75 SATD: wire aws-sdk-secretsmanager into AWS secrets provider
Outstanding SATDs from Phase 75 Plan 75-04 triage (D-04)
Filed as part of Phase 75 SATD triage. Replaces 4 // TODO: Implement with aws-sdk-secretsmanager comments in cargo-pmcp/src/secrets/providers/aws.rs with // See #NNN — references after this issue is filed.
Outstanding follow-ups
-
cargo-pmcp/src/secrets/providers/aws.rs:96—list(): integrateaws-sdk-secretsmanagerlist_secretsAPI; remove theErr(SecretError::ProviderError { ... "not yet implemented" })stub.
Read the thread · 2026-04-25 · closed · 0 comments
Stdio example not working
Try example from README.md in the project root. Server started but not respond.
Read the thread · 2025-11-27 · open · external user · 0 comments
RFC: cargo-pmcp - Production-Grade MCP Server Development Toolkit
RFC: cargo-pmcp - Production-Grade MCP Server Development Toolkit
Type: RFC / Feature Request
Labels: enhancement, RFC, tooling, cargo-pmcp, discussion
Summary
We propose cargo-pmcp - a batteries-included toolkit for building production-grade MCP servers in Rust. This RFC is based on real-world experience building 6 production MCP servers and incorporates proven patterns for security, scalability, and developer experience.
Goal: Make cargo-pmcp the
Read the thread · 2025-10-23 · closed · 0 comments
feat: Improve middleware developer ergonomics with macros, presets, and examples
Problem
Creating custom middleware currently requires significant boilerplate:
- Manual trait implementations with async-trait
- Verbose struct definitions
- Repetitive priority/should_execute implementations
- No guidance on typical middleware stacks per transport
The TypeScript SDK provides createMiddleware helper for concise middleware creation. We need equivalent Rust ergonomics plus:
- Macro for concise custom middleware
- Pre-configured middleware stacks per transport
- Concrete int
Read the thread · 2025-10-08 · closed · 0 comments
feat: Add Prometheus and OpenTelemetry exporters for middleware metrics
Problem
The existing MetricsMiddleware collects metrics but lacks integration with standard observability platforms:
- No Prometheus exporter for scraping
- No OpenTelemetry integration for distributed tracing
- No histogram/percentile metrics (only counters)
- Manual metrics retrieval required
Production deployments need:
- Automatic metrics export to monitoring systems
- Distributed tracing correlation
- Standard metric formats (Prometheus, OTLP)
- Histograms for latency distribution
Read the thread · 2025-10-08 · open · 0 comments
feat: Add CompressionMiddleware for HTTP/WebSocket payloads
Problem
Large JSON-RPC payloads (especially resource content, tool results, and prompt responses) can significantly impact:
- Network bandwidth usage
- Request/response latency
- Mobile/edge deployment performance
The TypeScript SDK doesn't have built-in compression, but this is a common production need for HTTP/WebSocket transports. Stdio transport should NOT use compression (breaks line-delimited framing).
Proposed Solution
Add CompressionMiddleware that operates at the HTTP transp
Read the thread · 2025-10-08 · open · 0 comments
feat: Enhance CircuitBreakerMiddleware and RateLimitMiddleware with scoping and metrics
Problem
Current CircuitBreakerMiddleware and RateLimitMiddleware implementations are global and lack production-grade features:
CircuitBreakerMiddleware limitations:
- Global state (no per-endpoint/method/session scoping)
- No persistence (resets on restart)
- No aggregated metrics/observability
- Fixed thresholds (no dynamic adjustment)
RateLimitMiddleware limitations:
- Global limits (no per-endpoint/method/session scoping)
- No persistence across restarts
- No distributed co
Read the thread · 2025-10-08 · closed · 0 comments
The remaining reports are on the project's issue tracker.