Metagente, a tiny language for AI agents that speaks MCP and A2A Metagente, a declarative language for building AI agents from developer Cleuton Sampaio, has shipped its interpreter as a single Rust binary that natively speaks MCP (Model Context Protocol) and A2A (Agent to Agent), with v1.0 features including an MCP server, A2A Agent Card, A2A tasks and a `serve` command built but release pending. Agents are defined in short files specifying a goal, MCP tools, inputs and replies, and each agent declares per-agent permissions for folders, environment variables and other agents. Prebuilt binaries are available for Linux amd64, macOS arm64 and Windows amd64, with the next stage, Project Barracuda, planned as an agent server invoked via A2A or a frontend with a queue for batch triggering. Build AI agents in a few lines, not a few hundred. Metagente is a small language for building AI agents. You describe what the agent is for, which tools it may use and what it answers; the interpreter does the rest. It speaks MCP Model Context Protocol and A2A Agent to Agent natively, so your agents can use any MCP tool and talk to other agents out of the box. This demonstration is in multi-agent-samples The interpreter is a single binary written in Rust. No Python environment, no framework to learn. agent Weather goal "Answer questions about the weather" tool weather from mcp "npx -y weather-mcp" accepts ask city on ask forecast = weather.forecast city: city reply "In {city} it will be {forecast.summary}" That is a complete agent: a goal, an MCP tool, an input and a reply. 1. Download the zip for your system from the latest release https://github.com/cleuton/MetaAgent/releases/latest : metagente-linux-amd64.zip , metagente-macos-arm64.zip or metagente-windows-amd64.zip . 2. Unzip it and open a terminal in the folder. 3. Run the first sample: ./bin/metagente run samples/clock.ag now On Windows use .\bin\metagente.exe instead. Then create your own agent: ./bin/metagente new hello ./bin/metagente run hello.ag greet name=World Prefer to build from source? You need Rust https://rustup.rs : git clone https://github.com/cleuton/MetaAgent cd MetaAgent cargo build --release target/release/metagente run examples/clock.ag now Frameworks such as LangChain or CrewAI are powerful, but they assume you are a programmer working inside a Python project. Metagente makes a different trade: | | Python agent frameworks | Metagente | |---|---|---| | What you write | Python code using a library | A short declarative agent file | | Install | Python, virtual env, packages | One binary | | Tools | Framework specific wrappers | Any MCP server | | Agents talking to agents | Usually in-process | A2A, across processes and machines | | Safety | Up to your code | Per-agent permissions for folders, env vars and links | | Errors | Stack traces | Beginner friendly messages | If you need fine control in Python, use a framework. If you want a working agent quickly, or you want to give non-programmers a way to build agents, Metagente is for you. - Language and interpreter: goals, tools, inputs, replies, if , loops and results. - Built in tools and MCP tools: plug in any MCP server. - Safe agents: each agent declares which folders, environment variables and other agents it may use. - Dynamic link: agents call agents by name or path, with interface checks and cycle detection. - A2A and MCP server: expose an agent as an MCP server or with an A2A Agent Card, and send or receive A2A tasks. - CLI: new , check , run and serve . City Briefing https://github.com/cleuton/MetaAgent/blob/main/samples/city-briefing/README.md puts it all together: a Concierge agent asks a Researcher agent over A2A, and the Researcher reads a web page through an MCP tool. Both use Claude. Bring your own API key. | Topic | Where | |---|---| | Tutorial, step by step | docs/tutorial.md https://github.com/cleuton/MetaAgent/blob/main/docs/tutorial.md | | Programming guide if, loops, results | docs/guide.md https://github.com/cleuton/MetaAgent/blob/main/docs/guide.md | | Language syntax | docs/syntax.md https://github.com/cleuton/MetaAgent/blob/main/docs/syntax.md | | Samples | samples/ https://github.com/cleuton/MetaAgent/blob/main/samples | | Changelog | CHANGELOG.md https://github.com/cleuton/MetaAgent/blob/main/CHANGELOG.md | | Stage | State | |---|---| | Core language, built in and MCP tools, CLI, tutorial | Built | | Safe agents per-agent permissions | Built | | Dynamic link between agents | Built | | v1.0: MCP server, A2A Agent Card, A2A tasks, serve | Built, release pending | | Project Barracuda: an agent server invoked via A2A or a frontend, with a queue for batch triggering | Next | | Long running tasks, authentication for served agents, agent registry, scheduling, A2A streaming | Ideas | Metagente is developed with spec-driven development using GitHub Spec Kit https://github.com/github/spec-kit . Every feature starts as a spec, so you can read why things are the way they are: | Document | Path | |---|---| | Constitution principles | .specify/memory/constitution.md | | Feature spec | specs/001-metagente-core/spec.md | | Implementation plan | specs/001-metagente-core/plan.md | | Task list | specs/001-metagente-core/tasks.md | | Language, CLI, configuration and protocol contracts | specs/001-metagente-core/contracts/ | | Validation guide | specs/001-metagente-core/quickstart.md | Issues, ideas and pull requests are welcome. If you build an agent with Metagente, open an issue and show it; good ones become samples. If Metagente is useful to you, a star on the repository helps other people find it. v0.1.1. Semantic versioning. The version is kept in this file, in CHANGELOG.md and in Cargo.toml .