Free Law Project · Capability

Free Law Project / CourtListener REST API — Judges

Free Law Project / CourtListener REST API — Judges. 2 operations. Lead operation: List judges and people. Self-contained Naftiko capability covering one Free Law Project business surface.

Run with Naftiko Free Law ProjectJudges

What You Can Do

GET
Listpeople — List judges and people
/v1/people
GET
Listpositions — List judicial positions
/v1/positions

MCP Tools

list-judges-and-people

List judges and people

read-only idempotent
list-judicial-positions

List judicial positions

read-only idempotent

Capability Spec

free-law-project-judges.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Free Law Project / CourtListener REST API — Judges
  description: 'Free Law Project / CourtListener REST API — Judges. 2 operations. Lead operation: List judges and people.
    Self-contained Naftiko capability covering one Free Law Project business surface.'
  tags:
  - Free Law Project
  - Judges
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FREE_LAW_PROJECT_API_KEY: FREE_LAW_PROJECT_API_KEY
capability:
  consumes:
  - type: http
    namespace: free-law-project-judges
    baseUri: https://www.courtlistener.com/api/rest/v4
    description: Free Law Project / CourtListener REST API — Judges business capability. Self-contained, no shared references.
    resources:
    - name: people
      path: /people/
      operations:
      - name: listpeople
        method: GET
        description: List judges and people
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: positions
      path: /positions/
      operations:
      - name: listpositions
        method: GET
        description: List judicial positions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.FREE_LAW_PROJECT_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: free-law-project-judges-rest
    port: 8080
    description: REST adapter for Free Law Project / CourtListener REST API — Judges. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/people
      name: people
      description: REST surface for people.
      operations:
      - method: GET
        name: listpeople
        description: List judges and people
        call: free-law-project-judges.listpeople
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/positions
      name: positions
      description: REST surface for positions.
      operations:
      - method: GET
        name: listpositions
        description: List judicial positions
        call: free-law-project-judges.listpositions
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: free-law-project-judges-mcp
    port: 9090
    transport: http
    description: MCP adapter for Free Law Project / CourtListener REST API — Judges. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: list-judges-and-people
      description: List judges and people
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: free-law-project-judges.listpeople
      outputParameters:
      - type: object
        mapping: $.
    - name: list-judicial-positions
      description: List judicial positions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: free-law-project-judges.listpositions
      outputParameters:
      - type: object
        mapping: $.