BareGit
Commits
Clone:
Name Latest commit Last update
..
πŸ“„ CMakeLists.txt Implement MCP JSON-RPC and stdio transport 4 weeks ago
πŸ“„ README.md Implement MCP JSON-RPC and stdio transport 4 weeks ago
πŸ“„ main.cpp Implement MCP JSON-RPC and stdio transport 4 weeks ago
πŸ“„ mcp_server_example.py Implement MCP JSON-RPC and stdio transport 4 weeks ago

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:

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.