mcp_stdout_write

自プロセスの stdout に書き込む (server 用)

mcp_stdout_write "data", len

"data" : 書き込むバイト列
len    : バイト数 (0 で strlen)

(プラグイン / モジュール : hspmcp.dll)

解説

自プロセスの stdout にデータを書き込んで FlushFileBuffers を呼びます。
HSP3CL を MCP server として動かす際、親プロセスへ JSON-RPC レスポンスを
返すために使います。

mcp_stdin_read_line と組み合わせて行単位の双方向通信を実現します。

戻り値: 実際に書き込んだバイト数

関連項目

mcp_stdin_read_line自プロセスの stdin から 1 行取得 (server 用)(hspmcp.dll)

情報

プラグイン / モジュールhspmcp.dll
バージョン1.0
作成日2026-04-14
著作者IronHSP / hspmcp
URLhttps://github.com/inovia/IronHSP
備考hspmcp.dll は HSP からは扱いづらい以下の処理を C++ で隠蔽します:
* CreateProcess + 匿名 pipe で子プロセスを spawn
* 子プロセス stdin/stdout を行単位で読み書き
* バックグラウンド reader thread + 内部 line buffer
* 自プロセスの stdin/stdout (HSP3CL を MCP server として動かすとき)

主に Anthropic Model Context Protocol (MCP) の stdio transport
実装に使うために作りましたが、汎用の "process pipe wrapper" として
他の用途にも使えます (子プロセス起動 + パイプ通信が必要な任意の場面)。

HSP からは package/win32/common/iron_mcp_client.hsp
iron_mcp_server.hsp を include して使うのが推奨です。
タイプ拡張命令
グループhspmcp ― server side stdin/stdout
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspmcp.hs