# count_trademarks_by_attributes

Count and preview USPTO marks by record attributes rather than owner identity, with mark-type, standard-character, and Nice-class breakdowns plus metadata coverage. Use this for drawing type, standard-character, Nice-class, status, and cross-attribute counts. It can intersect claimed-color criteria with those attributes; color-only counts, rankings, lists, and vocabulary are outside its scope.

Agent View of the PolicyLayer registry record for `count_trademarks_by_attributes`. HTML page: https://policylayer.com/tools/com-gleanmark-trademark-search/count-trademarks-by-attributes

## Facts

- Tool: `count_trademarks_by_attributes`
- Server: GleanMark Trademark Search (`https://gleanmark.com/mcp`) — https://policylayer.com/tools/com-gleanmark-trademark-search.md
- Homepage: https://github.com/https://gleanmark.com/mcp
- Risk category: Read (Low risk)
- Registry record: grade D, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: yes
- Parameters: 9
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | integer | no |  |
| `mark_types` | array | no |  |
| `nice_classes` | array | no |  |
| `status_filter` | string | no | Use registered for currently live registrations; live also includes pending applications. |
| `class_match_mode` | string | no |  |
| `color_match_mode` | string | no | all permits additional claimed colors; only requires exactly the selected colors; only_bw also permits black/white. |
| `standard_characters` | boolean | no |  |
| `claimed_color_shades` | array | no | Exact canonical shades from the USPTO color claim. |
| `claimed_color_families` | array | no | Normalized color families. Burgundy and maroon, for example, count as red. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "count_trademarks_by_attributes",
    "arguments": {}
  }
}
```

## Why count_trademarks_by_attributes is rated Low

Even though count_trademarks_by_attributes only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

## Use case

AI agents call count_trademarks_by_attributes to retrieve information from GleanMark Trademark Search without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GleanMark Trademark Search:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "count_trademarks_by_attributes": {}
  }
}
```

## Other tools on GleanMark Trademark Search (60)

- `run_knockout_search` — Execute — https://policylayer.com/tools/com-gleanmark-trademark-search/run-knockout-search.md
- `run_safe_analytics` — Execute — https://policylayer.com/tools/com-gleanmark-trademark-search/run-safe-analytics.md
- `analyze_prosecution_history` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/analyze-prosecution-history.md
- `analyze_ttab_proceeding` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/analyze-ttab-proceeding.md
- `check_brand_availability` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/check-brand-availability.md
- `check_domain_availability` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/check-domain-availability.md
- `compare_marks` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/compare-marks.md
- `get_class_relationships` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-class-relationships.md
- `get_cohort_event_intervals` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-cohort-event-intervals.md
- `get_correspondent_marks` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-correspondent-marks.md
- `get_correspondent_specialization` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-correspondent-specialization.md
- `get_deadline_satisfaction_mapping` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-deadline-satisfaction-mapping.md
- `get_event_code_reference` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-event-code-reference.md
- `get_event_status_mapping` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-event-status-mapping.md
- `get_fame_profile` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-fame-profile.md
- `get_firm_correspondent_tasks` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-firm-correspondent-tasks.md
- `get_firm_deadlines` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-firm-deadlines.md
- `get_firm_oa_outcomes` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-firm-oa-outcomes.md
- `get_firm_top_correspondents` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-firm-top-correspondents.md
- `get_latest_office_action` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-latest-office-action.md
- `get_mark_ai_summary` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-mark-ai-summary.md
- `get_mark_deadlines` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-mark-deadlines.md
- `get_mark_international_profile` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-mark-international-profile.md
- `get_mark_owner_landscape` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-mark-owner-landscape.md
- `get_mark_prosecution_summary` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-mark-prosecution-summary.md
- `get_nice_classes` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-nice-classes.md
- `get_owner_ai_summary` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-owner-ai-summary.md
- `get_owner_deadlines` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-owner-deadlines.md
- `get_owner_filing_trends` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-owner-filing-trends.md
- `get_owner_goods_keywords` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-owner-goods-keywords.md
- …and 30 more: https://policylayer.com/tools/com-gleanmark-trademark-search.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-gleanmark-trademark-search · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-gleanmark-trademark-search
