이 MCP로 할 수 있는 일
Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human approval controls.
도구
입력 스키마
{'type': 'object', 'required': ['call_id'], 'properties': {'call_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'live_line_touched': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'live_line_touched': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['call_id'], 'properties': {'call_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'live_line_touched': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id'], 'properties': {'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'artifact_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'target'], 'properties': {'format': {'enum': ['short', 'long', 'bullets', 'paste_safe', 'markdown', 'html', 'email_safe', 'json'], 'type': 'string'}, 'target': {'enum': ['markdown', 'html', 'email_draft', 'linkedin_draft', 'cogentcast_content', 'talent_scout_workspace', 'json', 'pdf', 'docx'], 'type': 'string'}, 'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'artifact_id': {'type': 'string'}, 'target_config': {'type': 'object'}, 'idempotency_key': {'type': 'string'}, 'approval_event_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'artifact_type'], 'properties': {'lane': {'enum': ['external', 'internal', 'sales', 'authority', 'application', 'regulated_financial'], 'type': 'string'}, 'format': {'enum': ['short', 'long', 'bullets', 'paste_safe', 'markdown', 'html', 'email_safe', 'json'], 'type': 'string'}, 'locale': {'type': 'string'}, 'audience': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'caller_type': {'enum': ['internal_agent', 'consumer_chat', 'external_api', 'mcp_client'], 'type': 'string'}, 'brand_kit_id': {'type': 'string'}, 'voice_anchor': {'type': 'string'}, 'artifact_type': {'enum': ['blog', 'linkedin_post', 'proposal', 'upwork_answer', 'email', 'bio', 'cover_letter', 'case_study', 'comment', 'newsletter', 'landing_page_copy', 'form_answer', 'strategy_note', 'operating_doctrine', 'decision_log', 'research_synthesis', 'outreach', 'follow_up', 'objection_response', 'correspondence_response', 'one_pager', 'work_sample', 'portfolio_summary', 'founder_pov', 'framework_essay', 'cfo_memo', 'board_finance_brief', 'qew_report', 'scenario_analysis', 'capital_allocation_brief', 'kpi_narrative', 'market_commentary', 'custom'], 'type': 'string'}, 'budget_policy': {'type': 'object'}, 'variant_count': {'type': 'integer', 'maximum': 3, 'minimum': 0}, 'source_context': {'type': ['object', 'string']}, 'idempotency_key': {'type': 'string'}, 'output_language': {'type': 'string'}, 'variant_strategy': {'type': 'string'}, 'voice_profile_id': {'type': 'string'}, 'analysis_findings': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'refinement_instruction'], 'properties': {'lane': {'enum': ['external', 'internal', 'sales', 'authority', 'application', 'regulated_financial'], 'type': 'string'}, 'format': {'enum': ['short', 'long', 'bullets', 'paste_safe', 'markdown', 'html', 'email_safe', 'json'], 'type': 'string'}, 'audience': {'type': 'string'}, 'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'artifact_type': {'enum': ['blog', 'linkedin_post', 'proposal', 'upwork_answer', 'email', 'bio', 'cover_letter', 'case_study', 'comment', 'newsletter', 'landing_page_copy', 'form_answer', 'strategy_note', 'operating_doctrine', 'decision_log', 'research_synthesis', 'outreach', 'follow_up', 'objection_response', 'correspondence_response', 'one_pager', 'work_sample', 'portfolio_summary', 'founder_pov', 'framework_essay', 'cfo_memo', 'board_finance_brief', 'qew_report', 'scenario_analysis', 'capital_allocation_brief', 'kpi_narrative', 'market_commentary', 'custom'], 'type': 'string'}, 'source_content': {'type': 'string'}, 'source_context': {'type': ['object', 'string']}, 'idempotency_key': {'type': 'string'}, 'new_source_context': {'type': ['object', 'string']}, 'refinement_instruction': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'draft_id'], 'properties': {'approved': {'type': 'boolean'}, 'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'reuse_tags': {'type': 'array', 'items': {'type': 'string'}}, 'learning_scope': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'approval_event_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['audit_project_id'], 'properties': {'tenant_id': {'type': 'string'}, 'audit_project_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'role': {'type': 'string', 'description': 'Optional expected wallet/MCP consumer role. A mismatch fails role readiness closed.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'service', 'schema_version', 'generated_at', 'canonical_url', 'auth', 'role_readiness', 'role_tool_contract', 'tools'], 'properties': {'ok': {'type': 'boolean'}, 'auth': {'type': 'object', 'properties': {'status': {'type': 'string'}, 'consumer': {'type': 'string'}, 'access_tier': {'type': 'string'}}, 'additionalProperties': True}, 'tools': {'type': 'object', 'properties': {'count': {'type': 'integer'}, 'names': {'type': 'array', 'items': {'type': 'string'}}, 'source_compliance': {'type': 'string'}}, 'additionalProperties': True}, 'service': {'type': 'string'}, 'generated_at': {'type': 'string'}, 'canonical_url': {'type': 'string'}, 'role_readiness': {'type': 'object', 'required': ['schema_version', 'role', 'authenticated_role', 'profile_source', 'status', 'operational_ready', 'transport', 'authentication', 'catalog', 'operational', 'diagnostics'], 'properties': {'role': {'type': 'string'}, 'status': {'enum': ['degraded', 'not_ready'], 'type': 'string'}, 'catalog': {'type': 'object', 'additionalProperties': True}, 'transport': {'type': 'object', 'additionalProperties': True}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'operational': {'type': 'object', 'additionalProperties': True}, 'authentication': {'type': 'object', 'additionalProperties': True}, 'profile_source': {'type': 'string'}, 'schema_version': {'type': 'string'}, 'operational_ready': {'type': 'boolean'}, 'authenticated_role': {'type': 'string'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string'}, 'role_tool_contract': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['package_id', 'approval_receipt_id'], 'properties': {'package_id': {'type': 'string'}, 'approval_receipt_id': {'type': 'string'}}}
출력 스키마
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['preview_digest'], 'properties': {'input': {'type': 'object', 'required': ['content_type'], 'properties': {'deck': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'A real Office Open XML .pptx container. Deck text is visual input and is never spoken.', 'additionalProperties': False}, 'title': {'type': 'string'}, 'format': {'enum': ['16:9', '9:16'], 'type': 'string'}, 'script': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'Canonical Markdown narration source. Markdown syntax, front matter, hidden notes, production notes, URLs, and metadata are never spoken.', 'additionalProperties': False}, 'cta_url': {'type': 'string', 'format': 'uri', 'description': 'Optional for private author review. When present, HTTPS with a non-root path is required. Metadata only; never spoken.'}, 'audience': {'type': 'string', 'minLength': 1}, 'disclosure': {'type': 'string', 'minLength': 1}, 'lineage_id': {'type': 'string'}, 'article_url': {'type': 'string', 'format': 'uri'}, 'preparation': {'type': 'object', 'description': 'Exact source/script/SSML and preparation artifact hashes plus 100% provenance, zero unresolved pronunciation, complete visual classification, deterministic regeneration, and governance-test counts.', 'additionalProperties': True}, 'topic_image': {'type': 'string', 'format': 'uri'}, 'content_type': {'enum': ['work_sample', 'narration_review', 'audiobook_production'], 'type': 'string'}, 'article_state': {'enum': ['planned'], 'type': 'string'}, 'voice_profile': {'type': 'string', 'minLength': 1}, 'avatar_profile': {'type': 'string'}, 'internal_links': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}}, 'pacing_profile': {'type': 'string', 'minLength': 1}, 'idempotency_key': {'type': 'string'}, 'intended_visibility': {'enum': ['private', 'unlisted'], 'type': 'string'}, 'publication_authority': {'type': 'boolean', 'const': False}, 'historical_derivatives': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'description': 'CogentCast Work Sample, private narration review, or zero-cost governed audiobook preparation input. The selected mode is validated by the production service before state or vendor cost is created.', 'additionalProperties': True}, 'source_hashes': {'type': 'object', 'required': ['script', 'deck'], 'properties': {'deck': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$'}, 'script': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$'}}, 'additionalProperties': False}, 'preview_digest': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 12, 'description': 'Caller-stable key for this single create operation. Exact replays return the stored result; a different key is rejected.'}, 'preview_reference': {'type': 'string', 'pattern': '^sfccpr_[A-Za-z0-9]{24,64}$', 'description': 'Opaque short-lived reference returned by package.preview.'}, 'content_fingerprint': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'Exact immutable metadata/source fingerprint returned by package.preview.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['input'], 'properties': {'input': {'type': 'object', 'required': ['content_type'], 'properties': {'deck': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'A real Office Open XML .pptx container. Deck text is visual input and is never spoken.', 'additionalProperties': False}, 'title': {'type': 'string'}, 'format': {'enum': ['16:9', '9:16'], 'type': 'string'}, 'script': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'Canonical Markdown narration source. Markdown syntax, front matter, hidden notes, production notes, URLs, and metadata are never spoken.', 'additionalProperties': False}, 'cta_url': {'type': 'string', 'format': 'uri', 'description': 'Optional for private author review. When present, HTTPS with a non-root path is required. Metadata only; never spoken.'}, 'audience': {'type': 'string', 'minLength': 1}, 'disclosure': {'type': 'string', 'minLength': 1}, 'lineage_id': {'type': 'string'}, 'article_url': {'type': 'string', 'format': 'uri'}, 'preparation': {'type': 'object', 'description': 'Exact source/script/SSML and preparation artifact hashes plus 100% provenance, zero unresolved pronunciation, complete visual classification, deterministic regeneration, and governance-test counts.', 'additionalProperties': True}, 'topic_image': {'type': 'string', 'format': 'uri'}, 'content_type': {'enum': ['work_sample', 'narration_review', 'audiobook_production'], 'type': 'string'}, 'article_state': {'enum': ['planned'], 'type': 'string'}, 'voice_profile': {'type': 'string', 'minLength': 1}, 'avatar_profile': {'type': 'string'}, 'internal_links': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}}, 'pacing_profile': {'type': 'string', 'minLength': 1}, 'idempotency_key': {'type': 'string'}, 'intended_visibility': {'enum': ['private', 'unlisted'], 'type': 'string'}, 'publication_authority': {'type': 'boolean', 'const': False}, 'historical_derivatives': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'description': 'CogentCast Work Sample, private narration review, or zero-cost governed audiobook preparation input. The selected mode is validated by the production service before state or vendor cost is created.', 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['package_id', 'stage', 'idempotency_key'], 'properties': {'stage': {'type': 'string'}, 'chunk_id': {'type': 'string'}, 'package_id': {'type': 'string'}, 'segment_id': {'type': 'string'}, 'dispatch_id': {'type': 'string'}, 'sample_scope': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'manifest_sha256': {'type': 'string'}, 'verifier_job_id': {'type': 'string'}, 'verification_task_id': {'type': 'string'}}}
출력 스키마
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['package_id'], 'properties': {'package_id': {'type': 'string', 'description': 'ws_, ccnr_, or ccaud_ package identifier.'}}}
출력 스키마
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Optional service, provider, env var, or natural-language query such as openai, OPENAI_API_KEY, gmail, Gemini, FireCrawl, or Vercel.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'schema_version', 'raw_secret_values_included', 'count', 'entries', 'usage'], 'properties': {'ok': {'type': 'boolean'}, 'count': {'type': 'number'}, 'usage': {'type': 'object', 'additionalProperties': True}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['service', 'display_name', 'category', 'description', 'accepted_names', 'env_names', 'inventory_tool'], 'properties': {'service': {'type': 'string'}, 'category': {'type': 'string'}, 'env_names': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}, 'display_name': {'type': 'string'}, 'accepted_names': {'type': 'array', 'items': {'type': 'string'}}, 'inventory_tool': {'type': 'string'}}}}, 'schema_version': {'type': 'string'}, 'raw_secret_values_included': {'type': 'boolean'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['mode'], 'properties': {'mode': {'enum': ['evaluate', 'synthetic_acceptance', 'register_governance', 'record_stop'], 'type': 'string'}, 'stop': {'type': 'object', 'required': ['tenant_id', 'lead_id', 'stop_code', 'source_revision'], 'properties': {'lead_id': {'type': 'string'}, 'stop_code': {'enum': ['opt_out', 'sold', 'lost', 'human_takeover', 'identity_conflict', 'provider_failure'], 'type': 'string'}, 'tenant_id': {'type': 'string'}, 'source_revision': {'type': 'string'}}, 'additionalProperties': False}, 'tenant_id': {'type': 'string'}, 'evaluation': {'type': 'object', 'required': ['ingest', 'nurture', 'assignment', 'human_action', 'manager_exception_due_at'], 'properties': {'ingest': {'type': 'object', 'required': ['schema_version', 'tenant_id', 'lead_id', 'opportunity_id', 'source', 'source_record_ref', 'source_revision', 'occurred_at', 'correlation_id', 'causation_id', 'relationship_candidates', 'evidence_refs', 'location_ref', 'requested_channel'], 'properties': {'source': {'enum': ['web', 'phone', 'email', 'chat', 'oem_marketplace', 'walk_in', 'service_to_sales', 'incumbent_crm_sync'], 'type': 'string'}, 'lead_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'occurred_at': {'type': 'string', 'format': 'date-time'}, 'causation_id': {'type': 'string'}, 'location_ref': {'type': 'string'}, 'evidence_refs': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'correlation_id': {'type': 'string'}, 'opportunity_id': {'type': 'string'}, 'schema_version': {'enum': ['stackfast.dealership_lead_worker.v1'], 'type': 'string'}, 'source_revision': {'type': 'string'}, 'requested_channel': {'enum': ['sms', 'email', 'voice', 'chat', None], 'type': ['string', 'null']}, 'source_record_ref': {'type': 'string'}, 'relationship_candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['relationship_id', 'authority_receipt_ref'], 'properties': {'relationship_id': {'type': 'string'}, 'authority_receipt_ref': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'nurture': {'type': 'object', 'required': ['channel', 'sender_ref', 'sender_authority_receipt_ref', 'evaluated_at', 'prior_attempts', 'active_stop_conditions', 'policy'], 'properties': {'policy': {'type': 'object', 'required': ['policy_id', 'policy_revision', 'purpose', 'allowed_channels', 'consent_status', 'consent_evidence_ref', 'consent_authority_receipt_ref', 'captured_at', 'expires_at', 'quiet_hours_local', 'pacing', 'verified_sender_refs', 'stop_conditions'], 'properties': {'pacing': {'type': 'object', 'required': ['minimum_interval_minutes', 'maximum_attempts_per_24h'], 'properties': {'maximum_attempts_per_24h': {'type': 'integer', 'minimum': 1}, 'minimum_interval_minutes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'purpose': {'enum': ['lead_response', 'appointment_follow_up', 'post_visit_follow_up', 'delivery_follow_up'], 'type': 'string'}, 'policy_id': {'type': 'string'}, 'expires_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'captured_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'consent_status': {'enum': ['granted', 'revoked', 'unknown'], 'type': 'string'}, 'policy_revision': {'type': 'string'}, 'stop_conditions': {'type': 'array', 'items': {'enum': ['opt_out', 'sold', 'lost', 'human_takeover', 'identity_conflict', 'provider_failure'], 'type': 'string'}}, 'allowed_channels': {'type': 'array', 'items': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}}, 'quiet_hours_local': {'type': 'object', 'required': ['time_zone', 'start_minute', 'end_minute'], 'properties': {'time_zone': {'type': 'string'}, 'end_minute': {'type': 'integer', 'maximum': 1439, 'minimum': 0}, 'start_minute': {'type': 'integer', 'maximum': 1439, 'minimum': 0}}, 'additionalProperties': False}, 'consent_evidence_ref': {'type': ['string', 'null']}, 'verified_sender_refs': {'type': 'array', 'items': {'type': 'string'}}, 'consent_authority_receipt_ref': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'channel': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}, 'sender_ref': {'type': 'string'}, 'evaluated_at': {'type': 'string', 'format': 'date-time'}, 'prior_attempts': {'type': 'array', 'items': {'type': 'object', 'required': ['occurred_at', 'channel'], 'properties': {'channel': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}, 'occurred_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}}, 'active_stop_conditions': {'type': 'array', 'items': {'enum': ['opt_out', 'sold', 'lost', 'human_takeover', 'identity_conflict', 'provider_failure'], 'type': 'string'}}, 'sender_authority_receipt_ref': {'type': 'string'}}, 'additionalProperties': False}, 'assignment': {'type': 'object', 'required': ['assigned_at', 'candidates', 'policy'], 'properties': {'policy': {'type': 'object', 'required': ['policy_id', 'policy_revision', 'strategy', 'required_skill_refs', 'acknowledgement_timeout_minutes', 'backup_owner_ref', 'manager_owner_ref'], 'properties': {'strategy': {'enum': ['round_robin', 'skill_location_load'], 'type': 'string'}, 'policy_id': {'type': 'string'}, 'policy_revision': {'type': 'string'}, 'backup_owner_ref': {'type': 'string'}, 'manager_owner_ref': {'type': 'string'}, 'required_skill_refs': {'type': 'array', 'items': {'type': 'string'}}, 'acknowledgement_timeout_minutes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['owner_ref', 'owner_role', 'location_refs', 'skill_refs', 'available', 'active_lead_count', 'last_assigned_at'], 'properties': {'available': {'type': 'boolean'}, 'owner_ref': {'type': 'string'}, 'owner_role': {'enum': ['salesperson', 'manager'], 'type': 'string'}, 'skill_refs': {'type': 'array', 'items': {'type': 'string'}}, 'location_refs': {'type': 'array', 'items': {'type': 'string'}}, 'last_assigned_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'active_lead_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'assigned_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'human_action': {'type': 'object', 'required': ['requested_action', 'due_at', 'confirmed_need_ref', 'context_refs', 'do_not_repeat_refs', 'approved_next_message_ref', 'state_revision', 'token_expires_at', 'owner_role'], 'properties': {'due_at': {'type': 'string', 'format': 'date-time'}, 'owner_role': {'enum': ['salesperson', 'manager'], 'type': 'string'}, 'context_refs': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'state_revision': {'type': 'string'}, 'requested_action': {'enum': ['send_photo', 'call', 'book_appointment', 'follow_later', 'request_desk_otd', 'reassign', 'not_mine', 'opt_out', 'lost', 'not_yet'], 'type': 'string'}, 'token_expires_at': {'type': 'string', 'format': 'date-time'}, 'confirmed_need_ref': {'type': 'string'}, 'do_not_repeat_refs': {'type': 'array', 'items': {'type': 'string'}}, 'approved_next_message_ref': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'manager_exception_due_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'fixture_id': {'enum': ['synthetic_internet_lead_v1'], 'type': 'string'}, 'governance': {'type': 'object', 'required': ['tenant_id', 'lead_id', 'relationship_id', 'identity_receipt_ref', 'consent_receipt_ref', 'sender_receipt_ref', 'policy_id', 'policy_revision', 'consent_status', 'consent_captured_at', 'consent_expires_at', 'allowed_channels', 'sender_ref', 'sender_status', 'minimum_interval_minutes', 'maximum_attempts_per_24h'], 'properties': {'lead_id': {'type': 'string'}, 'policy_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'sender_ref': {'type': 'string'}, 'sender_status': {'enum': ['verified', 'revoked'], 'type': 'string'}, 'consent_status': {'enum': ['granted', 'revoked'], 'type': 'string'}, 'policy_revision': {'type': 'string'}, 'relationship_id': {'type': 'string'}, 'allowed_channels': {'type': 'array', 'items': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}, 'minItems': 1}, 'consent_expires_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'sender_receipt_ref': {'type': 'string'}, 'consent_captured_at': {'type': 'string', 'format': 'date-time'}, 'consent_receipt_ref': {'type': 'string'}, 'identity_receipt_ref': {'type': 'string'}, 'maximum_attempts_per_24h': {'type': 'integer', 'minimum': 1}, 'minimum_interval_minutes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['workflow'], 'properties': {'mode': {'enum': ['brief', 'synthetic_acceptance'], 'type': 'string', 'default': 'brief'}, 'workflow': {'enum': ['opportunity_leak_diagnosis', 'opportunity_ownership_and_next_actions', 'daily_manager_reconciliation_coaching', 'customer_situation_connection_plan', 'presentation_structure_plan', 'opportunity_disposition_recommendation'], 'type': 'string'}, 'situation': {'type': 'string', 'maxLength': 4000, 'minLength': 20, 'description': 'Transient operator-described situation. Do not include unnecessary customer identity or protected source material.'}, 'tenant_id': {'type': 'string', 'description': 'Optional assertion; must match the authenticated tenant.'}, 'fixture_id': {'enum': ['synthetic_sales_floor_v1'], 'type': 'string'}, 'role_context': {'enum': ['salesperson', 'sales_manager', 'bdc', 'gm', 'unspecified'], 'type': 'string', 'default': 'unspecified'}, 'schema_version': {'enum': ['stackfast.dealership_sales_advisor.v1'], 'type': 'string'}, 'idempotency_key': {'type': 'string', 'maxLength': 128}, 'opportunity_ref': {'type': 'string', 'description': 'Optional opaque tenant-scoped opportunity reference. The advisor does not resolve or mutate it.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['id', 'page', 'page_size'], 'properties': {'id': {'type': 'string', 'description': 'Result id returned by the reader plane, for example brain:12345 or an authorized artifact:474. Prefer this over the legacy aid field.'}, 'aid': {'type': 'string', 'description': 'Legacy compatibility field for direct brain aid. Prefer id plus explicit page and page_size.'}, 'page': {'type': 'integer', 'minimum': 1, 'description': 'Required explicit one-based page number. Use 1 for the first page.'}, 'next_page': {'type': 'integer', 'minimum': 1, 'description': 'Alias for page when following the next_page value returned by a prior fetch call.'}, 'page_size': {'type': 'integer', 'maximum': 12000, 'minimum': 1000, 'description': 'Required explicit maximum characters returned in this page. Use 12000 unless a smaller page is needed.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'url': {'type': 'string'}, 'page': {'type': 'integer'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'message': {'type': 'string'}, 'complete': {'type': 'boolean'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'page_end': {'type': 'integer'}, 'next_page': {'type': ['integer', 'null']}, 'page_size': {'type': 'integer'}, 'error_code': {'type': 'string'}, 'page_start': {'type': 'integer'}, 'page_sha256': {'type': 'string'}, 'total_chars': {'type': 'integer'}, 'total_pages': {'type': 'integer'}, 'content_sha256': {'type': 'string'}, 'supported_call_shapes': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'properties': {'action': {'enum': ['template', 'start', 'append_answers', 'generate_artifacts'], 'type': 'string', 'default': 'start'}, 'source': {'type': 'string'}, 'answers': {'type': 'array', 'items': {'type': 'object'}}, 'company': {'type': 'string'}, 'lead_id': {'type': ['string', 'number']}, 'tenant_id': {'type': 'string'}, 'session_id': {'type': 'string'}, 'customer_name': {'type': 'string'}, 'customer_email': {'type': 'string'}, 'interview_type': {'enum': ['growthos_scorecard_interview', 'growthos_business_brain_interview'], 'type': 'string'}, 'audit_project_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['prospect'], 'properties': {'prospect': {'type': 'object', 'description': 'Local-business prospect evidence to normalize into signals{} + evidence[].'}, 'tenant_profile': {'type': 'object', 'description': 'Runtime tenant voice and delivery profile. Required before publication; missing profile returns draft_review_required.'}, 'perspective_context': {'type': 'string', 'description': 'Optional buyer pain or delivery context to ground through stackfast.perspective.translate.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['opportunity'], 'properties': {'opportunity': {'type': 'object', 'description': 'Opportunity input. opportunity_type must be one of the registered Opportunity Scout types.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['prospect'], 'properties': {'sender': {'type': 'object'}, 'prospect': {'type': 'object'}, 'cogentcast_site_review': {'type': 'object', 'description': 'Optional CogentCast site-review request or precomputed receipt. GrowthOS consumes this receipt instead of recreating website review logic.'}, 'include_cogentcast_site_review': {'type': 'boolean', 'description': 'Fetch a CogentCast dry-run site-review receipt for the supplied website_url and compose it into step 3.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['prospect'], 'properties': {'sender': {'type': 'object'}, 'prospect': {'type': 'object'}, 'cogentcast_site_review': {'type': 'object', 'description': 'Optional CogentCast site-review request or precomputed receipt. GrowthOS consumes this receipt instead of recreating website review logic.'}, 'include_cogentcast_site_review': {'type': 'boolean', 'description': 'Fetch a CogentCast dry-run site-review receipt for the supplied website_url and compose it into step 3.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'sender': {'type': 'object', 'description': 'Optional sender identity with sender_name and geography.'}, 'prospect': {'type': 'object', 'description': 'Single local-business prospect input.'}, 'prospects': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Batch of up to 25 local-business prospect inputs.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['channel'], 'properties': {'goal': {'type': 'string'}, 'channel': {'enum': ['email', 'linkedin_connect', 'linkedin_message', 'sms', 'call_transcript', 'voicemail', 'receptionist_follow_up', 'recruiter_response', 'warm_referral'], 'type': 'string'}, 'surface': {'type': 'string'}, 'signature': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'constraints': {'type': 'object'}, 'crm_context': {'type': 'object'}, 'referred_by': {'type': 'string'}, 'recipient_name': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'inbound_message': {'type': 'string'}, 'persist_artifact': {'type': 'boolean'}, 'capability_context': {'type': 'string'}, 'relationship_context': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Natural language search query.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'filename': {'type': 'string'}, 'session_id': {'type': 'string'}, 'artifact_id': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'notes': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Role title lookup when queue_item_id is not known.'}, 'company': {'type': 'string', 'description': 'Company name lookup when queue_item_id is not known.'}, 'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string', 'description': 'Preferred exact Talent Scout queue item id. If omitted, provide company and title.'}, 'application_id': {'type': 'string', 'description': 'Optional ATS/portal application or requisition id, such as R110984. Resolves only to an existing Talent Scout queue/history record.'}, 'requisition_id': {'type': 'string', 'description': 'Alias for application_id when the id is a req/requisition id.'}, 'canonical_job_id': {'type': 'string', 'description': 'Optional canonical job id lookup. Resolves only to an existing Talent Scout queue/history record.'}, 'job_description_text': {'type': 'string', 'description': 'Optional full JD pasted by the owner when the stored role is thin or JavaScript-rendered. It hydrates this draft-only workup without returning the raw JD.'}, 'portal_application_id': {'type': 'string', 'description': 'Alias for application_id when the id came from an external portal.'}, 'user_supplied_jd_text': {'type': 'string', 'description': 'Alias for job_description_text. Used as owner-supplied JD evidence only for this governed workup.'}, 'include_follow_up_plan': {'type': 'boolean', 'default': True}, 'include_interview_prep': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'fields': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'submit': {'type': 'boolean', 'default': False}, 'readbacks': {'type': 'object', 'additionalProperties': True}, 'tenant_id': {'type': 'string'}, 'profile_values': {'type': 'object', 'additionalProperties': True}, 'schema_receipt': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'email': {'type': 'string', 'description': 'Known business email to confirm from governed mailbox evidence. This path never calls a third-party enrichment provider.'}, 'domain': {'type': 'string'}, 'last_name': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'first_name': {'type': 'string'}, 'person_name': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'email_source': {'enum': ['governed_mailbox', 'human_confirmed'], 'type': 'string', 'description': 'Provenance for a supplied known business email.'}, 'person_label': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'notes': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Optional lookup key. Use with company when queue_item_id is not known; exact normalized match is required.'}, 'company': {'type': 'string', 'description': 'Optional lookup key. Use with title when queue_item_id is not known; exact normalized match is required.'}, 'actor_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'careers_url': {'type': 'string', 'description': 'Official careers page URL when known. Helps distinguish a real posting from a generic board/root page.'}, 'output_kind': {'enum': ['cover_letter', 'form_paste', 'application_qa', 'telephone_script', 'authority_analysis'], 'type': 'string', 'default': 'cover_letter'}, 'voice_anchor': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string', 'description': 'Optional ATS/portal application or requisition id, such as R110984. Resolves only to an existing Talent Scout queue/history record.'}, 'requisition_id': {'type': 'string', 'description': 'Alias for application_id when the id is a req/requisition id.'}, 'writer_provider': {'enum': ['openai', 'google_gemini', 'gemma', 'bounded_fallback'], 'type': 'string', 'description': 'Optional writer lane override. Defaults to OpenAI when a wallet key is available; bounded_fallback stays available as a fail-closed safety net.'}, 'canonical_job_id': {'type': 'string', 'description': 'Optional canonical job id lookup. Resolves only to an existing Talent Scout queue/history record.'}, 'compare_providers': {'type': 'boolean', 'default': False, 'description': 'When true, run bounded OpenAI/Gemma/Gemini comparison receipts without exposing alternate raw drafts.'}, 'owner_profile_text': {'type': 'string', 'description': 'Optional private owner evidence from a resume/profile setup interview. Used for proof mapping; never returned raw.'}, 'baseline_resume_text': {'type': 'string', 'description': 'Optional private owner evidence override. Used only to map JD requirements to proof points; never returned raw.'}, 'company_homepage_url': {'type': 'string', 'description': 'Official company homepage URL for company-context evidence and human review.'}, 'company_profile_text': {'type': 'string', 'description': 'Optional official company-site/about/product evidence. Used to target the draft to the company context; never returned raw.'}, 'job_description_text': {'type': 'string', 'description': 'Manual recovery path only. Paste the full JD when the ATS blocks or JS-renders and Talent Scout returns needs_jd_hydration.'}, 'linkedin_profile_text': {'type': 'string', 'description': 'Optional manual LinkedIn profile paste/export when LinkedIn blocks automated fetch. Used as owner evidence; never returned raw.'}, 'portal_application_id': {'type': 'string', 'description': 'Alias for application_id when the id came from an external portal.'}, 'user_supplied_jd_text': {'type': 'string', 'description': 'Alias for job_description_text; treated as authoritative user-supplied JD evidence after auto-hydration fails.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'idempotency_key', 'original_receipt_id', 'channel', 'direction', 'correction_reason'], 'properties': {'channel': {'enum': ['email', 'linkedin', 'sms', 'call', 'visit'], 'type': 'string'}, 'direction': {'enum': ['inbound', 'outbound', 'lifecycle'], 'type': 'string', 'description': 'Explicit corrected message direction; no default is inferred.'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'idempotency_key': {'type': 'string', 'description': 'Caller-stable key that makes retries return the original immutable correction receipt.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'correction_reason': {'type': 'string', 'description': 'Human-attested reason for this append-only correction (maximum 5,000 characters).'}, 'original_receipt_id': {'type': 'string', 'description': 'Immutable relationship activity receipt being corrected; it is never rewritten.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['queue_item_id'], 'properties': {'notes': {'type': 'string'}, 'actor_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'output_kind': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'opportunity_mode': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'compact': {'type': 'boolean', 'default': True, 'description': 'Return counts, status buckets, mailbox status, and a bounded slate without full bucket payloads. Defaults true for hosted MCP latency.'}, 'profile': {'type': 'object', 'description': 'Alias for owner_profile when reviewing stale queue items.'}, 'tenant_id': {'type': 'string'}, 'slate_limit': {'type': 'integer', 'default': 5, 'maximum': 5, 'minimum': 1}, 'include_items': {'type': 'boolean', 'default': False, 'description': 'Return top-level queue cards. Defaults false so compact daily reads return the bounded operating summary only.'}, 'owner_profile': {'type': 'object', 'description': 'Optional owner preference context used to refresh stale zero-score queue items inside this tenant only.'}, 'section_limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'hydration_limit': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1, 'description': 'Bounded live-hydration attempts for thin roles before compose. Reports attempts and remaining needs_role_hydration; never applies or sends.'}, 'include_applied': {'type': 'boolean', 'default': True, 'description': 'Include already-applied rows in the applied/waiting pipeline buckets.'}, 'include_archived': {'type': 'boolean', 'default': False, 'description': 'Include archived, rejected, passed, stale, or already-applied rows. Defaults false for active work queues.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'campaign_name': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'persist_results': {'type': 'boolean', 'default': False, 'description': 'When true, persist discovered company records to the Talent Scout campaign store. Defaults false so hosted MCP discovery remains a read-only preview for human review.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Backward-compatible refresh flag; Firecrawl is only a fallback/search or downstream extraction provider, not the Stage 1 radar.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'allow_live_google_places': {'type': 'boolean', 'default': True, 'description': 'Refresh public business website leads through the configured directory provider and distance check. Websites are required before downstream enrichment. Set false only for an explicit no-network dry run.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'campaign_name': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'radius_minutes': {'type': 'integer', 'minimum': 1}, 'persist_results': {'type': 'boolean', 'default': False, 'description': 'When true, persist discovered company records to the Talent Scout campaign store. Defaults false so hosted MCP discovery remains a read-only preview for human review.'}, 'company_size_max': {'type': 'integer', 'minimum': 1}, 'company_size_min': {'type': 'integer', 'minimum': 0}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'geography_anchor': {'type': 'string'}, 'target_role_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Backward-compatible refresh flag; Firecrawl is only a fallback/search or downstream extraction provider, not the Stage 1 radar.'}, 'target_company_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'allow_live_google_places': {'type': 'boolean', 'default': False, 'description': 'Refresh public business website leads through the configured directory provider and distance check. Websites are required before downstream enrichment.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'goal': {'enum': ['applied_follow_up', 'exploratory_intro', 'referral_path'], 'type': 'string', 'default': 'exploratory_intro'}, 'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'title': {'type': 'string'}, 'channel': {'enum': ['linkedin', 'email', 'sms', 'phone', 'in_person'], 'type': 'string', 'default': 'linkedin'}, 'company': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'role_title': {'type': 'string', 'description': 'Exact role title; accepted alongside title for applied follow-up resolution.'}, 'campaign_id': {'type': 'string'}, 'person_name': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'contact_name': {'type': 'string'}, 'person_label': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['target_name', 'pains'], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'pains': {'type': 'array', 'items': {'type': 'object'}}, 'tenant_id': {'type': 'string'}, 'target_name': {'type': 'string'}, 'artifact_type': {'type': 'string', 'default': 'outreach_draft'}, 'voice_profile': {'type': 'string'}, 'voice_samples': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['queue_item_id', 'owner_preferences'], 'properties': {'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string', 'description': "Identifier for a job already saved in the account owner's private Talent Scout queue."}, 'owner_preferences': {'type': 'object', 'description': "The account owner's own stated workplace preferences, such as schedule, location, compensation, travel, responsibilities, and environment.", 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['fields'], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'fields': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'type': {'type': 'string'}, 'label': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}}, 'field_id': {'type': 'string'}, 'required': {'type': 'boolean'}, 'dom_index': {'type': 'integer'}}, 'additionalProperties': False}}, 'submit': {'type': 'boolean', 'default': False}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'title': {'type': 'string'}, 'company': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string'}, 'requisition_id': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'description': 'Stable replay-safe generation/export identity.'}, 'canonical_job_id': {'type': 'string'}, 'job_description_text': {'type': 'string', 'description': 'Optional private owner-supplied JD evidence for a thin stored role.'}, 'portal_application_id': {'type': 'string'}, 'user_supplied_jd_text': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'delta': {'type': 'object', 'additionalProperties': True}, 'roles': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'source': {'type': 'string'}, 'packets': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'contacts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'direction': {'enum': ['byoc_to_cloud'], 'type': 'string'}, 'tenant_id': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'queue_sync_version': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'mode': {'enum': ['merge', 'replace'], 'type': 'string', 'default': 'merge'}, 'dry_run': {'type': 'boolean', 'default': False, 'description': 'Preview the redacted owner-profile update without writing stored resume, LinkedIn, proof, or rail evidence. Use this for connector smoke tests.'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'proof_points': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'work_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'claims_ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'voice_profile': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'outreach_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'interview_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'owner_profile_text': {'type': 'string', 'description': 'Private owner profile setup notes. Stored tenant-scoped and never returned raw.'}, 'resume_variant_ids': {'type': 'array', 'items': {'type': 'string'}}, 'travel_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'work_style_profile': {'type': 'string', 'description': 'Private, owner-provided work-style guidance. Stored tenant-scoped and never returned raw.'}, 'application_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'if_match_updated_at': {'type': 'string', 'description': 'Optimistic concurrency guard. Required for every update to an existing profile so concurrent merge or replace writes cannot shrink or overwrite stored history.'}, 'baseline_resume_text': {'type': 'string', 'description': 'Private baseline resume text. Stored tenant-scoped and never returned raw.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'geography_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'linkedin_profile_text': {'type': 'string', 'description': 'Private LinkedIn profile paste/export when LinkedIn blocks automated fetch. Stored tenant-scoped and never returned raw.'}, 'compensation_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'replace_string_array_fields': {'type': 'array', 'items': {'enum': ['travel_preferences'], 'type': 'string'}, 'description': 'Replace only the named preference array under if_match_updated_at. Use for a superseding travel policy without replacing profile history or other preference arrays.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1}, 'role_lane': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'mode': {'enum': ['merge', 'replace'], 'type': 'string', 'default': 'merge'}, 'dry_run': {'type': 'boolean', 'default': False, 'description': 'Preview the redacted owner-profile update without writing stored resume, LinkedIn, proof, or rail evidence. Use this for connector smoke tests.'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'proof_points': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'work_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'claims_ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'voice_profile': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'outreach_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'interview_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'owner_profile_text': {'type': 'string', 'description': 'Private owner profile setup notes. Stored tenant-scoped and never returned raw.'}, 'resume_variant_ids': {'type': 'array', 'items': {'type': 'string'}}, 'travel_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'work_style_profile': {'type': 'string', 'description': 'Private, owner-provided work-style guidance. Stored tenant-scoped and never returned raw.'}, 'application_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'if_match_updated_at': {'type': 'string', 'description': 'Optimistic concurrency guard. Required for every update to an existing profile so concurrent merge or replace writes cannot shrink or overwrite stored history.'}, 'baseline_resume_text': {'type': 'string', 'description': 'Private baseline resume text. Stored tenant-scoped and never returned raw.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'geography_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'linkedin_profile_text': {'type': 'string', 'description': 'Private LinkedIn profile paste/export when LinkedIn blocks automated fetch. Stored tenant-scoped and never returned raw.'}, 'compensation_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'replace_string_array_fields': {'type': 'array', 'items': {'enum': ['travel_preferences'], 'type': 'string'}, 'description': 'Replace only the named preference array under if_match_updated_at. Use for a superseding travel policy without replacing profile history or other preference arrays.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'if_match_updated_at', 'corrections'], 'properties': {'dry_run': {'type': 'boolean', 'default': False, 'description': 'Preview matched history records and the redacted reconciliation receipt without writing.'}, 'tenant_id': {'type': 'string'}, 'corrections': {'type': 'array', 'items': {'type': 'object', 'required': ['requisition_id', 'expected_application_state', 'application_state', 'reason'], 'properties': {'reason': {'type': 'string', 'description': 'Owner-approved accounting reason retained in the reconciliation receipt.'}, 'requisition_id': {'type': 'string', 'description': 'Existing requisition, req, or application-history identifier to reconcile.'}, 'application_state': {'enum': ['applied', 'not_applied'], 'type': 'string'}, 'expected_application_state': {'enum': ['applied', 'not_applied'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 25, 'minItems': 1}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'if_match_updated_at': {'type': 'string', 'description': 'The exact profile_version_updated_at from applicant_profile_status. A stale value is rejected.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'notes': {'type': 'string', 'description': 'Optional human note stored in the receipt response only.'}, 'title': {'type': 'string', 'description': 'Human-attested role title when no queue_item_id exists.'}, 'company': {'type': 'string', 'description': 'Required with title, requisition_id/application_id, and apply_url when no queue_item_id exists.'}, 'actor_id': {'type': 'string', 'description': 'Optional actor label for the manual receipt.'}, 'apply_url': {'type': 'string', 'description': 'Exact human-attested application or employer portal URL. It is retained as provenance, not live-verification proof.'}, 'tenant_id': {'type': 'string'}, 'submitted_at': {'type': 'string', 'description': 'Optional ISO timestamp for the manual submission. Defaults to now.'}, 'queue_item_id': {'type': 'string', 'description': 'Talent Scout queue item that Robert manually submitted.'}, 'application_id': {'type': 'string', 'description': 'Human-attested application identifier; used when a requisition_id is unavailable.'}, 'requisition_id': {'type': 'string', 'description': 'Human-attested requisition or employer application identifier when no queue_item_id exists.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['manual_note_id', 'decision'], 'properties': {'goal': {'enum': ['applied_follow_up', 'exploratory_intro', 'referral_path'], 'type': 'string'}, 'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'notes': {'type': 'string'}, 'channel': {'enum': ['linkedin', 'email', 'sms', 'phone', 'in_person'], 'type': 'string'}, 'summary': {'type': 'string', 'description': 'Factual summary of the already-completed human outreach.'}, 'decision': {'enum': ['approved_for_manual_send', 'copied_for_manual_send', 'edit_requested', 'rejected', 'sent_manually_reported', 'follow_up_due', 'accepted', 'replied', 'no_action'], 'type': 'string', 'description': 'Human decision to record. No option sends anything automatically.'}, 'sent_text': {'type': 'string', 'description': 'Exact text the human actually sent manually. Talent Scout stores this receipt but never sends it.'}, 'tenant_id': {'type': 'string'}, 'draft_text': {'type': 'string'}, 'role_title': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'occurred_at': {'type': 'string', 'description': 'ISO-8601 time the human completed the outreach.'}, 'person_name': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'contact_name': {'type': 'string'}, 'person_label': {'type': 'string'}, 'next_touch_at': {'type': 'string', 'description': 'Optional ISO-8601 next human follow-up time.'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'manual_note_id': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'description': 'Caller-stable key for the immutable relationship receipt.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'edited_draft_text': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['decision'], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'title': {'type': 'string', 'description': 'Exact role title lookup when queue_item_id is not known.'}, 'reason': {'type': 'string', 'description': 'Human note explaining the decision.'}, 'company': {'type': 'string', 'description': 'Exact company lookup when queue_item_id is not known.'}, 'actor_id': {'type': 'string', 'description': 'Optional actor label for the manual receipt.'}, 'decision': {'enum': ['keep', 'top_priority', 'hold', 'revisit', 'pass', 'not_a_fit'], 'type': 'string', 'description': 'Manual owner decision. pass/not_a_fit suppress the row from active review unless include_archived is requested.'}, 'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string', 'description': 'Preferred exact Talent Scout queue item id.'}, 'revisit_after': {'type': 'string', 'description': 'Optional ISO date/time or human-readable revisit cue for hold/revisit decisions.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['tenant_id', 'idempotency_key', 'channel', 'direction', 'company', 'contact_name', 'occurred_at', 'summary'], 'properties': {'channel': {'enum': ['email', 'linkedin', 'sms', 'call', 'visit'], 'type': 'string'}, 'company': {'type': 'string'}, 'summary': {'type': 'string', 'description': 'Factual summary of the already-completed human activity (maximum 5,000 characters; longer input is rejected and never silently truncated).'}, 'direction': {'enum': ['inbound', 'outbound', 'lifecycle'], 'type': 'string', 'description': 'Explicitly state whether the employer/contact initiated this activity, the candidate initiated it, or it is a system lifecycle event. No direction is inferred.'}, 'tenant_id': {'type': 'string'}, 'occurred_at': {'type': 'string', 'description': 'ISO-8601 timestamp for the human-completed activity.'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'artifact_url': {'type': 'string', 'description': 'Optional governed evidence URL; no artifact body is copied.'}, 'contact_name': {'type': 'string'}, 'next_touch_at': {'type': 'string', 'description': 'Optional ISO-8601 follow-up time.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'idempotency_key': {'type': 'string', 'description': 'Caller-stable key that makes retries return the original immutable receipt.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'related_queue_item_id': {'type': 'string'}, 'related_application_id': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'run_id': {'type': 'string'}, 'status': {'type': 'string'}, 'compact': {'type': 'boolean', 'default': True, 'description': 'Return compact queue metadata and a daily_pipeline_summary instead of heavy control-tower sections.'}, 'profile': {'type': 'object', 'description': 'Alias for owner_profile when reviewing stale queue items.'}, 'tenant_id': {'type': 'string'}, 'include_items': {'type': 'boolean', 'default': True, 'description': 'When false, return health/counts/timing only without loading queue item payloads. Use for fast connector smoke tests.'}, 'owner_profile': {'type': 'object', 'description': 'Optional owner preference context used to refresh stale zero-score queue items inside this tenant only.'}, 'include_detail': {'type': 'boolean', 'default': False, 'description': 'When true, include full queue item payloads. Defaults false so hosted MCP review_queue stays small and fast.'}, 'include_applied': {'type': 'boolean', 'default': False, 'description': 'Include already-applied rows. Defaults false unless explicitly reviewing follow-up history.'}, 'include_archived': {'type': 'boolean', 'default': False, 'description': 'Include archived, rejected, passed, stale, or already-applied rows. Defaults false for active work queues.'}, 'include_sync_delta': {'type': 'boolean', 'default': False, 'description': 'When true, include a guarded scout.import_delta-compatible cloud-to-BYOC queue sync payload. Defaults false.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'target': {'type': 'object', 'description': 'Structured role text or object.'}, 'profile': {'type': 'object', 'description': "Optional owner profile. Defaults to Robert's safe Talent Scout profile for public connector smoke tests."}, 'tenant_id': {'type': 'string'}, 'target_text': {'type': 'string', 'description': 'Plain-language target role text for lightweight connector smoke tests.'}, 'owner_profile': {'type': 'object', 'description': 'Alias for profile.'}, 'min_review_threshold': {'type': 'integer', 'default': 0, 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'tenant_id': {'type': 'string'}, 'source_url': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'careers_url': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'company_domain': {'type': 'string', 'description': 'Backward-compatible alias for company_homepage_url; bare domains are normalized to https://<domain>.'}, 'persist_results': {'type': 'boolean', 'default': False, 'description': 'When true, persist verified role records and role-scan receipts to Talent Scout. Defaults false so hosted MCP scans remain read-only previews for human review.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'target_role_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'eligible_countries': {'type': 'array', 'items': {'type': 'string'}, 'default': ['US']}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Backward-compatible no-op for this scanner; official ATS/API scans are preferred when available.'}, 'company_homepage_url': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'target': {'type': 'object', 'description': 'Structured role text or object.'}, 'profile': {'type': 'object', 'description': "Optional owner profile. Defaults to Robert's safe Talent Scout profile for public connector smoke tests."}, 'tenant_id': {'type': 'string'}, 'target_text': {'type': 'string', 'description': 'Plain-language target role text for lightweight connector smoke tests.'}, 'owner_profile': {'type': 'object', 'description': 'Alias for profile.'}, 'min_review_threshold': {'type': 'integer', 'default': 0, 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'lane': {'enum': ['J', 'C'], 'type': 'string', 'default': 'J'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Plain-language opportunity search.'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'min_score': {'type': 'integer', 'default': 60, 'maximum': 100, 'minimum': 0}, 'tenant_id': {'type': 'string'}, 'owner_profile': {'type': 'object', 'description': 'Safe owner preference facts and positioning for local review.'}, 'include_tracked': {'type': 'boolean', 'default': False, 'description': 'When true, include tracked-board comparison metadata. Search results still do not return the review queue.'}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Run the approved live-discovery adapter. Costs are governed by the FireCrawl budget gate and kill switch.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['rail_name'], 'properties': {'active': {'type': 'boolean', 'default': True}, 'reason': {'type': 'string'}, 'priority': {'type': 'string', 'default': 'primary'}, 'geography': {'type': 'array', 'items': {'type': 'string'}}, 'rail_name': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'age_strategy': {'type': 'object', 'additionalProperties': True}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'voice_anchor': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'owner_profile_id': {'type': 'string'}, 'positive_filters': {'type': 'array', 'items': {'type': 'string'}}, 'compensation_floor': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'resume_variant_priority': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['active', 'paused', 'archived'], 'type': 'string', 'default': 'active'}, 'priority': {'type': 'string', 'default': 'P1'}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'update_mode': {'enum': ['patch', 'replace'], 'type': 'string', 'default': 'patch', 'description': 'Patch preserves omitted fields. Replace is explicit and may reapply defaults.'}, 'voice_anchor': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'radius_minutes': {'type': 'integer', 'minimum': 1}, 'company_size_max': {'type': 'integer', 'minimum': 1}, 'company_size_min': {'type': 'integer', 'minimum': 0}, 'compensation_min': {'type': 'string'}, 'contact_strategy': {'type': 'object', 'additionalProperties': True}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'expanded_regions': {'type': 'array', 'items': {'type': 'string'}}, 'expected_version': {'type': 'string', 'description': 'Optional optimistic concurrency token from campaign.updated_at. A mismatch fails without writing.'}, 'geography_anchor': {'type': 'string'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'target_role_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'eligible_countries': {'type': 'array', 'items': {'type': 'string'}, 'default': ['US'], 'description': 'Backward-compatible campaign-level work-authorization hint. The stored owner policy still owns the hard country gate.'}, 'minimum_total_comp': {'type': 'integer', 'minimum': 0}, 'seed_robert_campaign': {'type': 'boolean', 'default': False}, 'target_company_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'acceptable_structures': {'type': 'array', 'items': {'type': 'string'}}, 'resume_variant_strategy': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'properties': {'pdf': {'type': 'object', 'required': ['content_base64'], 'properties': {'file_name': {'type': 'string', 'description': 'Original file name, used for extension-based routing when present.'}, 'mime_type': {'type': 'string', 'description': 'MIME type of the payload when known.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Never pass a URL or local path here.'}}, 'description': 'PDF document payload, base64-encoded. One of the five input carriers.', 'additionalProperties': False}, 'file': {'type': 'object', 'required': ['content_base64'], 'properties': {'file_name': {'type': 'string', 'description': 'Original file name, used for extension-based routing when present.'}, 'mime_type': {'type': 'string', 'description': 'MIME type of the payload when known.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Never pass a URL or local path here.'}}, 'description': 'Uploaded or recorded audio/video (or text-carrying) file payload, base64-encoded. One of the five input carriers.', 'additionalProperties': False}, 'text': {'type': 'string', 'description': 'Raw text input (transcription skipped). One of the five input carriers.'}, 'image': {'type': 'object', 'required': ['content_base64'], 'properties': {'file_name': {'type': 'string', 'description': 'Original file name, used for extension-based routing when present.'}, 'mime_type': {'type': 'string', 'description': 'MIME type of the payload when known.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Never pass a URL or local path here.'}}, 'description': 'Image payload, base64-encoded. One of the five input carriers.', 'additionalProperties': False}, 'notes': {'type': 'string', 'description': 'Alias for text input; merged with text when both are present. Counts as the text carrier.'}, 'title': {'type': 'string', 'description': 'Optional title for the source material.'}, 'source': {'enum': ['upload', 'recording', 'call', 'document', 'text'], 'type': 'string', 'description': "Optional input provenance. 'call' sources return a masked-summary actual script instead of full verbatim."}, 'speaker': {'type': 'string', 'description': 'Optional primary speaker name.'}, 'business': {'type': 'object', 'required': ['business_name'], 'properties': {'business_name': {'type': 'string'}}, 'description': 'Optional GrowthOS business context. Providing business_name enables the owner-facing business report inside the authority report.', 'additionalProperties': True}, 'identity': {'type': 'object', 'required': ['sender_name', 'geography'], 'properties': {'geography': {'type': 'string'}, 'sender_name': {'type': 'string'}}, 'description': 'Optional local identity used by the owner-facing business report.', 'additionalProperties': False}, 'audio_or_video_url': {'type': 'string', 'description': 'Public audio or video URL to transcribe (YouTube caption rail or upload transcription). One of the five input carriers.'}}, 'description': 'Exactly one input carrier must be provided: audio_or_video_url, file, pdf, image, or text/notes.', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['schema_version', 'input_kind', 'transcript', 'transcript_source', 'summary', 'actual_script', 'authority_report', 'receipts'], 'properties': {'llm': {'type': ['object', 'null'], 'additionalProperties': True}, 'summary': {'type': 'object', 'required': ['summary', 'action_items', 'decisions', 'next_step'], 'properties': {'summary': {'type': 'string'}, 'decisions': {'type': 'array', 'items': {'type': 'string'}}, 'next_step': {'type': 'string'}, 'action_items': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'receipts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'input_kind': {'enum': ['audio_video_url', 'file_upload', 'pdf', 'image', 'text'], 'type': 'string'}, 'transcript': {'type': 'string'}, 'actual_script': {'type': 'object', 'required': ['mode', 'text', 'note'], 'properties': {'mode': {'enum': ['full_verbatim', 'masked_summary'], 'type': 'string'}, 'note': {'type': 'string'}, 'text': {'type': 'string'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string'}, 'authority_report': {'type': 'object', 'required': ['flywheel_plan'], 'properties': {'flywheel_plan': {'type': 'object', 'additionalProperties': True}, 'owner_facing_report': {'type': ['object', 'null'], 'additionalProperties': True}}, 'additionalProperties': True}, 'transcript_source': {'enum': ['youtube_captions', 'whisper_upload', 'document_extract', 'gemini_document', 'text_passthrough'], 'type': 'string'}}, 'additionalProperties': False}
최근 도구 변경
유사한 MCP 서버
LeanScale GTM Knowledge
Provides go-to-market and RevOps playbooks, benchmarks, case studies, podcast research, and diagnostic guidance.
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
GestãoClick
Connects to the GestãoClick ERP to manage customers, suppliers, products, sales, service orders, budgets, and financial records.
Odichat
Manages WhatsApp, Instagram, and Facebook inboxes with contacts, conversations, agents, automation rules, labels, canned response…
YouSpot
Connects personal contacts, companies, notes, files, CRM records, email, Slack, LinkedIn, and calendars, with search, relationshi…
Coordinalo — Service Business Operations
Manages appointment-based service businesses, including clients, providers, services, availability, public booking agendas, recur…