---
name: iblai-connect-pacer
description: "Read PACER data through the PACER Authentication API and PACER Case Locator (PCL) API and expose it to an ibl.ai agent as an MCP tool. Use when the user asks an agent to work with PACER data, or to set up a PACER MCP connection on ibl.ai."
metadata:
  kind: guide
---

# PACER connector for AI agents

> A starting point maintained on ibl.ai at https://ibl.ai/developer/connectors/pacer — not part of the iblai/vibe repository. Checked against Administrative Office of the U.S. Courts' documentation on October 20, 2026; test it against your own PACER setup before you rely on it.

PACER gives public access to U.S. federal court records (district, bankruptcy, appellate) kept in each court's CM/ECF system. The PACER Case Locator (PCL) is a nationwide index of federal cases and parties.

## Auth & conventions

- **API:** PACER Authentication API and PACER Case Locator (PCL) API (REST). The PCL API searches the national index for cases and parties (immediate or batch) in XML or JSON, returning case details and links to the court's CM/ECF. It does not file documents or download docket sheets.
- **Base URL:** https://pcl.uscourts.gov/pcl-public-api/rest/ (QA: https://qa-pcl.uscourts.gov/pcl-public-api/rest/)
- **Access:** Public, self-serve. Anyone can register a PACER account at pacer.uscourts.gov and use it with the API. A separate free QA account (qa-pacer.uscourts.gov) gives a non-billable test environment with sample data.
- **Auth:** PACER username/password exchanged for a session token. POST username, password (and a one-time passcode if enrolled in MFA) to https://pacer.login.uscourts.gov/services/cso-auth; send the returned nextGenCSO token in the X-NEXT-GEN-CSO header. Filers must also send the redaction flag.
- **Limits:** Immediate searches return 54 results per page, up to 100 pages (5,400 items); batch searches up to 108,000 items. Production searches cost $0.10 per page, even with no matches. Run large pulls 6 p.m. to 6 a.m. Central.
- Keep PACER credentials in environment variables or the ibl.ai credential store. Never print a token in chat and never commit one to a file.
- Destructive or outward-facing calls are marked **Confirm with the user first** — do.

## Reads

- **Case search** — POST /pcl-public-api/rest/cases/find with criteria such as case number, court, dates or nature of suit.
- **Party search** — POST /pcl-public-api/rest/parties/find by party name and other filters.
- **Batch case and party reports** — POST /cases/download, poll /cases/download/status/{reportId}, then GET /cases/download/{reportId}.
- **Court links** — Results include caseLink URLs into the specific court's CM/ECF docket.

## Writes

- None. This skill only reads PACER data.

## Expose it to an ibl.ai agent (MCP)

Administrative Office of the U.S. Courts did not publish an MCP server of its own when this skill was checked. Host a small MCP server that wraps the calls above, then register it below.

First install the ibl.ai platform skills and connect your organization (writes `IBLAI_ORG`, `IBLAI_USERNAME` and `IBLAI_API_KEY` to `.env`):

```bash
npx skills add iblai/vibe --all
# then, in your coding agent:
/iblai-api-login
```

Every call below sends `Authorization: Api-Token $IBLAI_API_KEY`.

1. **Register the server** — `POST https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mcp-servers/` with `name`, `url`, `transport` (`sse` | `websocket` | `streamable_http`) and `auth_type` (`none` | `token` | `oauth2`). Capture the returned `id`.
   - For an API key or service credential use `auth_type=token` with `auth_scope=platform` for one key across the organization, or scope it to a single agent for one key per agent.
2. **Create the connection** — `POST https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mcp-server-connections/` with `server`, `scope` (`platform` | `mentor` | `user`), `auth_type`, and either `credentials` + `authorization_scheme` or a `connected_service` id for OAuth. Credentials are masked on read; never send a masked value back.
3. **Enable it on the agent** — `GET https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mentors/{agent_id}/settings/`, add `mcp-tool` to `tool_slugs` and the server id to `mcp_servers`, then `PATCH` the full lists back. They are replaced, not merged.

Full reference: https://ibl.ai/developer/platform/mcp/mcp-connections and the `/iblai-api-agent-mcp` skill.

## Example prompts

- "Find all federal cases where Acme Corp is a party filed since January"
- "Look up case 1:24-cv-01234 in the Northern District of Illinois"
- "List new patent cases filed in the District of Delaware last week"
- "Run a batch search of every bankruptcy filing by Beta LLC"

## Guardrails

- Court records are public, but sealed filings, redaction rules and client litigation strategy still apply; search fees bill to the PACER account holder.
- Request the narrowest PACER scopes or role the task needs, and prefer a read-only credential for agents that only answer questions.
- Return the fields the user asked for, not whole records; do not paste personal data into chat that the user did not request.
- Before any write, show the user exactly what will change and wait for a yes.
- Respect the documented limits above: page through results and back off on rate-limit responses instead of retrying in a loop.

## References

- PACER developer resources: https://pacer.uscourts.gov/file-case/developer-resources
- PACER Case Locator (PCL) API user guide: https://pacer.uscourts.gov/help/pacer/pacer-case-locator-pcl-api-user-guide
- PACER pricing: how fees work: https://pacer.uscourts.gov/pacer-pricing-how-fees-work
- This connector on ibl.ai: https://ibl.ai/developer/connectors/pacer
- ibl.ai MCP server connections: https://ibl.ai/developer/platform/mcp/mcp-connections
