Make This Project Bulletproof
Local setup gives you full Syrin configuration inside your project: transport settings, LLM providers, tool contracts, and event tracking — all version-controlled.What It Creates
Step 1: Run Init
You will be asked:
- Project name — Name for your project
- Agent name — Label for your agent
- Transport type —
stdio(Syrin spawns the server) orhttp(connect to running server) - MCP URL — (HTTP only) Server URL, e.g.,
http://localhost:8000/mcp - Script command — Command to start your MCP server, e.g.,
python server.py - LLM providers — Select which providers to enable
- For each provider — API key env var name and model env var name (accept the defaults)
- Default provider — Which provider to use by default
.env (Step 2).
Step 2: Set Up Your Environment
If You Already Have Global Config
Your global~/.syrin/.env keys are automatically inherited. You can skip this step unless you need project-specific overrides.
To override a global key for this project:
If You Do NOT Have Global Config
You must create a local.env with your API keys:
Step 3: Verify
syrin doctor tells you exactly what to fix.
The Generated syrin.yaml
Here is a complete annotated example:
API_KEY and MODEL_NAME values are environment variable names, not secrets. The actual values come from your .env file. See Secrets & Environment Variables for why.
Quick Workflow (Copy-Paste)
Adding Tool Contracts
To usesyrin test, create contract files in a tools/ directory:
tools/your-tool-name.yaml:
Git Safety
Commit these:syrin.yaml— Safe, contains no secretstools/*.yaml— Tool contracts
.env— Contains actual API keys.syrin/— Runtime data (events, history)
.gitignore should include:
syrin init adds these entries automatically.
See Also
- Global Setup — Set up Syrin for use from any directory
- Secrets & Environment Variables — How the env pattern works
- Interactive Dev Session — Using
syrin dev

