Skip to content

post_to_stream MCPツール: AIエージェントのメッセージをSlackストリームにマージ表示#141

Merged
hideack merged 2 commits into
masterfrom
feature/post-to-stream-mcp
Jun 20, 2026
Merged

post_to_stream MCPツール: AIエージェントのメッセージをSlackストリームにマージ表示#141
hideack merged 2 commits into
masterfrom
feature/post-to-stream-mcp

Conversation

@hideack

@hideack hideack commented Jun 20, 2026

Copy link
Copy Markdown
Owner

概要

Claude を loop 等でエージェント的に稼働させているとき、Claude が発するメッセージを Slack 経由ではなく直接 slack-cli-stream のコンソールに、Slack メッセージと時系列マージで表示できるようにします。既存の MCP サーバー(--mcp-port)に書き込みツール post_to_stream を1つ追加する形で実現しています。

ターミナルA: slack-cli-stream --mcp-port 3737 で起動(Slackライブ + Claudeメッセージが混在表示)
ターミナルB: claude を /loop で稼働 → post_to_stream ツールでメッセージを流す

変更内容

  • lib/core.js
    • core.displaydata.synthetic 分岐を追加。Slack 外ソースのメッセージは channel/user を Slack ID として解決せず、任意ラベルとして chalk.cyan で表示(Slack 発言と視覚的にも区別)。
    • core.postToStream(text, {channel, user}) を追加。synthetic な data を組み立て、コンソール表示 + バッファ投入 + SQLite記録の既存パイプラインに流す。slack_ts は null のためバックフィル処理を汚染しない。
  • lib/mcp-server.js
    • 書き込みツール post_to_streamtext 必須 / channeluser 任意、既定 claude)を追加。postToStream 未設定時は isError を返す。
    • startMcpServer/buildMcpServer/registerToolspostToStream を引き回し。
  • test/mcp_server_test.jspost_to_stream のテスト3件(引数渡し / デフォルト / コールバック未設定エラー)。
  • README.md — MCPサーバー節と post_to_stream のセットアップ手順・表示イメージを追記。
  • 公開リポジトリ向けの安全対策
    • .gitignore*.db / *.sqlite / *.sqlite3 / *.tsv を追加(実メッセージ入りログ/DBの誤コミット防止)。
    • README に MCP サーバーが無認証である旨と localhost 運用の注意書きを追記。

テスト

npm test(lint + mocha): 58 passing(既存55 + 新規3)。
表示パイプライン(フォーマット・複数行継続・バッファ投入)はスモークテストで動作確認済み。

🤖 Generated with Claude Code

hideack and others added 2 commits June 20, 2026 21:40
Claudeをloop等でエージェント的に稼働させた際、その発言をSlack経由ではなく
直接slack-cli-streamのコンソールにSlackメッセージと時系列マージで表示できる
ようにする。

- core.display: data.synthetic分岐を追加し、Slack外ソースのメッセージは
  channel/userをID解決せず任意ラベルとしてchalk.cyanで表示
- core.postToStream: synthetic dataを組み立て display + buffer + SQLite記録の
  パイプラインに流す。slack_tsはnullなのでバックフィルを汚染しない
- mcp-server: 書き込みツールpost_to_stream(text, channel?, user?)を追加し
  postToStreamを引き回し
- test: post_to_streamのテスト3件追加
- README: MCPサーバー節とpost_to_streamのloop運用手順・表示イメージを追記

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- .gitignore: *.db / *.sqlite / *.sqlite3 / *.tsv を追加。
  --log-sqlite / --log で生成される実Slackメッセージ入りファイルの
  誤コミットを防止する
- README: MCPサーバーが無認証であること、localhostバインドのまま利用し
  0.0.0.0公開やポートフォワードを避ける旨の注意書きを追記

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hideack hideack merged commit 2597a9c into master Jun 20, 2026
2 checks passed
@hideack hideack deleted the feature/post-to-stream-mcp branch June 20, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant