Process manager MCP server - a long-lived daemon (pmmcpd) that supervises child processes with IPC control plane, gRPC transport, and declarative project management
pmmcp exposes 17 tools with basic schemas and descriptions, but falls short of production quality. All tools have descriptions (10-100 chars, mostly 50-80), and input schemas are present with typed parameters. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool or what happens next. Parameter descriptions are minimal (5-20 chars). No output schemas are documented. Error handling is absent, no guidance on retryability, recovery steps, or actionable error messages. Tools like process.start and project.apply are high-risk (WRITE/DESTRUCTIVE) but lack confirmation patterns or dry-run support. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Naming is verb-first and clear (process.start, logs.subscribe), but parameter naming is inconsistent (timeout_sec vs max_duration_sec). No pagination support visible on list tools. Overall: functional but not LLM-optimized.
Subscribe to domain events with streaming
Add a process to a group
Create a process group
Subscribe to process logs (stdout/stderr) with streaming
List all managed processes, optionally filtered by project
Start a new managed process with optional sandbox, ports, and environment configuration
Get status of a managed process by ID or name
Stop a managed process with optional timeout and force flag
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream tool chaining and data extraction.
Destructive/WRITE tools (process.stop, project.apply, secret.set, share.grant) lack confirmation patterns, dry-run support, or error recovery guidance. Agents can cause irreversible damage without safeguards.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. LLMs cannot distinguish safe reads from dangerous writes without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Wait for a managed process to exit
Create a process profile template
Apply a declarative project configuration (YAML manifest)
Compute declarative drift between desired and running state
Retrieve a secret value from the keyring
Store a secret value in the keyring
Grant access to a process to another principal
Set up file system watch on a process
Register a webhook for process events
Parameter descriptions are minimal (5-20 chars). LLMs cannot determine valid formats, ranges, or dependencies. E.g., 'Stream type: stdout, stderr, or both' lacks enum constraint; 'Graceful stop timeout in seconds' lacks min/max bounds.
No error handling guidance. Tools return no recovery hints, retryability classification, or actionable error messages. Agents cannot self-correct on failure.