Native C++17 AI agent runtime — local-first, embeddable, MCP-native. Tool-calling, memory, and an async agent loop that runs where Python can't: ROS2, game threads, drones, HFT.
An in-process, offline-capable AI agent runtime for C++. It runs where Python can't — ROS2 nodes, game threads, drones, trading loops — and speaks MCP so it works with the existing tool ecosystem.
LangChain made building AI agents trivial in Python. corvus brings that to native C++: tool-calling, memory, an async agent loop, and local models via llama.cpp — with zero Python runtime.
⚠️ Status: early development (v0.0.1, Phase 0). Core agent loop + tool system + offline test harness are in place. Real LLM backends (Anthropic/OpenAI/Ollama), llama.cpp, and MCP land in upcoming phases — see the roadmap. The corvus name is a working name.
A user-defined tool is one makeTool(...) call — no subclassing, no hand-written JSON schema. Built-in tools, your C++ tools, and MCP tools all share one registry and are treated identically by the agent.
Requires CMake ≥ 3.16 and a C++17 compiler (GCC ≥ 9, Clang ≥ 10, or MSVC 2019+).
The test suite uses a deterministic MockLLM, so it runs fully offline with no API key.
Framework Language Embeddable in C++ Offline local models --------------------------------------------------------------- LangChain Python ❌ partial llama.cpp C/C++ ✅ ✅ (inference only) corvus C++17 ✅ ✅ (full agent)
Framework-first. Each phase is its own spec → plan → build cycle. Full detail: docs/specs/2026-06-29-jarvis-cpp-design.md.
- Phase 0 — foundations: core agent loop, tool system, memory, MockLLM, CI ← you are here - Phase 1 — real cloud backends (Anthropic/OpenAI) + native tool calling + streaming - Phase 2 — local-first: Ollama + llama.cpp + GBNF, Raspberry P
From the project README.
Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:
[](https://mcp.liqiwa.com/s/Ambar-Gupta22--corvus.html)
Pulse — Hermes-style self-improving AI agent. Reliability-first rebuild with evaluated skill self-evolution, multi-agent team orchestration, dialectic user modeling, and fully self-hosted default stac
0xwilliamortiz/openclaude-improvedruns anywhere. uses anything
MuhittinYilmazer/akanaSelf-hosted, local-first AI assistant server: swappable LLM providers, review-gated memory, an encrypted vault, and wake-word voice. No accounts, no telemetry.
livetennisapi/livetennisapi-mcpMCP server for the Live Tennis API — give Claude, Cursor and other LLM agents real-time tennis scores, odds and model win-probability
0xsline/OpenChatCutLocal-first conversational AI video editor with a professional multi-track timeline, Agent Skills, MCP integration, and Remotion-powered rendering.
KaichenCurry/TabNexusTurn tab overload into a local-first workspace with intent-first AI organization and Agent collaboration through MCP.
The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.