https://github.com/elnora-ai/elnora-cli
Elnora CLI — command-line interface for the Elnora bioprotocol platform
https://github.com/elnora-ai/elnora-cli
biotech claude-code-plugin cli elnora protocol-generation python
Last synced: 23 days ago
JSON representation
Elnora CLI — command-line interface for the Elnora bioprotocol platform
- Host: GitHub
- URL: https://github.com/elnora-ai/elnora-cli
- Owner: Elnora-AI
- License: apache-2.0
- Created: 2026-03-05T05:22:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-22T17:09:01.000Z (26 days ago)
- Last Synced: 2026-05-22T21:27:04.151Z (26 days ago)
- Topics: biotech, claude-code-plugin, cli, elnora, protocol-generation, python
- Language: TypeScript
- Homepage: https://elnora.ai
- Size: 549 KB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Elnora CLI
Command-line interface for the [Elnora AI Platform](https://platform.elnora.ai).
[](LICENSE)
[](https://www.npmjs.com/package/@elnora-ai/cli)
[Elnora](https://elnora.ai) is an AI agent for biotech and pharma teams that generates, optimizes, and troubleshoots preclinical lab protocols. She learns from both successful and failed experiments, building knowledge that compounds with every project.
The CLI gives you full access to the platform from your terminal — collaborate with the agent, manage protocols and files, and integrate Elnora into your automation pipelines.
## What You Can Do
- **Generate and optimize protocols** — from iPSC differentiation to assay development, with citations from 36M+ PubMed articles and preprint servers
- **Access 2,100+ scientific tools** — protein structure prediction (AlphaFold3), molecular cloning design, glycan analysis, drug-target databases (ChEMBL, UniProt, Open Targets), and more
- **Stream agent responses in real-time** — pipe structured output directly into your scripts and workflows
- **Manage projects and files with version control** — track protocol iterations, fork and promote versions, search across your entire knowledge base
- **Run as an MCP server** — plug Elnora into Claude Code, Cursor, or any MCP-compatible AI tool as a first-class integration
## Requirements
- macOS, Linux, or Windows
- Node.js 20+ (npm install only — not required for curl/Homebrew)
- An Elnora API key — [get one here](https://platform.elnora.ai)
## Install
```bash
# macOS / Linux
curl -fsSL https://cli.elnora.ai/install.sh | bash
# Windows (PowerShell)
irm https://cli.elnora.ai/install.ps1 | iex
# npm (requires Node.js 20+)
npm install -g @elnora-ai/cli
# Homebrew
brew install elnora-ai/cli/elnora
```
## Skills & Setup
After installing the CLI, configure your AI coding tools:
```bash
elnora setup
```
This auto-detects which tools you have installed and configures them:
- **Claude Code** — registers the `elnora-plugins` marketplace and enables 9 skills (`elnora-tasks`, `elnora-projects`, `elnora-files`, etc.) so you can use natural language.
- **Cursor / VS Code / Codex** — writes an MCP server config pointing at `https://mcp.elnora.ai/mcp` with your API key.
Target a specific tool: `elnora setup claude` · `elnora setup cursor` · `elnora setup vscode` · `elnora setup codex`.
### What You Get in Claude Code
Once configured, restart Claude Code and try any natural-language request:
> "Use Elnora to generate a PCR protocol for BRCA1 exon 11"
> "Use Elnora to list my projects"
> "Use Elnora to optimize the protocol in task abc-123"
Claude will invoke the `elnora` CLI under the hood using the bundled skills. No need to memorize command syntax.
### Where Everything Lives
| What | Where |
|------|-------|
| CLI binary (macOS/Linux) | `~/.local/bin/elnora` |
| CLI binary (Windows) | `%USERPROFILE%\.elnora\bin\elnora.exe` |
| Auth / profiles | `~/.elnora/profiles.toml` (mode 0600) |
| Claude Code skills | `~/.claude/plugins/marketplaces/elnora-plugins/elnora/skills/` (auto-updated) |
| Claude Code settings | `~/.claude/settings.json` — look for `elnora@elnora-plugins: true` |
### Manual Plugin Setup
If `elnora setup claude` doesn't work for some reason, you can install the plugin manually:
1. In Claude Code, run `/plugin`
2. Choose "Add marketplace"
3. Enter: `Elnora-AI/elnora-plugins`
4. Run `/plugin` again → Plugins → Enable `elnora`
## Quick Start
```bash
elnora auth login
elnora projects list
elnora tasks create --project --message "Analyze kinase inhibitors"
elnora tasks send --message "Focus on selectivity" --stream
```
## Commands
| Group | Commands |
|-------|----------|
| `auth` | login, logout, status, profiles, validate |
| `projects` | list, get, create, update, archive, members, add-member, update-role, remove-member, leave |
| `tasks` | list, get, create, send (--stream, --wait), messages, update, archive |
| `files` | list, get, content, create, upload, download, update, archive, versions, fork, promote, working-copy, commit |
| `orgs` | list, get, create, update, members, billing, invite, invitations, resend-invite, cancel-invite, delete |
| `folders` | list, create, rename, move, delete |
| `search` | tasks, files, all, file-content |
| `library` | files, folders, create-folder, rename-folder, delete-folder |
| `account` | get, update, agreements, accept-terms, delete, users |
| `api-keys` | create, list, revoke, get-policy, set-policy |
| `audit` | list |
| `feedback` | submit |
| `flags` | list, get, set |
| `health` | check |
### Utility Commands
```bash
elnora doctor # Check API, auth, version, config
elnora whoami # Show current profile and org
elnora open [page] # Open platform in browser (docs, keys, billing)
elnora completion # Generate shell completions (bash, zsh, fish)
elnora mcp serve # Start built-in MCP server
```
## Streaming
Real-time agent responses directly in your terminal:
```bash
# Stream agent output as it generates
elnora tasks send --message "Optimize this protocol" --stream
# Wait for the complete response (polling)
elnora tasks send --message "Optimize this protocol" --wait
```
Status output (thinking, tool calls) goes to stderr. Content goes to stdout, so streaming is pipeable:
```bash
elnora tasks send --message "Analyze this" --stream > response.txt
```
## MCP Server
The CLI includes a built-in MCP server that exposes all commands as tools:
```bash
# Start HTTP MCP server (for deployment)
elnora mcp serve --http
# Start stdio MCP server (for local MCP clients)
elnora mcp serve --stdio
```
Configure in Claude Code or Cursor:
```json
{
"elnora": {
"type": "http",
"url": "https://mcp.elnora.ai/mcp"
}
}
```
## Authentication
```bash
# Login with API key
elnora auth login
# Multi-org profiles
elnora auth login --profile university
elnora --profile university projects list
# Check status
elnora doctor
```
API keys are stored in `~/.elnora/profiles.toml` with secure file permissions (0600).
## Output Formats
```bash
elnora projects list # JSON (default)
elnora projects list --compact # Compact JSON
elnora projects list --output csv # CSV
elnora projects list --fields id,name # Field filtering
elnora projects list --json # Force JSON (even in TTY)
```
## Documentation
- [Migration Guide](MIGRATION.md) — migrating from the Python CLI
- [API Reference](https://docs.elnora.ai)
- [Platform](https://platform.elnora.ai)
## License
Apache-2.0