{"slug":"stirrup","name":"Stirrup","vendor":"Artificial Analysis","tagline":"Lightweight Python agent framework from Artificial Analysis with code execution, search, skills and MCP built in","url":"https://agentboards.org/agent/stirrup","website":"https://stirrup.artificialanalysis.ai","docs":"https://stirrup.artificialanalysis.ai","repo":"https://github.com/ArtificialAnalysis/Stirrup","category":"framework","execution":["local","sandbox"],"license":"MIT","open_source":true,"pricing":{"model":"byok","summary":"Free and MIT-licensed on PyPI; you supply the provider key, with OPENROUTER_API_KEY picked up automatically in the quickstart","from_usd":0,"free_tier":true,"byok":true},"models":{"backbone":["any OpenAI-compatible API","LiteLLM","OpenRouter"],"bring_your_own_model":true,"local_models":true},"protocols":{"mcp_client":true,"mcp_server":false,"openapi":false},"capabilities":{"terminal_exec":true,"browser":true,"multi_file_edit":true,"git_ops":false,"docker_sandbox":true,"multi_agent":false,"headless_ci":false},"context_window":null,"platforms":["macos","linux","windows"],"install":[{"label":"pip","command":"pip install stirrup"},{"label":"pip (all extras)","command":"pip install 'stirrup[all]'"}],"benchmarks":[],"tags":["open-source","python","sandbox","skills","mcp","multimodal","human-in-the-loop"],"github_stars":642,"metrics":{"stars":642,"pushed_at":"2026-08-25T00:44:50Z","archived":false,"open_issues":12,"latest_version":"v0.2.0","latest_version_at":"2026-08-04T00:12:21Z","latest_version_url":"https://github.com/ArtificialAnalysis/Stirrup/releases/tag/v0.2.0","version_source":"github","checked_at":"2026-10-02T05:02:43.612Z"},"sources":{"readme":"https://github.com/ArtificialAnalysis/Stirrup","docs":"https://stirrup.artificialanalysis.ai","install":"https://github.com/ArtificialAnalysis/Stirrup","license":"https://github.com/ArtificialAnalysis/Stirrup/blob/main/LICENSE"},"verified_at":"2026-09-04","adoption":{"score":6.5,"signals":{"pypi_weekly":78988,"github_stars":628,"hn_mentions_1y":1},"measured_at":"2026-09-28"},"scores":{"panel":6.8,"adoption":6.5,"spread":2.3,"facts":3.3,"board":6.2,"dimensions":{"reliability":6.7,"usefulness":6.5,"cost":8.2,"longevity":6},"per_persona":{"amigo":7.3,"critico":6.8,"profesor":6.5,"inversora":6.8,"jefa":5.8,"hacker":8},"community":null},"rank":null,"category_rank":33,"panel_reviews":[{"persona":"juez","persona_name":"El Juez","ai_generated":true,"verdict":"El Crítico wants a boundary around the code this thing runs and El Hacker wants none, and the sandbox is an install option rather than a default.","scores":null,"evidence":[]},{"persona":"amigo","persona_name":"El Amigo","ai_generated":true,"verdict":"Pick it when you want an agent that stops and asks rather than guessing; pick a heavier framework if you want the workflow decided for you in advance.","scores":{"reliability":7,"usefulness":7,"cost":9,"longevity":6},"evidence":["https://github.com/ArtificialAnalysis/Stirrup","https://stirrup.artificialanalysis.ai"]},{"persona":"critico","persona_name":"El Crítico","ai_generated":true,"verdict":"Code execution runs locally by default, with Docker and E2B available through optional install extras, so the safe modes are the ones you have to remember to choose.","scores":{"reliability":6,"usefulness":7,"cost":8,"longevity":6},"evidence":["https://github.com/ArtificialAnalysis/Stirrup","https://stirrup.artificialanalysis.ai"]},{"persona":"profesor","persona_name":"El Profesor","ai_generated":true,"verdict":"History is summarised automatically as the context limit approaches, which is compaction with a policy rather than truncation, and no evaluation of that policy is published.","scores":{"reliability":7,"usefulness":6,"cost":7,"longevity":6},"evidence":["https://stirrup.artificialanalysis.ai","https://github.com/ArtificialAnalysis/Stirrup"]},{"persona":"inversora","persona_name":"La Inversora","ai_generated":true,"verdict":"Artificial Analysis sells independent model comparison, and this framework, at 578 stars, is a distribution asset for that business rather than a product with a price.","scores":{"reliability":7,"usefulness":6,"cost":8,"longevity":6},"evidence":["https://github.com/ArtificialAnalysis/Stirrup"]},{"persona":"jefa","persona_name":"La Jefa","ai_generated":true,"verdict":"There is nothing to buy for sixty engineers and nothing to administer either, and one execution path sends our code to a third-party sandbox provider I have not reviewed.","scores":{"reliability":5,"usefulness":5,"cost":8,"longevity":5},"evidence":["https://github.com/ArtificialAnalysis/Stirrup"]},{"persona":"hacker","persona_name":"El Hacker","ai_generated":true,"verdict":"MIT on PyPI, an MCP client, and LiteLLM or any OpenAI-compatible base URL, so pointing it at the model server on my own network is a configuration line.","scores":{"reliability":8,"usefulness":8,"cost":9,"longevity":7},"evidence":["https://github.com/ArtificialAnalysis/Stirrup/blob/main/LICENSE","https://github.com/ArtificialAnalysis/Stirrup"]},{"persona":"comediante","persona_name":"El Comediante","ai_generated":true,"verdict":"The Python framework has a TypeScript twin called StirrupJS, because no agent library is allowed to exist in only one language.","scores":null,"evidence":[]}]}