naftiko: 1.0.0-alpha2 info: title: News Instant Message Context Mcp description: A capability composing news headlines (Bloomberg, Reuters) with Slack/Teams instant messages into one shaped market-news context. tags: [Naftiko, News, IM, Context] created: '2026-05-01' modified: '2026-05-04' binds: - namespace: bloomberg-env keys: {BLOOMBERG_TOKEN: BLOOMBERG_TOKEN} - namespace: slack-env keys: {SLACK_TOKEN: SLACK_TOKEN} capability: consumes: - namespace: bloomberg-news type: http baseUri: https://api.bloomberg.com authentication: {type: bearer, token: '{{BLOOMBERG_TOKEN}}'} resources: - {name: news, path: /eap/news/v1/headlines, operations: [{name: get-news-headlines, method: GET}]} - namespace: slack type: http baseUri: https://slack.com authentication: {type: bearer, token: '{{SLACK_TOKEN}}'} resources: - name: conversation-history path: /api/conversations.history operations: - {name: get-channel-history, method: GET, inputParameters: [{name: channel, in: query}]} exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: news-instant-message-context-mcp-rest description: REST surface for news + IM context. resources: - {name: market-news-context, path: /market-news-context, operations: [{method: GET, name: get-market-news-context, call: bloomberg-news.get-news-headlines}]} - type: mcp address: 0.0.0.0 port: 3010 namespace: news-instant-message-context-mcp-mcp description: MCP for news + IM context. tools: - {name: get-news-headlines, hints: {readOnly: true}, call: bloomberg-news.get-news-headlines} - name: get-channel-history hints: {readOnly: true} inputParameters: [{name: channel, type: string, required: true}] call: slack.get-channel-history - type: skill address: 0.0.0.0 port: 3011 namespace: news-instant-message-context-mcp-skills description: Skill for news + IM context. skills: - name: news-instant-message-context-mcp description: News + IM market context. location: file:///opt/naftiko/skills/news-instant-message-context-mcp allowed-tools: get-news-headlines,get-channel-history tools: - {name: get-news-headlines, from: {sourceNamespace: news-instant-message-context-mcp-mcp, action: get-news-headlines}} - {name: get-channel-history, from: {sourceNamespace: news-instant-message-context-mcp-mcp, action: get-channel-history}}