mcp_proc_send

子プロセス stdin にデータを書き込む

mcp_proc_send hid, "data", len

hid    : mcp_proc_open で取得したハンドル
"data" : 書き込むバイト列
len    : バイト数 (0 で strlen)

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

解説

子プロセスの stdin に data を書き込みます。改行は自動付与されません
ので JSON-RPC over stdio 等で行区切りが必要な場合は呼び出し側で
"\n" を付けてください。

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

情報

プラグイン / モジュール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 ― process spawn
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspmcp.hs