BareGit
# Demo CLI

Build with `-DAGENT_SMITH_BUILD_DEMO=ON`, then run
`build/demo/agent_smith_demo`. Configure the LLM with `LLAMA_SERVER_URL`,
`LLAMA_MODEL`, and optionally `LLAMA_API_KEY`.

The CLI keeps rolling conversation history and exposes the native
`get_weather` tool. It also starts `mcp_server_example.py` using Python 3
and registers these MCP tools:

- `mcp_demo__add`: add two numbers.
- `mcp_demo__read_resource`: read `example://help`.

Try “Use the addition tool to add 23 and 19” or “Read example://help”.
The MCP greeting prompt is available through `mcp::Client::getPrompt()`;
it is not automatically inserted into the conversation.

Use `--no-mcp` to run without Python or an MCP server. To connect another
stdio server, use `--mcp PROGRAM [ARG...]`; arguments are passed directly,
not interpreted by a shell. Its tools use the same `mcp_demo__` prefix.

Commands: `/help`, `/clear`, `/stream on`, `/stream off`, `/quit`.

The bundled server uses only Python's standard library. It is a small
protocol example, not a general-purpose MCP server implementation.

## MCP tests

Enable `-DAGENT_SMITH_BUILD_TESTS=ON
-DAGENT_SMITH_TESTS_NEED_PYTHON=ON` to include the subprocess tests, then
build with `cmake --build build -j24` and run `ctest --test-dir build
--output-on-failure`. The Python tests are opt-in so builds without a
Python interpreter retain the existing C++ test suite.