# get_cohort_event_intervals

Aggregate event-to-event pendency across a COHORT of marks — e.g. "average days from office action to publication for marks published in Q2 2026". Pick the cohort by an anchor event (preset: publication, notice_of_publication, registration, notice_of_allowance, abandonment, first_office_action — or raw event codes, trailing * = prefix) within a date window (max 366 days), and an interval start/end event. Returns avg/median/percentiles in days, how many cohort marks never had the start event, and example marks. Samples up to max_sample marks from the start of the window and says so when truncated. Use get_event_code_reference first if you need non-preset event codes.

Agent View of the PolicyLayer registry record for `get_cohort_event_intervals`. HTML page: https://policylayer.com/tools/com-gleanmark-trademark-search/get-cohort-event-intervals

## Facts

- Tool: `get_cohort_event_intervals`
- 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 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `end_event` | string | no | Interval end event (first occurrence on/after the start event). Defaults to the cohort event itself. |
| `max_sample` | integer | no | Max cohort marks to measure (default 1000, max 2000). |
| `start_event` | string | no | Interval start event (first occurrence on/before the cohort event). Defaults to first_office_action. |
| `cohort_event` | string | no | Preset anchor event defining cohort membership (e.g. publication = PUBO). |
| `cohort_date_to` | string | yes | Cohort window end (YYYY-MM-DD). Required. Window max 366 days. |
| `end_event_codes` | array | no | Alternative to end_event: raw event codes (trailing * = prefix). |
| `cohort_date_from` | string | yes | Cohort window start (YYYY-MM-DD). Required. |
| `start_event_codes` | array | no | Alternative to start_event: raw event codes (trailing * = prefix). |
| `cohort_event_codes` | array | no | Alternative to cohort_event: raw USPTO event codes; trailing * matches a prefix (e.g. "NPUB*"). |

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": "get_cohort_event_intervals",
    "arguments": {
      "cohort_date_to": "<cohort_date_to>",
      "cohort_date_from": "<cohort_date_from>"
    }
  }
}
```

## Why get_cohort_event_intervals is rated Low

This tool retrieves and queries trademark prosecution data to generate statistical insights. It operates purely on read operations against the USPTO trademark database—selecting cohorts, filtering by date ranges, and computing aggregate metrics. The tool does not create, modify, delete, or execute arbitrary code.

From the tool's own definition: "Tool aggregates and analyzes historical trademark event data within specified date windows, returning statistics (average, median, percentiles) and example marks."

## Use case

AI agents call get_cohort_event_intervals 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": {
    "get_cohort_event_intervals": {}
  }
}
```

## 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
- `count_trademarks_by_attributes` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/count-trademarks-by-attributes.md
- `get_class_relationships` — Read — https://policylayer.com/tools/com-gleanmark-trademark-search/get-class-relationships.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
