cargo-operai

Crates.iocargo-operai
lib.rscargo-operai
version
created_at2026-01-13 17:20:37.5356+00
updated_at2026-01-14 20:02:21.509699+00
descriptionCargo subcommand for Operai SDK development
homepage
repository
max_upload_size
id2040724
size0
Randolf J. (jrandolf)

documentation

README

cargo-operai

Cargo subcommand for Operai Tool SDK development.

Usage

cargo operai new my-tool        # Create new tool project
cargo operai embed              # Generate embeddings
cargo operai build              # Build with embeddings
cargo operai serve              # Run local gRPC server
cargo operai mcp                # Run MCP server (HTTP)
cargo operai mcp --stdio        # MCP over stdio
cargo operai call <tool> <json> # Test a tool
cargo operai list               # List available tools
cargo operai describe <tool>    # Show tool details

call accepts inline JSON or @path/to/input.json.

Common flags:

  • cargo operai mcp --searchable to enable semantic search endpoints
  • cargo operai list --format json for machine-readable output

Embedding Configuration

Global defaults: ~/.config/operai/config.toml

[embedding]
provider = "fastembed" # or "openai"
model = "nomic-embed-text-v1.5"

[embedding.openai]
api_key_env = "OPENAI_API_KEY"

Project overrides (read from operai.toml):

embedding_provider = "fastembed"
embedding_model = "nomic-embed-text-v1.5"

CLI flags override both:

cargo operai embed -P openai --model text-embedding-3-small

Credentials for cargo operai call

  • Default credentials file: ~/.config/operai/credentials.toml
  • Format: provider:key=value;key2=value2
  • Use env: to read values from environment variables

Example credentials file:

[github]
token = "env:GITHUB_TOKEN"

[api]
api_key = "secret"

Example CLI usage:

cargo operai call my-tool.greet '{"name":"World"}' \
  --creds api:api_key=env:API_KEY
Commit count: 0

cargo fmt