{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-terry-mcp","slug":"npm-terry-mcp","name":"terry-mcp","type":"mcp","url":"https://www.npmjs.com/package/terry-mcp","page_url":"https://unfragile.ai/npm-terry-mcp","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-terry-mcp__cap_0","uri":"capability://tool.use.integration.terry.cli.command.exposure.via.mcp.protocol","name":"terry cli command exposure via mcp protocol","description":"Exposes Terry CLI commands as MCP tools through a standardized Model Context Protocol server interface, enabling LLM clients to discover and invoke Terry operations without direct shell access. Implements MCP tool schema generation that maps CLI arguments to structured function parameters, allowing Claude and other MCP-compatible clients to call Terry commands with type-safe argument passing and response handling.","intents":["Integrate Terry CLI workflows into Claude projects without shell execution","Enable LLM agents to orchestrate Terry operations as part of multi-step reasoning chains","Expose Terry functionality to MCP-compatible clients for automated task execution"],"best_for":["AI engineers building LLM agents that need to interact with Terry CLI","Teams using Claude with MCP servers for workflow automation","Developers migrating from direct shell execution to structured tool calling"],"limitations":["Requires Terry CLI to be installed and available in the system PATH","MCP protocol overhead adds latency compared to direct CLI invocation","No built-in retry logic or error recovery — relies on client-side handling","Limited to Terry's CLI interface — cannot access internal APIs directly"],"requires":["Node.js 16+ (typical for npm packages)","Terry CLI installed and accessible in PATH","MCP-compatible client (Claude, or other MCP consumers)","npm or yarn package manager"],"input_types":["CLI argument strings","Structured JSON parameters mapped to CLI flags"],"output_types":["CLI stdout/stderr as text","Structured JSON responses (if Terry supports JSON output mode)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-terry-mcp__cap_1","uri":"capability://tool.use.integration.mcp.tool.schema.generation.from.cli.interface","name":"mcp tool schema generation from cli interface","description":"Automatically generates MCP-compliant tool schemas by introspecting Terry CLI's command structure, argument definitions, and help text. Converts CLI flags, options, and positional arguments into JSON Schema definitions with proper type constraints, descriptions, and required field markers, enabling clients to validate inputs before execution and provide intelligent autocomplete.","intents":["Automatically discover Terry CLI capabilities without manual schema definition","Enable IDE/client-side validation of Terry command arguments before sending to MCP server","Generate human-readable tool descriptions from CLI help text for LLM context"],"best_for":["MCP server developers wrapping existing CLI tools","Teams wanting to expose CLI tools to LLMs with minimal boilerplate","Automation platforms that need dynamic tool discovery"],"limitations":["Schema generation accuracy depends on CLI help text quality and consistency","Complex nested subcommands may not map cleanly to flat MCP tool schemas","No support for dynamic arguments or context-dependent CLI behavior","Requires Terry CLI to expose structured help (--help flag) in parseable format"],"requires":["Terry CLI with standard --help output","Node.js JSON Schema support (built-in)","MCP server framework (likely included in terry-mcp)"],"input_types":["CLI help text output","Terry command metadata"],"output_types":["JSON Schema objects","MCP tool definitions"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-terry-mcp__cap_2","uri":"capability://tool.use.integration.bidirectional.stdio.communication.with.mcp.clients","name":"bidirectional stdio communication with mcp clients","description":"Implements the MCP server-side protocol handler using Node.js stdio streams, establishing bidirectional JSON-RPC communication with MCP clients (like Claude). Handles message framing, request routing, and response serialization according to the MCP specification, allowing clients to send tool invocation requests and receive results through standard input/output channels.","intents":["Establish persistent MCP connection between Claude and Terry CLI","Route tool invocation requests from MCP clients to Terry CLI execution","Stream command output back to clients with proper error handling"],"best_for":["Developers building MCP servers that wrap CLI tools","Teams integrating with Claude Desktop or other stdio-based MCP clients","Automation platforms using MCP for tool orchestration"],"limitations":["Stdio-based communication limits throughput for large binary outputs","No built-in connection pooling or multiplexing across multiple clients","Process-per-connection model may not scale for high-concurrency scenarios","Requires proper signal handling to avoid zombie processes on client disconnect"],"requires":["Node.js with stdio stream support (all versions)","MCP client that supports stdio transport (Claude Desktop, etc.)","Proper process lifecycle management in parent application"],"input_types":["JSON-RPC messages over stdin","MCP protocol requests"],"output_types":["JSON-RPC responses over stdout","MCP protocol responses"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-terry-mcp__cap_3","uri":"capability://automation.workflow.terry.cli.command.execution.with.output.capture","name":"terry cli command execution with output capture","description":"Executes Terry CLI commands as child processes and captures stdout/stderr output, returning results to MCP clients with proper exit code handling and error propagation. Uses Node.js child_process module to spawn Terry with arguments derived from MCP tool invocation parameters, managing process lifecycle and timeout behavior.","intents":["Execute Terry operations triggered by LLM tool calls","Capture and return command output to Claude for further reasoning","Handle command failures and propagate errors back to MCP clients"],"best_for":["LLM agents that need to execute Terry workflows as part of reasoning chains","Automation systems that orchestrate Terry commands through MCP","Teams building multi-step workflows combining LLM reasoning with Terry execution"],"limitations":["No built-in timeout enforcement — long-running Terry commands may block MCP client","Output size limits may apply if Terry produces large stdout/stderr","No streaming output support — entire command output buffered before returning","Environment variable and working directory context limited to MCP server process"],"requires":["Terry CLI installed and in PATH","Node.js child_process module (built-in)","Sufficient system resources for spawning child processes"],"input_types":["MCP tool invocation with parameters","CLI argument strings"],"output_types":["Command stdout as text","Command stderr as text","Exit code as integer"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-terry-mcp__cap_4","uri":"capability://automation.workflow.mcp.server.lifecycle.management","name":"mcp server lifecycle management","description":"Manages the MCP server process lifecycle including initialization, client connection handling, and graceful shutdown. Implements proper signal handling for SIGTERM/SIGINT to clean up resources, manages the stdio transport connection, and ensures the server remains responsive to client requests throughout its lifetime.","intents":["Keep MCP server running and responsive to Claude requests","Handle server shutdown cleanly without orphaning child processes","Manage connection state between MCP client and Terry CLI wrapper"],"best_for":["Production deployments of MCP servers in Claude Desktop or other clients","Teams needing reliable long-running MCP server processes","Automation platforms that spawn and manage MCP server instances"],"limitations":["No built-in health checks or automatic restart on failure","Limited observability — no structured logging or metrics by default","Single-threaded event loop may block on slow Terry commands","No support for graceful degradation if Terry CLI becomes unavailable"],"requires":["Node.js event loop and signal handling (built-in)","Proper process management by parent application (systemd, supervisor, etc.)","Standard input/output streams available"],"input_types":["OS signals (SIGTERM, SIGINT)","MCP client connection events"],"output_types":["Process exit codes","Cleanup completion status"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":24,"verified":false,"data_access_risk":"moderate","permissions":["Node.js 16+ (typical for npm packages)","Terry CLI installed and accessible in PATH","MCP-compatible client (Claude, or other MCP consumers)","npm or yarn package manager","Terry CLI with standard --help output","Node.js JSON Schema support (built-in)","MCP server framework (likely included in terry-mcp)","Node.js with stdio stream support (all versions)","MCP client that supports stdio transport (Claude Desktop, etc.)","Proper process lifecycle management in parent application"],"failure_modes":["Requires Terry CLI to be installed and available in the system PATH","MCP protocol overhead adds latency compared to direct CLI invocation","No built-in retry logic or error recovery — relies on client-side handling","Limited to Terry's CLI interface — cannot access internal APIs directly","Schema generation accuracy depends on CLI help text quality and consistency","Complex nested subcommands may not map cleanly to flat MCP tool schemas","No support for dynamic arguments or context-dependent CLI behavior","Requires Terry CLI to expose structured help (--help flag) in parseable format","Stdio-based communication limits throughput for large binary outputs","No built-in connection pooling or multiplexing across multiple clients","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.2,"ecosystem":0.3,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:24.483Z","last_scraped_at":"2026-05-03T14:23:43.361Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-terry-mcp","compare_url":"https://unfragile.ai/compare?artifact=npm-terry-mcp"}},"signature":"wC2XpoU5NEUQNQtnfluGLjl2OKZXPn+sZiILDoltfoKQfm8McnVvgUDlXs1KSERRM406oIalOOCLkJsflECBCw==","signedAt":"2026-06-22T06:57:21.742Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-terry-mcp","artifact":"https://unfragile.ai/npm-terry-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=npm-terry-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}