pty-mcp-server 0.2.0.0 → 0.2.1.0
raw patch · 4 files changed
+37/−3 lines, 4 filesdep +pms-infra-agent-server
Dependencies added: pms-infra-agent-server
Files
- CHANGELOG.md +6/−0
- README.md +25/−0
- app/Main.hs +3/−2
- pty-mcp-server.cabal +3/−1
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for pty-mcp-server +## 0.2.1.0 -- 2026-06-15++* Added pms-infra-agent-server: TCP server listen/accept functionality for AI agents.+* New tools: agent-server-listen, agent-server-close, agent-server-status, agent-server-events, agent-server-read, agent-server-write, agent-server-read-byte, agent-server-write-byte.+* Added skill prompts: skill_agent_server.md, skill_agent_client.md for AI-to-AI TCP communication.+ ## 0.2.0.0 -- 2026-05-31 * Added pms-infra-agent-socket, pms-infra-agent-serial.
README.md view
@@ -90,6 +90,30 @@ - **`agent-socket-write-byte`** Decodes the specified hex string and writes the resulting bytes to the active agent socket connection. +- **`agent-server-listen`**+ Binds to the specified host and port, starts listening for incoming TCP connections, and launches a background accept thread. Returns immediately after the listener is ready. Only one listener can be active at a time.++- **`agent-server-close`**+ Closes the active accepted connection (if any). If no connection is active, also closes the listener. Call twice to close both the connection and the listener.++- **`agent-server-status`**+ Returns the current server status as a JSON object with `isListening` and `isConnected` boolean fields.++- **`agent-server-events`**+ Dequeues and returns all server-side events accumulated since the last call (e.g. ClientConnected, BytesReceived, ClientDisconnected). Returns an empty array if no events are pending.++- **`agent-server-read`**+ Reads data from the active accepted connection and returns it as a UTF-8 string. Returns an empty string if no data is available before timeout.++- **`agent-server-read-byte`**+ Reads data from the active accepted connection and returns it as an uppercase hex string.++- **`agent-server-write`**+ Writes the specified UTF-8 string to the active accepted connection. Note: `\r\n` is sent as literal characters; use agent-server-write-byte for correct CRLF.++- **`agent-server-write-byte`**+ Decodes the specified hex string and writes the resulting bytes to the active accepted connection. Hex string must not contain spaces or newlines.+ - **`agent-serial-open`** Opens a serial port connection for subsequent agent-serial-read, agent-serial-write, agent-serial-read-byte, and agent-serial-write-byte operations. Only one port can be active at a time. @@ -571,6 +595,7 @@ - [`pms-infra-procspawn`](https://github.com/phoityne/pms-infra-procspawn) - [`pms-infra-agent-process`](https://github.com/phoityne/pms-infra-agent-process) - [`pms-infra-agent-socket`](https://github.com/phoityne/pms-infra-agent-socket)+- [`pms-infra-agent-server`](https://github.com/phoityne/pms-infra-agent-server) - [`pms-infra-agent-serial`](https://github.com/phoityne/pms-infra-agent-serial) - [`pms-infra-serial`](https://github.com/phoityne/pms-infra-serial) - [`pms-infra-socket`](https://github.com/phoityne/pms-infra-socket)
app/Main.hs view
@@ -20,6 +20,7 @@ import qualified PMS.Infra.Agent.Process.App.Control as IAP import qualified PMS.Infra.Agent.Socket.App.Control as IAS import qualified PMS.Infra.Agent.Serial.App.Control as IASer+import qualified PMS.Infra.Agent.Server.ApplicationBase.Control as IASrv import qualified PMS.Infra.Serial.App.Control as SER import qualified PMS.Infra.Socket.App.Control as SCK import qualified PMS.Infra.Watch.App.Control as IWA@@ -36,9 +37,9 @@ main :: IO () main = getArgs >>= \args -> do #ifdef mingw32_HOST_OS- let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run]+ let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IASrv.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run] #else- let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run, INF.run]+ let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IASrv.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run, INF.run] #endif flip E.catchAny exception $ flip E.finally finalize
pty-mcp-server.cabal view
@@ -20,7 +20,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.2.0.0+version: 0.2.1.0 -- A short (one-line) description of the package. synopsis: pty-mcp-server@@ -81,6 +81,7 @@ pms-infra-agent-process, pms-infra-agent-socket, pms-infra-agent-serial,+ pms-infra-agent-server, pms-infra-serial, pms-infra-socket, pms-infra-watch,@@ -102,6 +103,7 @@ pms-infra-agent-process, pms-infra-agent-socket, pms-infra-agent-serial,+ pms-infra-agent-server, pms-infra-serial, pms-infra-socket, pms-infra-watch,