# get_firm_oa_outcomes

Resolve a trademark law firm and compute mark-level Office Action outcome rates: how many firm-handled marks registered after receiving an OA, raw and excluding pending matters. Use this for questions like "what percentage registered after an OA?" or "OA success rate for this firm".

Agent View of the PolicyLayer registry record for `get_firm_oa_outcomes`. HTML page: https://policylayer.com/tools/com-gleanmark-trademark-search/get-firm-oa-outcomes

## Facts

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

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | integer | no | Maximum examples to return in each outcome bucket. |
| `firm_name` | string | yes | Law firm name or normalized key, e.g. "Imani Law" or "imanilawllp". |

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_firm_oa_outcomes",
    "arguments": {
      "firm_name": "<firm_name>"
    }
  }
}
```

## Why get_firm_oa_outcomes is rated Low

This tool performs data retrieval and statistical analysis on existing USPTO trademark data. It queries information about Office Action success rates for law firms, which is a read-only operation with no side effects. There is no creation, modification, deletion of data, nor any financial transactions or code execution.

From the tool's own definition: "The tool 'get_firm_oa_outcomes' retrieves and computes statistics about Office Action outcomes for trademark law firms. Key terms: 'Resolve', 'compute', 'outcome rates', 'how many firm-handled marks registered' — all query/analytics operations."

## Use case

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

## 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_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_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
