A Python-based chat runtime for JARVIS. It handles natural language processing, tool orchestration (ReAct), and routes all hardware/system commands to the Rust MCP server.
- Runtime: Python 3.10+ (managed via
uv) - Backend: Communicates with
jarvis-skills/rust-mcp-servervia JSON-RPC. - Tools: Dynamic loading from MCP
tools/listwith smart local caching.
-
Install dependencies:
cd jarvis-chat uv sync -
Configure environment: Create a
.envfile from the example and add your keys:cp .env.example .env
(From the jarvis-skills directory)
cd rust-mcp-server
cargo run --releasecd jarvis-chat
python main.py- Interactive mode: Just run
python main.pyand start typing. - Server mode: Run
python main.py --server --port 8000to expose the HTTP API.
Check if everything is connected correctly:
- Health Check:
curl http://127.0.0.1:5050/health - Tool Discovery:
curl http://127.0.0.1:5050/tools - Smoke Test:
python main.py "get system info"
This repo now includes .mcp.json with STDIO server launch commands for local CLI testing.
Prerequisites:
cd ../spotify-mcp-server
npm install
npm run buildThen run your CLI from jarvis-chat so relative paths in .mcp.json resolve correctly.
- Caching: LLM responses are cached for 3 minutes to save on API costs and latency.
- Routing: Complex hardware intents (Spotify, Volume, WiFi) are routed directly to Rust for native execution.
- Requirements: Ensure the Rust MCP server is running before starting the Python agent.