{"schema_version":"1.4","target":{"id":"crewai","name":"CrewAI","priority":88,"operator_type":"agent_orchestration_framework","activation_state":"install_packet_ready","zinvyl_acquisition_cost":"zero","official_source":"https://docs.crewai.com/en/mcp/overview","observed_capability":"CrewAI operators can attach remote Streamable HTTP MCP servers and filter the tools available to an agent.","authority_gap":"Tool access does not imply funds or authority; the crew must be given the exact bounded delegation contract."},"acquisition_source":"workflow_orchestrator","operator_activation_page":"https://zinvyl.com/marketplace/activate-agent?target=crewai","campaign":"https://zinvyl.com/marketplace/campaigns/authorized-buyer-agent.json?source=workflow_orchestrator","mcp_server":{"url":"https://zinvyl.com/marketplace/agent-mcp","transport":"streamable_http","acknowledgement_tool":"acknowledge_purchase_offer","preflight_tool":"preflight_agent_purchase","purchase_tool":"buy_matching_service","continuation_tool":"resume_agent_purchase","recovery_tool":"recover_abandoned_purchase"},"install":{"connection_name":"Zinvyl Marketplace Agent Gateway","server_url":"https://zinvyl.com/marketplace/agent-mcp","transport":"streamable_http","authentication":"none","allowed_tools":["get_purchase_requirements","get_acceptance_tests","buy_matching_service"],"setup":["Attach the remote Streamable HTTP MCP server to the buyer crew.","Filter tools to the allowed_tools list.","Place the exact delegation and purchase instruction in the purchasing agent task."]},"transaction_profile":{"merchant_endpoint":"https://zinvyl.com/marketplace/agent-mcp","purchase_tool":"buy_matching_service","offer_allowlist":["zinvyl.api.failure-triage.v1"],"maximum_amount_minor":4900,"currency":"usd","funding_truth":"stripe_webhook_verified_orders","never_infer":["principal authority","terms acceptance","safe scope","funding"],"connection_class":"tool_invocation_only","payment_capability":"external_payment_agent_or_stripe_hosted_fallback_required","purchase_path":"mcp_tool_to_zinvyl_payment_route_then_payment_capable_agent_or_authorized_human_checkout","buyer_side_requirements":["remote MCP connection","operator-controlled exact delegation","stable idempotency key","a payment-capable agent able to handle MPP or an authorized human able to complete Stripe-hosted checkout"],"zinvyl_automates":["offer matching","authority validation","idempotent purchase intent","MPP and hosted checkout route issuance","Stripe funding confirmation","order creation"],"external_gate":"This runtime can call tools but its official connection documentation does not establish a funded buyer wallet. Tool connectivity alone is not purchase capability.","operator_test":"The runtime calls buy_matching_service with truthful bounded authority; if it cannot handle MPP, it forwards the exact Stripe-hosted route to the authorized principal without claiming payment."},"buyer_agent_enrollment":{"human_account":"https://zinvyl.com/marketplace/account","issue_credential":{"method":"POST","endpoint":"https://zinvyl.com/marketplace/api/account/agents","requires":["signed-in organization owner or admin","recent MFA when enrolled","agent name","offer allowlist","USD ceiling"]},"issue_signed_mandate":{"method":"POST","endpoint":"https://zinvyl.com/marketplace/api/account/agents/mandates","requires":["buyer agent ID","sanitized bounded task summary","offer allowlist within credential","ceiling within credential","5-1440 minute lifetime"]},"agent_authentication":{"header":"Authorization: Bearer zv_buyer_…","storage":"operator secret manager only","scopes":["purchase:route","orders:read"]},"mandate_binding":["organization","agent","exact offer allowlist","maximum amount","USD","current terms","sanitized scope digest","expiration"]},"qualification_rule":"Connection, packet retrieval, product matching, and contract delivery are not purchase readiness. A qualified buyer arrival begins only when the buyer's principal supplies the exact offer allowlist, USD ceiling, current terms acceptance, and safe-scope confirmation to the purchase tool.","receipt_only_continuation":{"tool":"acknowledge_purchase_offer","status_endpoint":"https://zinvyl.com/marketplace/api/agent-continuation","required_match_fields":["continuation_token","exact offer_id","acquisition_source"],"required_receipt_fields":["continuation_token","exact offer_id","acquisition_source","offer_received_and_stored=true"],"optional_durable_return_fields":["stable_agent_id paired with continuation_method","operator_linked_confirmed=true only when truthful","approval mode and mandate fields only when separately delegated"],"rule":"Use once when the installed agent received the exact offer but cannot purchase, forward approval, or decline yet. Receipt-only acknowledgement needs no operator identity or return method. If a durable return path is registered, provide both the truthful stable agent ID and continuation method.","boundary":"Records receipt only, and optionally a durable return path. It does not establish assent, operator identity, purchasing authority, payment, an order, or work authorization."},"principal_authorization_template":{"offer_allowlist":["zinvyl.api.failure-triage.v1"],"maximum_amount_minor":4900,"currency":"usd","terms_version":"2026-10-27.1","terms_accepted":false,"delegated_authority_confirmed":false,"scope":"bounded_sanitized_api_failure_trace","instruction":"The principal must deliberately change both false values to true inside the operator-controlled runtime. Zinvyl and the agent must never infer or pre-authorize them."},"buy_matching_service_template":{"buyer":{"organization":"BUYING_ORGANIZATION","contact_email":"AUTHORIZED_BUSINESS_CONTACT","request_id":"STABLE_BUYER_SCOPED_IDEMPOTENCY_KEY","acquisition_channel":"workflow_orchestrator"},"task_summary":"Triage one supplied sanitized error trace from a webhook endpoint that returns HTTP 500 on retry, without repair or root cause analysis.","purchase_authority":{"maximum_amount":4900,"currency":"usd","delegated_authority_confirmed":false,"terms_version":"2026-10-27.1","terms_accepted":false,"allowed_offer_ids":["zinvyl.api.failure-triage.v1"],"mandate_token":"PRINCIPAL_ISSUED_SIGNED_MANDATE_REQUIRED_FOR_HOSTED_CHECKOUT_UNLESS_ACTIVE_DELEGATED_CARD_POLICY_APPLIES"},"safe_scope_confirmed":false},"required_runtime_replacements":["buyer credential","principal-issued signed mandate for hosted checkout unless an active delegated-card policy applies","buyer.organization","buyer.contact_email","buyer.request_id","task_summary","purchase_authority.delegated_authority_confirmed","purchase_authority.terms_accepted","safe_scope_confirmed"],"operator_instruction":"For the first hosted purchase, enroll the buyer agent with its standing offer allowlist and per-purchase ceiling, issue a scope-bound one-use mandate, and keep both secrets outside prompts. Run preflight_agent_purchase, then invoke buy_matching_service with unchanged fields and continue through Stripe-hosted checkout. An active organization payment method may later enable delegated-card settlement under the standing policy without a one-use mandate. Use resume_agent_purchase after interruption and recover_abandoned_purchase only after expiration. Do not stop after displaying the offer. Do not change a false confirmation to true on the principal's behalf.","acceptance_checks":["MCP initialize succeeds","acknowledge_purchase_offer is discoverable and can record receipt without operator linkage or commercial side effects","preflight_agent_purchase is read-only","buy_matching_service is discoverable","a missing, tampered, expired, replayed, or out-of-bounds mandate fails closed","an authorized invocation returns a payment route","an expired reservation can resume only the original idempotent intent with its unchanged request ID and transaction binding","no order is funded until Stripe verifies payment"],"funnel":["operator_activation_packet_retrieved","operator_installed","authorized_campaign_retrieved","offer_acknowledged","continuation_registered","delegated_authority_presented","purchase_call_invoked","payment_route_issued","funded"],"external_action":"An operator must install this packet in its own controlled agent; Zinvyl does not send messages or modify external systems automatically."}