|
NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
|
Explicit subprocess boundary for local credentialless MCP adoption. More...
#include <types.h>
Public Attributes | |
| std::chrono::milliseconds | cancel_grace {500} |
| After a cancelled or timed-out request the session sends notifications/cancelled, waits this long for the server to stop, and then terminates the process tree (stdin closed first, then SIGTERM, then SIGKILL). | |
| std::vector< std::pair< std::string, std::string > > | environment |
| Environment entries for the server. | |
| std::size_t | max_stderr_bytes = 64 * 1024 |
| The session drains the server's stderr for as long as it runs and keeps its last max_stderr_bytes bytes; stderr output never ends the session (MCP: a client SHOULD NOT treat stderr as an error). | |
| std::size_t | max_stdout_text_lines = 1000 |
| A stdio server writes only JSON-RPC messages to stdout (MCP: it MUST NOT write anything else), but servers print banners and log lines there. | |
| std::chrono::milliseconds | startup_timeout {10000} |
| Startup covers launch through the initialized notification. | |
Explicit subprocess boundary for local credentialless MCP adoption.
| std::vector<std::pair<std::string, std::string> > neograph::mcp::StdioClientConfig::environment |
Environment entries for the server.
With replace_environment, they are its whole environment (an empty list is intentionally empty). Without it, the server inherits this process's environment and these entries are added or override inherited ones of the same name. Names must be unique (case-insensitively on Windows), nonempty, and contain neither '=' nor NUL. Values and argv must not contain NUL. A PATH entry is also where argv[0] is looked up.
| std::size_t neograph::mcp::StdioClientConfig::max_stderr_bytes = 64 * 1024 |
The session drains the server's stderr for as long as it runs and keeps its last max_stderr_bytes bytes; stderr output never ends the session (MCP: a client SHOULD NOT treat stderr as an error).
Captured bytes are never copied into exception messages or host stderr.
| std::size_t neograph::mcp::StdioClientConfig::max_stdout_text_lines = 1000 |
A stdio server writes only JSON-RPC messages to stdout (MCP: it MUST NOT write anything else), but servers print banners and log lines there.
The session skips a stdout line that is not JSON, up to max_stdout_text_lines lines and max_stdout_text_bytes bytes (newlines included) per session, and reports the first one on the host's stderr without quoting it. The next line past a limit ends the session with MCPFailure::protocol; 0 for either limit skips nothing. A line is never skipped when it could be a damaged message: one that starts with '{' or a '[' that opens a batch, or mentions "jsonrpc". Those, and JSON that is not an object or a batch, end the session at once.
| std::chrono::milliseconds neograph::mcp::StdioClientConfig::startup_timeout {10000} |