{"slug": "metagente-a-tiny-language-for-ai-agents-that-speaks-mcp-and-a2a", "title": "Metagente, a tiny language for AI agents that speaks MCP and A2A", "summary": "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.", "body_md": "**Build AI agents in a few lines, not a few hundred.**\n\nMetagente is a small language for building AI agents. You describe what the agent is for, which tools it may\nuse and what it answers; the interpreter does the rest. It speaks **MCP** (Model Context Protocol) and **A2A**\n(Agent to Agent) natively, so your agents can use any MCP tool and talk to other agents out of the box.\n\nThis demonstration is in **multi-agent-samples**\n\nThe interpreter is a single binary written in Rust. No Python environment, no framework to learn.\n\n```\nagent Weather\n  goal \"Answer questions about the weather\"\n  tool weather from mcp \"npx -y weather-mcp\"\n  accepts ask city\n  on ask\n    forecast = weather.forecast city: city\n    reply \"In {city} it will be {forecast.summary}\"\n```\n\nThat is a complete agent: a goal, an MCP tool, an input and a reply.\n\n1. 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` .\n2. Unzip it and open a terminal in the folder.\n3. Run the first sample:\n\n```\n./bin/metagente run samples/clock.ag now\n```\n\nOn Windows use `.\\bin\\metagente.exe` instead. Then create your own agent:\n\n```\n./bin/metagente new hello\n./bin/metagente run hello.ag greet name=World\n```\n\nPrefer to build from source? You need [Rust](https://rustup.rs):\n\n```\ngit clone https://github.com/cleuton/MetaAgent\ncd MetaAgent\ncargo build --release\ntarget/release/metagente run examples/clock.ag now\n```\n\nFrameworks such as LangChain or CrewAI are powerful, but they assume you are a programmer working inside a Python project. Metagente makes a different trade:\n\n|  | Python agent frameworks | Metagente | \n|---|---|---|\n| What you write | Python code using a library | A short declarative agent file | \n| Install | Python, virtual env, packages | One binary | \n| Tools | Framework specific wrappers | Any MCP server | \n| Agents talking to agents | Usually in-process | A2A, across processes and machines | \n| Safety | Up to your code | Per-agent permissions for folders, env vars and links | \n| Errors | Stack traces | Beginner friendly messages | \n\nIf 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.\n\n- **Language and interpreter:** goals, tools, inputs, replies,`if` , loops and results.\n- **Built in tools and MCP tools:** plug in any MCP server.\n- **Safe agents:** each agent declares which folders, environment variables and other agents it may use.\n- **Dynamic link:** agents call agents by name or path, with interface checks and cycle detection.\n- **A2A and MCP server:** expose an agent as an MCP server or with an A2A Agent Card, and send or receive A2A tasks.\n- **CLI:**`new` ,`check` ,`run` and`serve` .\n\n[City Briefing](https://github.com/cleuton/MetaAgent/blob/main/samples/city-briefing/README.md) puts it all together: a Concierge agent asks a Researcher\nagent over A2A, and the Researcher reads a web page through an MCP tool. Both use Claude. Bring your own API key.\n\n| Topic | Where | \n|---|---|\n| Tutorial, step by step | [docs/tutorial.md](https://github.com/cleuton/MetaAgent/blob/main/docs/tutorial.md) | \n| Programming guide (if, loops, results) | [docs/guide.md](https://github.com/cleuton/MetaAgent/blob/main/docs/guide.md) | \n| Language syntax | [docs/syntax.md](https://github.com/cleuton/MetaAgent/blob/main/docs/syntax.md) | \n| Samples | [samples/](https://github.com/cleuton/MetaAgent/blob/main/samples) | \n| Changelog | [CHANGELOG.md](https://github.com/cleuton/MetaAgent/blob/main/CHANGELOG.md) | \n\n| Stage | State | \n|---|---|\n| Core language, built in and MCP tools, CLI, tutorial | Built | \n| Safe agents (per-agent permissions) | Built | \n| Dynamic link between agents | Built | \n| v1.0: MCP server, A2A Agent Card, A2A tasks, `serve` | Built, release pending | \n| **Project Barracuda:** an agent server invoked via A2A or a frontend, with a queue for batch triggering | Next | \n| Long running tasks, authentication for served agents, agent registry, scheduling, A2A streaming | Ideas | \n\nMetagente is developed with spec-driven development using [GitHub Spec Kit](https://github.com/github/spec-kit).\nEvery feature starts as a spec, so you can read why things are the way they are:\n\n| Document | Path | \n|---|---|\n| Constitution (principles) | `.specify/memory/constitution.md` | \n| Feature spec | `specs/001-metagente-core/spec.md` | \n| Implementation plan | `specs/001-metagente-core/plan.md` | \n| Task list | `specs/001-metagente-core/tasks.md` | \n| Language, CLI, configuration and protocol contracts | `specs/001-metagente-core/contracts/` | \n| Validation guide | `specs/001-metagente-core/quickstart.md` | \n\nIssues, ideas and pull requests are welcome. If you build an agent with Metagente, open an issue and show it; good ones become samples.\n\nIf Metagente is useful to you, a star on the repository helps other people find it.\n\n**v0.1.1.** Semantic versioning. The version is kept in this file, in `CHANGELOG.md` and in `Cargo.toml`.", "url": "https://wpnews.pro/news/metagente-a-tiny-language-for-ai-agents-that-speaks-mcp-and-a2a", "canonical_source": "https://github.com/cleuton/MetaAgent", "published_at": "2026-10-05 17:03:19+00:00", "updated_at": "2026-10-05 17:20:34.039618+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "developer-tools", "ai-tools"], "entities": ["Metagente", "Cleuton Sampaio", "Model Context Protocol", "A2A", "Rust", "LangChain", "CrewAI", "Project Barracuda"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/metagente-a-tiny-language-for-ai-agents-that-speaks-mcp-and-a2a", "markdown": "https://wpnews.pro/news/metagente-a-tiny-language-for-ai-agents-that-speaks-mcp-and-a2a.md", "text": "https://wpnews.pro/news/metagente-a-tiny-language-for-ai-agents-that-speaks-mcp-and-a2a.txt", "jsonld": "https://wpnews.pro/news/metagente-a-tiny-language-for-ai-agents-that-speaks-mcp-and-a2a.jsonld"}}