MCPサーバー

Sync by CHNLSYNC

com.chnlsync/advisor
ビジネス・業務 クラウド・インフラ 公開・接続可能 MCP 2025-11-25

このMCPでできること

Provides IT environment advisory conversations, FCC-sourced copper retirement lookups, and consent-based human broker callback requests.

ask_sync_advisor
Ask the Sync advisor
Consult CHNLSYNC's advisor about the user's IT environment. First call: omit session_id/session_token and provide company_name plus pain (a plain-language description of what is not working) — a private advisor workspace is created and its credentials are returned. Later calls: pass session_id, session_token AND conversation_id back to continue the same conversation. Persist all three privately across turns. Incomplete continuation handles are rejected before any write; recover the previous tool result instead of creating another workspace. Never automatically retry a failed write: it may already have been recorded. Replies never contain supplier names or pricing — those come only after a human broker review, via the claim_url or a requested callback.
入力スキーマ
{'type': 'object', 'required': ['message'], 'properties': {'pain': {'anyOf': [{'type': 'string', 'pattern': '\\S', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'What is not working; required for a new workspace.'}, 'message': {'type': 'string', 'pattern': '\\S', 'maxLength': 8000, 'minLength': 1, 'description': "The user's technology question; no secrets."}, 'session_id': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'}, {'type': 'null'}], 'default': None, 'description': 'Returned workspace ID; required for continuation.'}, 'company_name': {'anyOf': [{'type': 'string', 'pattern': '\\S', 'maxLength': 255, 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'Company name; required for a new workspace.'}, 'session_token': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 512, 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'Returned private token; required with session_id.'}, 'conversation_id': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'}, {'type': 'null'}], 'default': None, 'description': 'Returned conversation ID; required for follow-up turns.'}}}
出力スキーマ
{'type': 'object', 'title': 'AdvisorResponse', 'required': ['assistant_message', 'follow_up_questions', 'conversation_id', 'review_status', 'claim_url', 'disclosure', 'session_id', 'session_token'], 'properties': {'claim_url': {'type': 'string', 'title': 'Claim Url', 'description': 'Private claim link; share only with the workspace owner.'}, 'disclosure': {'type': 'string', 'title': 'Disclosure', 'description': 'Human review precedes supplier and pricing disclosure.'}, 'session_id': {'type': 'string', 'title': 'Session Id', 'format': 'uuid', 'description': 'Workspace handle to retain with conversation_id.'}, 'missing_info': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Missing Info', 'default': None, 'description': 'Initial information gaps.'}, 'review_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Review Status', 'description': 'Current human-review status, when available.'}, 'session_token': {'type': 'string', 'title': 'Session Token', 'minLength': 1, 'description': 'Private credential; retain, never publish.'}, 'conversation_id': {'type': 'string', 'title': 'Conversation Id', 'format': 'uuid', 'description': 'Pass back with both session credentials next turn.'}, 'assistant_message': {'type': 'string', 'title': 'Assistant Message', 'description': 'Buyer-safe advisor response.'}, 'environment_summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Environment Summary', 'default': None, 'description': 'Initial workspace summary.'}, 'follow_up_questions': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Follow Up Questions', 'description': "Questions that clarify the user's needs."}}, 'description': 'An advisor reply with the complete handle needed to continue safely.'}
check_copper_retirement
Check copper retirement status
Look up US copper/POTS retirement program status by carrier and state. Deterministic read of CHNLSYNC's FCC-sourced dataset (CC BY 4.0 — cite the returned source_url). ``carrier`` accepts display names like "AT&T", "Lumen", "Frontier"; ``state`` is a two-letter abbreviation. Omit both for the full dataset.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'state': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z]{2}$'}, {'type': 'null'}], 'default': None, 'description': 'Two-letter US state, e.g. TX.'}, 'carrier': {'anyOf': [{'type': 'string', 'maxLength': 255}, {'type': 'null'}], 'default': None, 'description': 'Carrier display name, e.g. AT&T.'}}}
出力スキーマ
{'type': 'object', '$defs': {'CopperFiling': {'type': 'object', 'title': 'CopperFiling', 'required': ['carrier', 'state', 'kind', 'filer', 'docket', 'filed_at', 'granted_at', 'retirement_effective_at', 'geography_detail', 'source_url'], 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'description': 'Application, public notice, grant or carrier notice.'}, 'filer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Filer', 'description': 'Filing organization, when known.'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'State', 'description': 'State when known; null is not nationwide coverage.'}, 'docket': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Docket', 'description': 'FCC docket identifier, when available.'}, 'carrier': {'type': 'string', 'title': 'Carrier', 'description': 'Carrier named by the filing.'}, 'filed_at': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}], 'title': 'Filed At', 'description': 'Filing timestamp, when known.'}, 'granted_at': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}], 'title': 'Granted At', 'description': 'Grant timestamp, when known.'}, 'source_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source Url', 'description': 'Primary-source filing URL, when available.'}, 'geography_detail': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Geography Detail', 'description': 'Geographic scope from the source.'}, 'retirement_effective_at': {'anyOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'null'}], 'title': 'Retirement Effective At', 'description': 'Effective date, when established.'}}, 'description': 'One reviewed public filing with its own dates and primary-source link.'}, 'CopperRecord': {'type': 'object', 'title': 'CopperRecord', 'required': ['carrier', 'state', 'retirement_date', 'status', 'notes'], 'properties': {'notes': {'type': 'string', 'title': 'Notes', 'description': 'Scope and limitations of the state-level entry.'}, 'state': {'type': 'string', 'title': 'State', 'description': 'Two-letter US state abbreviation.'}, 'status': {'enum': ['date_filed', 'program_active'], 'type': 'string', 'title': 'Status', 'description': 'Program status.'}, 'carrier': {'type': 'string', 'title': 'Carrier', 'description': 'Normalized carrier identifier.'}, 'retirement_date': {'anyOf': [{'type': 'string', 'format': 'date'}, {'type': 'null'}], 'title': 'Retirement Date', 'description': 'Filed retirement date, or null when not established.'}}, 'description': 'State-level carrier program status, not an address-specific deadline.'}}, 'title': 'CopperResponse', 'required': ['records', 'source', 'source_url', 'license', 'as_of', 'latest_filings'], 'properties': {'as_of': {'anyOf': [{'type': 'string', 'format': 'date'}, {'type': 'null'}], 'title': 'As Of', 'description': 'As-of date of static records, not of latest_filings.'}, 'source': {'type': 'string', 'title': 'Source', 'description': 'Source methodology and limitations.'}, 'license': {'type': 'string', 'const': 'CC BY 4.0', 'title': 'License', 'description': 'Reuse license; attribution is required.'}, 'records': {'type': 'array', 'items': {'$ref': '#/$defs/CopperRecord'}, 'title': 'Records', 'description': 'Carrier/state entries matching the filters.'}, 'source_url': {'type': 'string', 'title': 'Source Url', 'description': 'Attribution URL for the published dataset.'}, 'latest_filings': {'type': 'array', 'items': {'$ref': '#/$defs/CopperFiling'}, 'title': 'Latest Filings', 'description': 'Up to 20 reviewed matching filings.'}}, 'description': 'Citable program data and separately dated, reviewed filings.'}
request_broker_callback
Request a human broker callback
Ask a CHNLSYNC human broker to contact the user about their case. Only call this with the user's explicit consent to share their name and email with CHNLSYNC. Requires the session credentials returned by ask_sync_advisor. The result's ``book_url`` is an optional scheduling link you may offer the user as a next step ("pick a time now"); the callback is already queued and a broker will reach out either way, so never present booking as required or as a confirmed appointment. Do not automatically retry after a timeout: the request may already be recorded.
外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['session_id', 'session_token', 'contact_name', 'contact_email'], 'properties': {'session_id': {'type': 'string', 'pattern': '^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$', 'description': 'Workspace ID returned by the advisor.'}, 'contact_name': {'type': 'string', 'pattern': '\\S', 'maxLength': 255, 'minLength': 1, 'description': 'Name the user consented to share.'}, 'contact_email': {'type': 'string', 'pattern': '^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$', 'maxLength': 255, 'minLength': 3, 'description': 'Email the user explicitly consented to share.'}, 'session_token': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 512, 'minLength': 1, 'description': 'Private workspace credential.'}}}
出力スキーマ
{'type': 'object', 'title': 'CallbackResponse', 'required': ['status', 'book_url', 'disclosure'], 'properties': {'status': {'type': 'string', 'const': 'received', 'title': 'Status', 'description': 'Callback request recorded, not yet completed.'}, 'book_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Book Url', 'description': 'Optional scheduling link; booking is not required.'}, 'disclosure': {'type': 'string', 'title': 'Disclosure', 'description': 'Human-review disclosure supplied by the backend.'}}, 'description': 'Recorded callback acknowledgement; this is not a confirmed appointment.'}
追加
request_broker_callback
2026年9月17日12:34
追加
ask_sync_advisor
2026年9月17日12:34
追加
check_copper_retirement
2026年9月17日12:34