Next release (AmiBroker 7.20) news thread

First and foremost: do NOT confuse IPC with MCP.
IPC stands for "Inter-Process Communication". It is just communication between various processes. It can be done via OLE, or named pipes, or shared memory or sockets.

MCP on the other hand stands for "Model Control Protocol" it is the method for LLMs to communicate with "tools".

AmiBroker does NOT expose MCP server by itself. MCP serve is an add-on Python program (open source) that talks to AmiBroker using IPC (named pipes).

  1. No. It is currently added as alternative (option), not replacement. It is also experimental, while OLE is mature. Main motivation is broken WINE support for OLE.
  2. No noticeable difference in practice and frankly, nothing that OLE interface does in AmiBroker really needs any "performance" and don't transfer any significant amount of data to be worried
  3. Each running instance opens it own named pipe
  4. Yes it can
  5. No massive data is ever passed. Those commands are just few bytes. No data are actually transfered. Any import or export is just command that actually writes to files not to the pipe.
  6. If you use CallNamedPipe function, it essentially performs atomic write->wait->read transaction over the pipe. It is like message that gets response within short time. Multiple clients can do their own "messages" to one pipe. They get serialized automatically just by windows as CallNamedPipe will block the pipe until it returns. Therefore lengthy operations (like backtest) are made asynchronously (return immediately).

Most of these questions and way more are already answered here:

5 Likes