naftiko: 1.0.0-alpha2 info: label: Charles Schwab Market Data API — Options description: 'Charles Schwab Market Data API — Options. 2 operations. Lead operation: Get option chain for a symbol. Self-contained Naftiko capability covering one Charles Schwab business surface.' tags: - Charles Schwab - Options created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CHARLES_SCHWAB_API_KEY: CHARLES_SCHWAB_API_KEY capability: consumes: - type: http namespace: market-data-options baseUri: https://api.schwabapi.com/marketdata/v1 description: Charles Schwab Market Data API — Options business capability. Self-contained, no shared references. resources: - name: chains path: /chains operations: - name: getoptionchains method: GET description: Get option chain for a symbol outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: symbol in: query type: string required: true - name: contractType in: query type: string - name: strikeCount in: query type: integer - name: includeQuotes in: query type: boolean - name: expirationchain path: /expirationchain operations: - name: getoptionexpirationchain method: GET description: Get option expiration chain for a symbol outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: symbol in: query type: string required: true authentication: type: bearer token: '{{env.CHARLES_SCHWAB_API_KEY}}' exposes: - type: rest namespace: market-data-options-rest port: 8080 description: REST adapter for Charles Schwab Market Data API — Options. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/chains name: chains description: REST surface for chains. operations: - method: GET name: getoptionchains description: Get option chain for a symbol call: market-data-options.getoptionchains with: symbol: rest.symbol contractType: rest.contractType strikeCount: rest.strikeCount includeQuotes: rest.includeQuotes outputParameters: - type: object mapping: $. - path: /v1/expirationchain name: expirationchain description: REST surface for expirationchain. operations: - method: GET name: getoptionexpirationchain description: Get option expiration chain for a symbol call: market-data-options.getoptionexpirationchain with: symbol: rest.symbol outputParameters: - type: object mapping: $. - type: mcp namespace: market-data-options-mcp port: 9090 transport: http description: MCP adapter for Charles Schwab Market Data API — Options. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-option-chain-symbol description: Get option chain for a symbol hints: readOnly: true destructive: false idempotent: true call: market-data-options.getoptionchains with: symbol: tools.symbol contractType: tools.contractType strikeCount: tools.strikeCount includeQuotes: tools.includeQuotes outputParameters: - type: object mapping: $. - name: get-option-expiration-chain-symbol description: Get option expiration chain for a symbol hints: readOnly: true destructive: false idempotent: true call: market-data-options.getoptionexpirationchain with: symbol: tools.symbol outputParameters: - type: object mapping: $.