Skip to main content
Glama

Server Details

FCC copper retirement lookups and a broker-reviewed IT advisor. No supplier names, no prices.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool serves a clearly distinct purpose: consulting the advisor, performing a deterministic data lookup, and requesting a human callback. No two tools overlap in function or output.

Naming Consistency5/5

All three tool names follow the same verb_noun pattern: ask_sync_advisor, check_copper_retirement, request_broker_callback. The naming is uniform and predictable.

Tool Count5/5

Three tools is well-scoped for this server's narrow domain: advisory consultation, a specific lookup, and a human handoff. Each tool earns its place with no redundant surface.

Completeness5/5

The tool set covers the full workflow: start and continue the advisor conversation, query retirement status data, and request broker follow-up. No obvious gaps exist for the stated purpose.

Available Tools

3 tools
ask_sync_advisorAsk the Sync advisorAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
painNoWhat is not working; required for a new workspace.
messageYesThe user's technology question; no secrets.
session_idNoReturned workspace ID; required for continuation.
company_nameNoCompany name; required for a new workspace.
session_tokenNoReturned private token; required with session_id.
conversation_idNoReturned conversation ID; required for follow-up turns.

Output Schema

ParametersJSON Schema
NameRequiredDescription
claim_urlYesPrivate claim link; share only with the workspace owner.
disclosureYesHuman review precedes supplier and pricing disclosure.
session_idYesWorkspace handle to retain with conversation_id.
missing_infoNoInitial information gaps.
review_statusYesCurrent human-review status, when available.
session_tokenYesPrivate credential; retain, never publish.
conversation_idYesPass back with both session credentials next turn.
assistant_messageYesBuyer-safe advisor response.
environment_summaryNoInitial workspace summary.
follow_up_questionsYesQuestions that clarify the user's needs.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

All four annotations are false, so the description carries the full burden of behavioral disclosure, and it delivers richly. It discloses that a private workspace is created (a write), that the tool is stateful and requires returned credentials for continuation, that incomplete continuation handles are rejected before any write, that a failed write may already have been recorded (non-idempotent), and that replies never include supplier names or pricing — which arrive only via claim_url or callback. This is precisely the kind of behavioral context an agent needs on top of empty annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense — roughly 180 words — but every sentence earns its place given the tool's stateful nature and absent annotations. It is effectively front-loaded (purpose first, then lifecycle, then safety rules, then output constraints). Some hints (e.g. 'required with session_id') are already in the schema and slightly redundant, but there is no wasted filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, stateful, 6-parameter tool with no annotation support, the description covers every decision point an agent faces: how to start, how to continue, how to recover from incomplete handles, how to avoid duplicate writes, and what the output will and will not contain. An output schema exists, so return-value details are already provided elsewhere. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, setting the baseline at 3. The description goes beyond the individual field descriptions by explaining the interplay: it clarifies that pain and company_name are required only for a new workspace, session_id/session_token are returned credentials needed together for continuation, and conversation_id is required for follow-up turns. This on-boarding/continuation pairing semantics adds meaning the schema's per-field descriptions do not convey on their own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line 'Consult CHNLSYNC's advisor about the user's IT environment' uses a specific verb (consult) with a clear resource (the advisor) and a defined domain (the user's IT environment). The focus on advising about IT environment clearly distinguishes it from siblings like check_copper_retirement (retirement checks) and request_broker_callback (callback scheduling), which are plainly different functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives exceptionally explicit usage guidance: it distinguishes the first call (provide pain + company_name, omit session fields) from continuation calls (pass session_id, session_token, and conversation_id), and instructs persisting all three privately across turns. It even offers a recovery path (recover previous tool result instead of creating another workspace) and a warning never to auto-retry failed writes. The only gap is that it never names sibling alternatives or states when NOT to use this tool in favor of them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_copper_retirementCheck copper retirement statusA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoTwo-letter US state, e.g. TX.
carrierNoCarrier display name, e.g. AT&T.

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofYesAs-of date of static records, not of latest_filings.
sourceYesSource methodology and limitations.
licenseYesReuse license; attribution is required.
recordsYesCarrier/state entries matching the filters.
source_urlYesAttribution URL for the published dataset.
latest_filingsYesUp to 20 reviewed matching filings.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: it is a deterministic read of an FCC-sourced dataset, requires citation of the returned source_url, and clarifies that the data is from CHNLSYNC. This goes beyond the annotations and helps the agent understand the nature of the operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence states the purpose, the second adds usage details and the citation requirement. Every sentence earns its place, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are already documented. The description covers the key usage details: what the tool does, how to filter, and the citation requirement. It could arguably mention that the dataset is FCC-sourced in the first sentence, but the current structure is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds value by explaining that carrier accepts display names and state is a two-letter abbreviation, and by noting that omitting both returns the full dataset. This is a small but useful addition beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Look up'), a clear resource (US copper/POTS retirement program status), and the key dimensions (carrier and state). It also distinguishes itself from siblings by being a deterministic read of a specific dataset, which is not apparent from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use this tool: to look up US copper/POTS retirement status by carrier and state, and notes that omitting both returns the full dataset. It also provides concrete input examples ('AT&T', 'Lumen', 'Frontier') and clarifies the state format, which is strong practical guidance. It does not explicitly name alternatives, but the sibling tools (ask_sync_advisor, request_broker_callback) are clearly different in purpose, so no exclusion is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_broker_callbackRequest a human broker callbackAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesWorkspace ID returned by the advisor.
contact_nameYesName the user consented to share.
contact_emailYesEmail the user explicitly consented to share.
session_tokenYesPrivate workspace credential.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesCallback request recorded, not yet completed.
book_urlYesOptional scheduling link; booking is not required.
disclosureYesHuman-review disclosure supplied by the backend.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare openWorldHint=true, idempotentHint=false, readOnlyHint=false, but the description converts those abstract flags into concrete agent-relevant behaviors: a real human will contact the user, a retried request may already be recorded, and the returned book_url is optional rather than mandatory. It also discloses the auth prerequisite beyond what readOnlyHint=false alone implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is roughly four sentences with no fluff; the purpose and consent gate are front-loaded, followed by prerequisite, booking semantics, and retry rule. Every sentence earns its place — each constraint maps to a real failure mode (sharing personal data without consent, mis-marketing optional booking, double-submitting non-idempotent requests).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description rightly doesn't narrate the return shape; instead it covers exactly what the schema can't: consent requirements, session-credential provenance, the optionality of book_url in the conversation, and timeout retry behavior. Combined with the coverage, an agent has everything needed to invoke this tool safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 4 parameters are already documented with paired descriptions at 100% coverage (consent-scoped contact_name/contact_email, advisor-returned session_id, private session_token). The description adds the provenance breadcrumb that the session credentials come specifically from ask_sync_advisor, plus the consent framing — helpful but modest given how much the schema already carries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action with verb, resource, and subject ('ask a CHNLSYNC human broker to contact the user about their case'). It is plainly distinguishable from siblings: ask_sync_advisor returns credentials, and check_copper_retirement checks retirement status — neither queues a human callback.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the exact gate conditions: the user's explicit consent to share name/email, and the prerequisite session credentials 'returned by ask_sync_advisor' — explicitly routing the agent to the right sibling first. It also gives when-not-to: never present booking as required/confirmed, and never auto-retry after a timeout.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedask_sync_advisor18 fields changed
      • changedInput schema / properties / company_name / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 255,
        +    "minLength": 1,
        +    "pattern": "\\S",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / company_name / description
        Added value: +"Company name; required for a new workspace."
      • addedInput schema / properties / conversation_id
        Added value: +{
        +  "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."
        +}
      • addedInput schema / properties / message / description
        Added value: +"The user's technology question; no secrets."
      • addedInput schema / properties / message / maxLength
        Added value: +8000
      • addedInput schema / properties / message / minLength
        Added value: +1
      • addedInput schema / properties / message / pattern
        Added value: +"\\S"
      • changedInput schema / properties / pain / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 4000,
        +    "minLength": 1,
        +    "pattern": "\\S",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / pain / description
        Added value: +"What is not working; required for a new workspace."
      • changedInput schema / properties / session_id / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "pattern": "^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / session_id / description
        Added value: +"Returned workspace ID; required for continuation."
      • changedInput schema / properties / session_token / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 512,
        +    "minLength": 1,
        +    "pattern": "^\\S+$",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / session_token / description
        Added value: +"Returned private token; required with session_id."
      • removedOutput schema / additionalProperties
        Removed value: -true
      • addedOutput schema / description
        Added value: +"An advisor reply with the complete handle needed to continue safely."
      • addedOutput schema / properties
        Added value: +{
        +  "assistant_message": {
        +    "description": "Buyer-safe advisor response.",
        +    "title": "Assistant Message",
        +    "type": "string"
        +  },
        +  "claim_url": {
        +    "description": "Private claim link; share only with the workspace owner.",
        +    "title": "Claim Url",
        +    "type": "string"
        +  },
        +  "conversation_id": {
        +    "description": "Pass back with both session credentials next turn.",
        +    "format": "uuid",
        +    "title": "Conversation Id",
        +    "type": "string"
        +  },
        +  "disclosure": {
        +    "description": "Human review precedes supplier and pricing disclosure.",
        +    "title": "Disclosure",
        +    "type": "string"
        +  },
        +  "environment_summary": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "null"
        +      }
        +    ],
        +    "default": null,
        +    "description": "Initial workspace summary.",
        +    "title": "Environment Summary"
        +  },
        +  "follow_up_questions": {
        +    "description": "Questions that clarify the user's needs.",
        +    "items": {
        +      "type": "string"
        +    },
        +    "title": "Follow Up Questions",
        +    "type": "array"
        +  },
        +  "missing_info": {
        +    "anyOf": [
        +      {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "type": "null"
        +      }
        +    ],
        +    "default": null,
        +    "description": "Initial information gaps.",
        +    "title": "Missing Info"
        +  },
        +  "review_status": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "null"
        +      }
        +    ],
        +    "description": "Current human-review status, when available.",
        +    "title": "Review Status"
        +  },
        +  "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"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "assistant_message",
        +  "follow_up_questions",
        +  "conversation_id",
        +  "review_status",
        +  "claim_url",
        +  "disclosure",
        +  "session_id",
        +  "session_token"
        +]
      • addedOutput schema / title
        Added value: +"AdvisorResponse"
    • Changedcheck_copper_retirement10 fields changed
      • changedInput schema / properties / carrier / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 255,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / carrier / description
        Added value: +"Carrier display name, e.g. AT&T."
      • changedInput schema / properties / state / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "pattern": "^[A-Za-z]{2}$",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / state / description
        Added value: +"Two-letter US state, e.g. TX."
      • addedOutput schema / $defs
        Added value: +{
        +  "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"
        +      },
        +      "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"
        +      },
        +      "filer": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filing organization, when known.",
        +        "title": "Filer"
        +      },
        +      "geography_detail": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Geographic scope from the source.",
        +        "title": "Geography Detail"
        +      },
        +      "granted_at": {
        +        "anyOf": [
        +          {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Grant timestamp, when known.",
        +        "title": "Granted At"
        +      },
        +      "kind": {
        +        "description": "Application, public notice, grant or carrier notice.",
        +        "title": "Kind",
        +        "type": "string"
        +      },
        +      "retirement_effective_at": {
        +        "anyOf": [
        +          {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Effective date, when established.",
        +        "title": "Retirement Effective At"
        +      },
        +      "source_url": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Primary-source filing URL, when available.",
        +        "title": "Source Url"
        +      },
        +      "state": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "State when known; null is not nationwide coverage.",
        +        "title": "State"
        +      }
        +    },
        +    "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"
        +      },
        +      "notes": {
        +        "description": "Scope and limitations of the state-level entry.",
        +        "title": "Notes",
        +        "type": "string"
        +      },
        +      "retirement_date": {
        +        "anyOf": [
        +          {
        +            "format": "date",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filed retirement date, or null when not established.",
        +        "title": "Retirement Date"
        +      },
        +      "state": {
        +        "description": "Two-letter US state abbreviation.",
        +        "title": "State",
        +        "type": "string"
        +      },
        +      "status": {
        +        "description": "Program status.",
        +        "enum": [
        +          "date_filed",
        +          "program_active"
        +        ],
        +        "title": "Status",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "carrier",
        +      "state",
        +      "retirement_date",
        +      "status",
        +      "notes"
        +    ],
        +    "title": "CopperRecord",
        +    "type": "object"
        +  }
        +}
      • removedOutput schema / additionalProperties
        Removed value: -true
      • addedOutput schema / description
        Added value: +"Citable program data and separately dated, reviewed filings."
      • addedOutput schema / properties
        Added value: +{
        +  "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"
        +  },
        +  "license": {
        +    "const": "CC BY 4.0",
        +    "description": "Reuse license; attribution is required.",
        +    "title": "License",
        +    "type": "string"
        +  },
        +  "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"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "records",
        +  "source",
        +  "source_url",
        +  "license",
        +  "as_of",
        +  "latest_filings"
        +]
      • addedOutput schema / title
        Added value: +"CopperResponse"
    • Changedrequest_broker_callback19 fields changed
      • addedInput schema / properties / contact_email / description
        Added value: +"Email the user explicitly consented to share."
      • addedInput schema / properties / contact_email / maxLength
        Added value: +255
      • addedInput schema / properties / contact_email / minLength
        Added value: +3
      • addedInput schema / properties / contact_email / pattern
        Added value: +"^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
      • addedInput schema / properties / contact_name / description
        Added value: +"Name the user consented to share."
      • addedInput schema / properties / contact_name / maxLength
        Added value: +255
      • addedInput schema / properties / contact_name / minLength
        Added value: +1
      • addedInput schema / properties / contact_name / pattern
        Added value: +"\\S"
      • addedInput schema / properties / session_id / description
        Added value: +"Workspace ID returned by the advisor."
      • addedInput schema / properties / session_id / pattern
        Added value: +"^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$"
      • addedInput schema / properties / session_token / description
        Added value: +"Private workspace credential."
      • addedInput schema / properties / session_token / maxLength
        Added value: +512
      • addedInput schema / properties / session_token / minLength
        Added value: +1
      • addedInput schema / properties / session_token / pattern
        Added value: +"^\\S+$"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • addedOutput schema / description
        Added value: +"Recorded callback acknowledgement; this is not a confirmed appointment."
      • addedOutput schema / properties
        Added value: +{
        +  "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"
        +  },
        +  "status": {
        +    "const": "received",
        +    "description": "Callback request recorded, not yet completed.",
        +    "title": "Status",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "status",
        +  "book_url",
        +  "disclosure"
        +]
      • addedOutput schema / title
        Added value: +"CallbackResponse"
  2. 3 tool updates
    • First observedask_sync_advisor
    • First observedcheck_copper_retirement
    • First observedrequest_broker_callback

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Unbiased vendor intelligence MCP server that helps AI agents and developers make informed infrastructure decisions by providing current, structured, neutral vendor comparisons and recommendations.
    30 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time LNP/WLNP (Wireless Local Number Portability) and LRN auditing. Features specialized congestion logic for 2026 global events. Essential for routing agents managing wireless and wireline transit.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Tells your agent whether a number is safe to call or text right now. Live US/Canada phone data: carrier, line type, LRN, CNAM, spam/scam reputation, SMS deliverability, and TCPA 8am–9pm calling-window verdicts, plus bulk jobs. Every query is a fresh network dip, never stale cache. Free sandbox key, no card required. Pay per lookup, no minimums.
    6
    29 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources