AIRAS

io.github.airas-orgPublished by GitHub account airas-orgv0.4.1Updated Oct 24, 2026

Automated AI research toolkit: hypothesis generation, experiments, and paper writing

Overview

AI-generated overview

AIRAS is a local MCP server that walks a coding agent through automated ML research: paper search, hypothesis, experiments, and a verifiable paper.

What you can do
  • Search literature and dispatch full-text fetches across arXiv, OpenAlex, Semantic Scholar and a curated paper database
  • Set up an experiment repository, provision GitHub Actions secrets, and retrieve models, datasets and library docs
  • Preregister a paper as numbered claims, append and update an append-only research record, and verify LaTeX
  • Dispatch experiments to GitHub Actions or Seyval, poll run status, import outputs with provenance, and fetch results
  • Analyze results, render charts and diagrams, verify record and paper values, and open the paper in Overleaf
When to use it
Use it when you want an agent to carry a machine-learning research topic end to end, from literature survey to a preregistered, CI-verified paper, or to run individual steps such as paper search, experiment dispatch or record verification on an existing experiment repository.
Requirements
Runs locally over stdio via uvx (uv required); desktop only. A GitHub personal access token with repo and workflow scopes, admin on the repository, is required, stored in a credentials file under the user's home directory. Running experiments on Seyval needs a Seyval API key and optional compute and workspace IDs. Backend-LLM tools need a provider key such as OpenAI, Anthropic, Gemini, OpenRouter, Bedrock or Vercel AI Gateway.
Before you install
The GitHub token is powerful: it creates and drives repositories and provisions Actions secrets. Experiments run on external platforms (GitHub Actions or Seyval) and incur their own compute costs. The server writes to a git repository, pushes commits, and can open the paper in Overleaf. Optional backend-LLM tools send content to third-party model providers. Credentials are stored in a plain file that should be permission-restricted.

Installation

In SourceWeft

  1. Open AIRAS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

AIRAS - an open-source project for research automation

[Airas Logo]

[PyPI] [MIT License] [Discord]

AIRAS is open-source software for automated research. It gives a coding agent (Claude Code, Cursor, or any MCP client) everything it needs to take a research topic through literature survey, hypothesis, experiments, and a finished paper, and it makes the paper's claims verifiable: the paper is preregistered in git before any experiment runs, every reported number is realized from run outputs, and CI re-checks all of it before the PDF of record is produced.

AIRAS ships as one PyPI package (airas) that provides:

  • an MCP server with the research tools the flow needs (paper search, hypothesis and experimental design, experiment results, figure rendering, LaTeX, Overleaf, and the record/verification tools),
  • a Claude Code plugin that bundles the server with the auto-research workflow skills,
  • a small CLI (airas verify-record, airas verify-paper) that the experiment repository's CI uses as the verification gate.

Currently, it focuses on the automation of machine learning research.

Quick Start

No clone, no Docker. Only uv is required; uvx fetches the package on first run.

1. Install

AIRAS is meant to be driven from Claude Code through its plugin. The plugin installs the MCP server together with the auto-research workflow skills and the hooks that record the agent's state:

/plugin marketplace add airas-org/airas/plugin install airas@airas

The MCP server can also be used on its own, without the skills and hooks. In Claude Code:

bash
claude mcp add airas -- uvx airas

In any other MCP client, add it to the client's MCP configuration (e.g. .mcp.json):

json
{  "mcpServers": {    "airas": {      "command": "uvx",      "args": ["airas"]    }  }}

Upgrading. uvx keeps the version it fetched the first time, so an existing install does not move to a new release on its own. Run uv cache clean airas (or uvx airas@latest) once to pick up the latest version.

2. Configure credentials

Credentials live in ~/.airas/credentials.json and are re-read on every tool call, so you can create or edit the file at any time:

bash
mkdir -p ~/.airascat > ~/.airas/credentials.json <<'EOF'{  "GH_PERSONAL_ACCESS_TOKEN": "ghp_...",  "SEYVAL_API_KEY": "..."}EOFchmod 600 ~/.airas/credentials.json
KeyPurpose
GH_PERSONAL_ACCESS_TOKENRequired. Creates and drives the experiment repository (repo + workflow scopes, admin on the repository).
SEYVAL_API_KEY (+ optional SEYVAL_COMPUTE_ID, SEYVAL_WORKSPACE_ID)Needed for backend="seyval": running experiments on the Seyval compute platform and cross-checking their provenance. See Execution platforms.
OPENAI_API_KEY / ANTHROPIC_API_KEY / GEMINI_API_KEY / OPENROUTER_API_KEY / AWS_BEARER_TOKEN_BEDROCK / VERCEL_AI_GATEWAY_API_KEYNot needed for the flow: the agent driving AIRAS authors every artifact itself, guided by the skills, and get_prompts provides the authoring guidance for a step when you write it yourself. A key is only used when you call the backend-LLM tools (analyze_experiment, verify_paper_values with a model) directly.

3. Start a research project

In Claude Code, invoke the orchestrator skill and give it a topic:

/airas:auto-research

It walks through the flow below, asking you to settle the operational choices (repository visibility, execution platform, compute target) once up front. Other MCP clients call the tools directly; each tool's description says what comes before and after it, and the MCP documentation walks the flow.

The auto-research flow

auto-research owns only the ordering and the rules that span steps. Each step is its own skill with a stated contract, so you can also invoke a single step on an existing repository.

StepSkillWhat it leaves in the repository
1setup-repositoryAn experiment repository created from airas-template, cloned, with Actions secrets provisioned and main protected. All research state lives here from now on.
2search-papersPapers found across sources, including airas-papers-db, and their full text downloaded for the next step to read.
3hypothesize-and-designA falsifiable hypothesis and an experimental design that fixes run ids, metrics, models, datasets, and the compute environment.
4preregister-paperThe full paper, written before any experiment, as numbered claims with criteria and predicted intervals. Its commit is the freeze point; .research/record.json is created here.
5write-experiment-codeExperiment code against a fixed execution contract (Hydra entrypoint, sanity / pilot / full modes), environment fixed by lockfile and Dockerfile. Metrics are produced by airas-eval, not by the code itself.
6run-experimentsRuns executed on the chosen backend (GitHub Actions or Seyval), outputs brought back under .research/results/ with provenance. See Execution platforms.
7analyze-resultsThe analysis and verifiable figures (Vega-Lite charts, text-defined diagrams).
8publish-paperEvery stated number realized from the record, compile and verification green locally, then pushed. CI re-runs the verification and commits paper.pdf to the protected branch: the paper of record.

What the flow guarantees

  • Declare before you run. Nothing is dispatched before the preregistration commit exists, and every run descends from it. Fixes are committed on top, never rebased away.
  • The record only grows. .research/record.json is an append-only tree of hypotheses, claims, designs, runs, and results. A reworded claim, a changed run condition, or a dropped result all fail the same check. A claim that misses its criterion is reported as a negative result, not rewritten.
  • No experimental number is ever typed. Numbers reach the paper only through \airasval{...} references to a run's measured metric or declared parameter, rendered from the record. Anything else is marked \unverified{...}.
  • The gate is enforced, not advisory. Branch protection makes the verification workflow a required check, so a red run cannot be pushed past.
  • The repository is the state. Everything a later step needs is committed, so a fresh session can resume from the clone alone.

Execution platforms and LLMs

Experiments run through the same three MCP tools on either backend: dispatch_experiment starts the run, get_experiment_run_status follows it, and import_run_outputs copies its outputs from where the backend keeps them (Seyval's storage, or the workflow's artifact on GitHub Actions) into .research/results/ with a provenance manifest. The record gate cross-checks the committed bytes against that same store, and once the store has dropped the run, against the sha256 hashes the import recorded. Seyval (bring-your-own Slurm compute) and GitHub Actions are supported; a backend for machines you run yourself (RunPod, a lab cluster) is not yet, since it needs a store the agent cannot rewrite.

The flow needs no LLM key: the agent authors the hypothesis, design, analysis and paper itself, guided by the skills. Backend-LLM tools (analyze_experiment, and verify_paper_values with a model) and get_prompts, which hands a client the prompts they use, exist for use outside the flow; the former need a provider key (get_available_llms lists the models your keys allow). Supported providers: OpenAI, Anthropic, Google Gemini, OpenRouter, Amazon Bedrock, and Vercel AI Gateway.

Companion repositories

AIRAS relies on three sibling repositories under the airas-org organization. Each keeps one piece of the workflow outside the agent's reach.

RepositoryRole
airas-templateThe template every experiment repository is created from. It ships the CI workflows, the execution contract, and the verification gate.
airas-papers-dbA curated database of papers from top conferences that the agent can search through search_papers, alongside OpenAlex, Semantic Scholar, and arXiv.
airas-evalThe evaluation logic, in one place. Metrics are computed by airas-eval from the run's evaluation inputs, not by the experiment code, so the agent cannot tamper with its own scores.

MCP tools

The auto-research flow uses the following tools; the skills above are thin contracts over them. The server exposes more, but these are the ones a research project goes through.

StepTools
setup-repositoryprepare_repository, set_github_actions_secrets
search-paperssearch_papers, dispatch_literature_fetch
hypothesize-and-designget_prompts, retrieve_models, retrieve_datasets, search_huggingface_hub
preregister-paperpreregister_record, get_prompts, append_to_record, update_record, verify_latex
write-experiment-codeget_prompts, get_library_docs
run-experimentsdispatch_experiment, get_experiment_run_status, import_run_outputs, fetch_experiment_results
analyze-resultsfetch_experiment_results, analyze_experiment / get_prompts, render_chart, render_diagram, append_to_record, update_record
publish-paperverify_record, verify_paper_values, verify_latex, open_in_overleaf, get_workflow_runs

See the MCP documentation for descriptions, credentials per tool, and configuration options.

CLI

bash
uvx airas                 # MCP server on stdio (default)uvx airas verify-record   # check .research/record.json against run outputs, git history, and the platformuvx airas verify-paper    # check paper values and citations against the record and run outputs — no PDF builduvx airas verify-record --implementation-verifier-model <name>   # review implementation against declared designsuvx airas verify-paper --citation-verifier-model <name>   # judge unjudged passage citationsuvx airas publish-paper   # build the paper's PDF for publishing (values already verified by the gate)

verify-record checks declarations and execution evidence; verify-paper independently checks the paper against them. They are the two required checks the experiment repository's CI runs on the protected branch; publish-paper builds the PDF in the separate, non-required publish workflow.

Development

bash
cd backenduv syncuv run airas

Lint and type checks are wired through pre-commit (pre-commit install once per clone). See CONTRIBUTING.md.

Roadmap

AIRAS is developed in stages. Reliability comes first: an automated research pipeline is only worth scaling once its outputs can be trusted and reproduced.

1. Reliability (in progress). The record now guarantees that every number in the paper traces back to a declared run and its outputs, that each claim's verdict is derived from the criterion it declared before running, and CI enforces it. That covers the paper but not everything upstream of it: experiment code that games a benchmark, leaks test data, or deviates from the design still passes the gate. Closing that gap, from the experiment code and evaluation inputs back to the design, is the current focus.

  • Preregistration: claims, criteria, and predicted results frozen in git before any experiment runs
  • Append-only research record with numbers realized from run outputs and verified in CI
  • Integrity of the experiment code and evaluation itself (benchmark hacking, data leakage, design deviation)

2. Reproducibility. When an agent drives the research, the agent's trajectory is part of the method. Keeping it, and being able to replay the workflow from it, is a necessary condition for a reproducible result.

  • Persist the agent trajectory alongside the repository state
  • Replay a research workflow from its recorded trajectory

3. Research quality. Once reliability and reproducibility are in place, raise the quality of the research itself: better hypotheses, stronger experimental designs, and more rigorous analysis.

In parallel: other fields. Machine learning is the first target because experiments are code. Alongside the stages above we are collaborating with other domains, such as life sciences, robotics, and materials science, to extend the same integrity model to their workflows.

Contact

We aim to build an operating system for automated research that enables humanity to discover scientific breakthroughs it has not yet reached.

If you are interested in this topic, please feel free to contact us at [email protected].

About AutoRes

This OSS is developed as part of the AutoRes project.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributions

By contributing to this project, you agree that your contributions are subject to the Contributor License Agreement (CLA) and may be used, modified, redistributed, and relicensed by the project owner, including for commercial, enterprise, and SaaS offerings.

See CLA.md for details.

Related projects

  • AI-Research-SKILLs (Orchestra Research, MIT) — a library of library-specific ML engineering skills. AIRAS's experiment template installs it on code-generation runners so agents get framework-level guidance (fine-tuning, distributed training, inference); AIRAS's get_library_docs MCP tool complements it by pointing agents at each library's living documentation (llms.txt endpoints).

Citation

If you use AIRAS in your research, please cite as follows:

@software{airas2025,  author = {Toma Tanaka, Takumi Matsuzawa, Yuki Yoshino, Ilya Horiguchi, Shiro Takagi, Ryutaro Yamauchi, Wataru Kumagai},  title = {AIRAS},  year = {2025},  publisher = {GitHub},  url = {https://github.com/airas-org/airas}}

Source: README.md at commit e1c37b5

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.4.1LatestSep 28, 2026
  2. v0.4.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts