Sync by CHNLSYNC
FCC copper retirement lookups and a broker-reviewed IT advisor. No supplier names, no prices.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"advisor": {
"url": "https://mcp.chnlsync.com/mcp"
}
}
}원격 엔드포인트
https://mcp.chnlsync.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (3)
🟢check_copper_retirement(carrier, state)
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": {
"carrier": {
"anyOf": [
{
"maxLength": 255,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Carrier display name, e.g. AT&T."
},
"state": {
"anyOf": [
{
"pattern": "^[A-Za-z]{2}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Two-letter US state, e.g. TX."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"records": {
"description": "Carrier/state entries matching the filters.",
"items": {
"$ref": "#/$defs/CopperRecord"
},
"title": "Records",
"type": "array"
},
"source": {
"description": "Source methodology and limitations.",
"title": "Source",
"type": "string"
},
"source_url": {
"description": "Attribution URL for the published dataset.",
"title": "Source Url",
"type": "string"
},
"license": {
"const": "CC BY 4.0",
"description": "Reuse license; attribution is required.",
"title": "License",
"type": "string"
},
"as_of": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"description": "As-of date of static records, not of latest_filings.",
"title": "As Of"
},
"latest_filings": {
"description": "Up to 20 reviewed matching filings.",
"items": {
"$ref": "#/$defs/CopperFiling"
},
"title": "Latest Filings",
"type": "array"
}
},
"required": [
"records",
"source",
"source_url",
"license",
"as_of",
"latest_filings"
],
"$defs": {
"CopperFiling": {
"description": "One reviewed public filing with its own dates and primary-source link.",
"properties": {
"carrier": {
"description": "Carrier named by the filing.",
"title": "Carrier",
"type": "string"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "State when known; null is not nationwide coverage.",
"title": "State"
},
"kind": {
"description": "Application, public notice, grant or carrier notice.",
"title": "Kind",
"type": "string"
},
"filer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filing organization, when known.",
"title": "Filer"
},
"docket": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "FCC docket identifier, when available.",
"title": "Docket"
},
"filed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filing timestamp, when known.",
"title": "Filed At"
},
"granted_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Grant timestamp, when known.",
"title": "Granted At"
},
"retirement_effective_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"description": "Effective date, when established.",
"title": "Retirement Effective At"
},
"geography_detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Geographic scope from the source.",
"title": "Geography Detail"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Primary-source filing URL, when available.",
"title": "Source Url"
}
},
"required": [
"carrier",
"state",
"kind",
"filer",
"docket",
"filed_at",
"granted_at",
"retirement_effective_at",
"geography_detail",
"source_url"
],
"title": "CopperFiling",
"type": "object"
},
"CopperRecord": {
"description": "State-level carrier program status, not an address-specific deadline.",
"properties": {
"carrier": {
"description": "Normalized carrier identifier.",
"title": "Carrier",
"type": "string"
},
"state": {
"description": "Two-letter US state abbreviation.",
"title": "State",
"type": "string"
},
"retirement_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"description": "Filed retirement date, or null when not established.",
"title": "Retirement Date"
},
"status": {
"description": "Program status.",
"enum": [
"date_filed",
"program_active"
],
"title": "Status",
"type": "string"
},
"notes": {
"description": "Scope and limitations of the state-level entry.",
"title": "Notes",
"type": "string"
}
},
"required": [
"carrier",
"state",
"retirement_date",
"status",
"notes"
],
"title": "CopperRecord",
"type": "object"
}
},
"description": "Citable program data and separately dated, reviewed filings.",
"title": "CopperResponse"
}⚪ask_sync_advisor(message, session_id, session_token, company_name, pain, ...)
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",
"properties": {
"message": {
"description": "The user's technology question; no secrets.",
"maxLength": 8000,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"session_id": {
"anyOf": [
{
"pattern": "^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Returned workspace ID; required for continuation."
},
"session_token": {
"anyOf": [
{
"maxLength": 512,
"minLength": 1,
"pattern": "^\\S+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Returned private token; required with session_id."
},
"company_name": {
"anyOf": [
{
"maxLength": 255,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Company name; required for a new workspace."
},
"pain": {
"anyOf": [
{
"maxLength": 4000,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What is not working; required for a new workspace."
},
"conversation_id": {
"anyOf": [
{
"pattern": "^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Returned conversation ID; required for follow-up turns."
}
},
"required": [
"message"
]
}출력 스키마
{
"type": "object",
"properties": {
"assistant_message": {
"description": "Buyer-safe advisor response.",
"title": "Assistant Message",
"type": "string"
},
"follow_up_questions": {
"description": "Questions that clarify the user's needs.",
"items": {
"type": "string"
},
"title": "Follow Up Questions",
"type": "array"
},
"conversation_id": {
"description": "Pass back with both session credentials next turn.",
"format": "uuid",
"title": "Conversation Id",
"type": "string"
},
"review_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Current human-review status, when available.",
"title": "Review Status"
},
"claim_url": {
"description": "Private claim link; share only with the workspace owner.",
"title": "Claim Url",
"type": "string"
},
"disclosure": {
"description": "Human review precedes supplier and pricing disclosure.",
"title": "Disclosure",
"type": "string"
},
"session_id": {
"description": "Workspace handle to retain with conversation_id.",
"format": "uuid",
"title": "Session Id",
"type": "string"
},
"session_token": {
"description": "Private credential; retain, never publish.",
"minLength": 1,
"title": "Session Token",
"type": "string"
},
"environment_summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Initial workspace summary.",
"title": "Environment Summary"
},
"missing_info": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Initial information gaps.",
"title": "Missing Info"
}
},
"required": [
"assistant_message",
"follow_up_questions",
"conversation_id",
"review_status",
"claim_url",
"disclosure",
"session_id",
"session_token"
],
"description": "An advisor reply with the complete handle needed to continue safely.",
"title": "AdvisorResponse"
}⚪request_broker_callback(session_id, session_token, contact_name, contact_email)
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",
"properties": {
"session_id": {
"description": "Workspace ID returned by the advisor.",
"pattern": "^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
"type": "string"
},
"session_token": {
"description": "Private workspace credential.",
"maxLength": 512,
"minLength": 1,
"pattern": "^\\S+$",
"type": "string"
},
"contact_name": {
"description": "Name the user consented to share.",
"maxLength": 255,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"contact_email": {
"description": "Email the user explicitly consented to share.",
"maxLength": 255,
"minLength": 3,
"pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
"type": "string"
}
},
"required": [
"session_id",
"session_token",
"contact_name",
"contact_email"
]
}출력 스키마
{
"type": "object",
"properties": {
"status": {
"const": "received",
"description": "Callback request recorded, not yet completed.",
"title": "Status",
"type": "string"
},
"book_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional scheduling link; booking is not required.",
"title": "Book Url"
},
"disclosure": {
"description": "Human-review disclosure supplied by the backend.",
"title": "Disclosure",
"type": "string"
}
},
"required": [
"status",
"book_url",
"disclosure"
],
"description": "Recorded callback acknowledgement; this is not a confirmed appointment.",
"title": "CallbackResponse"
}커뮤니티
증거