naftiko: 1.0.0-alpha2 info: label: Bridge Web API — Listings description: Query MLS listings via Bridge's native (non-OData) Web API. tags: [Bridge, Listings, MLS, REST] created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: { BRIDGE_ACCESS_TOKEN: BRIDGE_ACCESS_TOKEN } capability: consumes: - type: http namespace: bridge-listings baseUri: https://api.bridgedataoutput.com/api/v2 resources: - name: listings path: /{dataset}/listings operations: - name: listListings method: GET description: List MLS listings (flat JSON envelope). outputRawFormat: json inputParameters: - { name: dataset, in: path, type: string, required: true } - { name: limit, in: query, type: integer } - { name: offset, in: query, type: integer } - { name: sortBy, in: query, type: string } - { name: order, in: query, type: string } outputParameters: - { name: result, type: object, value: $. } - name: listing-by-id path: /{dataset}/listings/{listingId} operations: - name: getListing method: GET description: Get a listing by ID. outputRawFormat: json inputParameters: - { name: dataset, in: path, type: string, required: true } - { name: listingId, in: path, type: string, required: true } outputParameters: - { name: result, type: object, value: $. } authentication: type: apikey key: access_token value: '{{env.BRIDGE_ACCESS_TOKEN}}' placement: query exposes: - type: mcp namespace: bridge-listings-mcp port: 9090 transport: http tools: - name: bridge-list-listings description: List MLS listings via Bridge Web API. hints: { readOnly: true, destructive: false, idempotent: true } call: bridge-listings.listListings with: { dataset: tools.dataset, limit: tools.limit, offset: tools.offset } outputParameters: - { type: object, mapping: $. } - name: bridge-get-listing description: Get an MLS listing by ID. hints: { readOnly: true, destructive: false, idempotent: true } call: bridge-listing-by-id.getListing with: { dataset: tools.dataset, listingId: tools.listingId } outputParameters: - { type: object, mapping: $. }