{"id":"samuraigpt-muapi-cli","name":"muapi-cli","homepage":"https://muapi.ai","repo_url":"https://github.com/SamurAIGPT/muapi-cli","category":"ai-ml","subcategories":[],"tags":["ai","cli","generative-ai","image-generation","video-generation","audio-generation","mcp","automation","devtools"],"what_it_does":"Command-line interface for muapi.ai to generate and process generative media (images, videos, audio), manage account/credits and API keys, upload files, and optionally run an MCP (Model Context Protocol) server for agent integration.","use_cases":["Agentic generation of images, videos, and audio from prompts","Async media generation with request_id/polling and output downloads","On-the-fly enhancement operations (upscale, background removal, face swap, style conversions, outpainting)","File upload workflows for image/video editing pipelines","API key lifecycle management from automation/CI scripts","Integrating muapi.ai capabilities into MCP-compatible agents (Claude Desktop/Cursor) via stdio MCP server"],"not_for":["High-assurance or compliance-critical systems without additional security review","Use cases requiring granular programmatic control beyond CLI surface area (no documented REST/GraphQL/SDK here)","Workflows that need robust idempotency guarantees across retries (not documented)"],"best_when":"You want a terminal-first, agent-friendly wrapper with JSON output for automation, plus MCP tool exposure for agent workflows.","avoid_when":"You require explicit documented retry/idempotency semantics, detailed rate-limit headers, or guarantees about stable tool contracts across releases.","alternatives":["Direct API integration (if available) instead of CLI/MCP","Other SDKs/CLIs specific to the underlying model providers","MCP integrations via a custom gateway service that wraps muapi endpoints with your own auth/error/retry semantics"],"af_score":69.0,"security_score":62.8,"reliability_score":28.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:25:05.099421+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Email/password registration + OTP verification","Email/password login (stores API key automatically)","Manual API key configuration","Keychain/config-based API key storage","Environment variable MUAPI_API_KEY override"],"oauth":false,"scopes":false,"notes":"Auth in the CLI is via an API key stored locally (keyring hinted in dependencies) and/or overridden by MUAPI_API_KEY. No OAuth flows or fine-grained scopes are documented in the provided README."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"README mentions credits/balance and Stripe checkout for topup, but does not document free tiers, specific pricing tiers, or workload cost estimates."},"requirements":{"requires_signup":true,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":69.0,"security_score":62.8,"reliability_score":28.8,"mcp_server_quality":78.0,"documentation_accuracy":82.0,"error_message_quality":null,"error_message_notes":"README documents semantic exit codes (0,1,3,4,5,6,7,8) but does not show structured error JSON fields or recovery guidance.","auth_complexity":85.0,"rate_limit_clarity":35.0,"tls_enforcement":80.0,"auth_strength":65.0,"scope_granularity":30.0,"dependency_hygiene":70.0,"secret_handling":70.0,"security_notes":"Uses an API key and supports MUAPI_API_KEY override; secret handling appears intended to be via keyring/config (dependency includes keyring), and API key display is masked. However, fine-grained scopes are not documented, and the README does not detail TLS requirements, secure storage guarantees, or protection against verbose logging of secrets beyond the masked 'whoami' behavior.","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":30.0,"error_recovery":45.0,"idempotency_support":"false","idempotency_notes":"Asynchronous job submission/generation commands are not documented as idempotent; retry behavior and duplicate prevention are not described.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Generated jobs are asynchronous; agents must poll using predict wait/result when --no-wait is used.","Rate limiting is indicated by an exit code, but the README does not specify backoff strategy or whether retry-after is available in headers.","Some commands have human-centric options (colored output) and agent-centric ones (--output-json, --jq); agents must consistently request JSON mode for reliable parsing."]}}