naftiko: 1.0.0-alpha2 info: label: Free Law Project / CourtListener REST API — Search description: 'Free Law Project / CourtListener REST API — Search. 1 operations. Lead operation: Search across CourtListener. Self-contained Naftiko capability covering one Free Law Project business surface.' tags: - Free Law Project - Search 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-search baseUri: https://www.courtlistener.com/api/rest/v4 description: Free Law Project / CourtListener REST API — Search business capability. Self-contained, no shared references. resources: - name: search path: /search/ operations: - name: search method: GET description: Search across CourtListener outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Search query string. - name: type in: query type: string description: Result type (e.g., o for opinions, r for RECAP, oa for oral arguments, p for people). - name: order_by in: query type: string - name: page in: query type: integer authentication: type: apikey key: Authorization value: '{{env.FREE_LAW_PROJECT_API_KEY}}' placement: header exposes: - type: rest namespace: free-law-project-search-rest port: 8080 description: REST adapter for Free Law Project / CourtListener REST API — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search name: search description: REST surface for search. operations: - method: GET name: search description: Search across CourtListener call: free-law-project-search.search with: q: rest.q type: rest.type order_by: rest.order_by page: rest.page outputParameters: - type: object mapping: $. - type: mcp namespace: free-law-project-search-mcp port: 9090 transport: http description: MCP adapter for Free Law Project / CourtListener REST API — Search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: search-across-courtlistener description: Search across CourtListener hints: readOnly: true destructive: false idempotent: true call: free-law-project-search.search with: q: tools.q type: tools.type order_by: tools.order_by page: tools.page outputParameters: - type: object mapping: $.