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"
}コミュニティ
エビデンス