Syra Network
Syra is an open-source autonomous AI agent platform with multi-LLM support (100+ models via LiteLLM), 30+ MCP server integrations, real-time Next.js dashboard, Python SDK, CLI, and on-chain agent deployment via ERC-8004 on Ethereum and Base Sepolia.
Ask AI about Syra Network
Powered by Claude Β· Grounded in docs
I know everything about Syra Network. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
CA:
4d5YyfR2BMWoCciwHZaZiWZmM7mtkwADvdJ3sKe7pump
Syra Network
The Intelligence Layer for Autonomous AI Agents
Production-ready AI agent platform with multi-LLM support, real-time dashboard, Python SDK, and CLI.
Quick Start Β· Documentation Β· Features Β· API Reference Β· Contributing
What is Syra Network?
Syra Network is a comprehensive AI agent platform that enables developers to build, deploy, and manage autonomous AI agents with ease. It provides seamless integration with 100+ LLM providers, built-in tools, and an extensible MCP (Model Context Protocol) server architecture.
Key Highlights
| Feature | Description |
|---|---|
| π Multi-LLM Support | Access 100+ models via OpenAI, Anthropic, Ollama, OpenRouter |
| π― Smart Task Management | Create, decompose, and execute complex tasks automatically |
| π οΈ MCP Integration | Connect to 30+ pre-configured MCP servers or build your own |
| π Real-time Dashboard | Monitor agent activities and task progress live |
| π Python SDK | Simple, intuitive API for programmatic access |
| π» Full CLI | Complete command-line interface for power users |
| π On-chain Deployment | Deploy agents to ERC-8004 registries on Ethereum/Base |
Architecture Overview
flowchart LR
subgraph Clients["π₯οΈ Clients"]
Dashboard["Dashboard<br/>Next.js"]
SDK["Python SDK"]
CLI["CLI"]
end
subgraph Core["β‘ Syra Core"]
API["FastAPI Server"]
subgraph Services["Services"]
LLM["LLM Service<br/>100+ models"]
Runner["Agent Runner"]
Executor["Task Executor"]
end
subgraph Tools["Built-in Tools"]
T1["π File Ops"]
T2["π Web Search"]
T3["π» Code Exec"]
end
end
subgraph Agents["π€ AI Agents"]
A1["Researcher"]
A2["Coder"]
A3["Writer"]
A4["Analyst"]
end
subgraph Storage["πΎ Storage"]
DB[("SQLite")]
WS["Workspace<br/>Files"]
end
Clients -->|"REST / WebSocket"| API
API --> Services
Services --> Tools
Runner --> Agents
Services --> Storage
style Clients fill:#dbeafe,stroke:#2563eb
style Core fill:#fef9c3,stroke:#ca8a04
style Services fill:#fff7ed,stroke:#ea580c
style Tools fill:#f0fdf4,stroke:#16a34a
style Agents fill:#fdf4ff,stroke:#a855f7
style Storage fill:#f1f5f9,stroke:#64748b
Features
Core Capabilities
| Feature | Description |
|---|---|
| π Multi-LLM Support | OpenAI, Anthropic, Ollama, and 100+ providers via LiteLLM |
| π Task Decomposition | Automatically break complex tasks into subtasks |
| π Workspace Management | Full file operations within task workspaces |
| π Web Search | Integrated search capabilities for research agents |
| π» Code Execution | Safe sandboxed code execution for coding tasks |
| π On-chain Registry | Deploy agents to ERC-8004 identity registries |
MCP Server Integration
Syra supports the Model Context Protocol (MCP) for unlimited tool extensibility:
| Preset | Description |
|---|---|
| Filesystem | File and directory operations |
| GitHub | Repository, issues, and PR management |
| Brave Search | Web search capabilities |
| Puppeteer | Browser automation |
| PostgreSQL | Database queries and management |
| Memory | Persistent knowledge graph |
Quick Start
Installation
# Clone the repository
git clone https://github.com/mukkuul976/syra.git
cd syra
# Install the package
pip install -e .
# Set your LLM API key (recommended: OpenRouter for all models)
export SYRA_OPENROUTER_API_KEY=sk-or-v1-...
Start the Server
# Start API server + Dashboard
syra server start
# Start without dashboard
syra server start --no-dashboard
# Custom ports
syra server start --port 9000 --dashboard-port 3001
Using the CLI
# List available models
syra models
# Create a network
syra network create "My Workspace"
# Create an agent
syra agent create --name "Research Assistant" --network <network_id> --model openrouter/openai/gpt-5.1
# Run a task
syra task create "Research the latest AI trends" --network <network_id> --wait
# Task management
syra task list
syra task status <task_id>
syra task decompose <task_id>
syra task run-all <task_id>
syra task continue <task_id> "more info"
# Deploy agent on-chain (ERC-8004)
export SYRA_PRIVATE_KEY=0xabc...
export SYRA_ETH_SEPOLIA_RPC=https://sepolia.rpc.provider
syra agent deploy <agent_id> --chain eth-sepolia
Using the Python SDK
from syra import SyraClient
# Connect to local server
with SyraClient(base_url="http://localhost:8000") as client:
# Check available models
models = client.config.get_models()
print(f"Available models: {len(models['models'])}")
# Create a network
network = client.networks.create(name="Research Lab")
# Create an agent
agent = client.agents.create(
name="Research Assistant",
network_id=network["id"],
model="openrouter/openai/gpt-5.1",
role="researcher"
)
# Run a task and wait for result
task = client.tasks.create(
network_id=network["id"],
description="What are the key benefits of AI agents?"
)
result = client.tasks.wait(task["id"])
print(result["result"]["output"])
# Decompose complex tasks
complex_task = client.tasks.create(
network_id=network["id"],
description="Build a web scraper",
run_mode="decompose"
)
subtasks = client.tasks.get_subtasks(complex_task["id"])
client.tasks.run_all_subtasks(complex_task["id"])
Project Structure
syra/
βββ syra/
β βββ server/ # FastAPI backend
β β βββ models/ # SQLAlchemy models
β β βββ schemas/ # Pydantic schemas
β β βββ api/ # API routes
β β βββ services/ # LLM, task executor
β β βββ tools/ # Built-in tools
β βββ client/ # Python SDK
β βββ cli/ # CLI commands
βββ dashboard/ # Next.js frontend
βββ examples/ # Example scripts
CLI Reference
Server Commands
| Command | Description |
|---|---|
syra server start | Start API server and dashboard |
syra server start --reload | Start with auto-reload |
syra health | Check API health |
Network Commands
| Command | Description |
|---|---|
syra network create <name> | Create a new network |
syra network list | List all networks |
syra network get <id> | Get network details |
syra network delete <id> | Delete a network |
Agent Commands
| Command | Description |
|---|---|
syra agent create | Create a new agent |
syra agent list | List all agents |
syra agent get <id> | Get agent details |
syra agent update <id> | Update an agent |
syra agent sleep <id> | Put agent offline |
syra agent wake <id> | Wake agent up |
syra agent deploy <id> | Deploy to ERC-8004 |
Task Commands
| Command | Description |
|---|---|
syra task create <desc> | Create and run a task |
syra task list | List tasks |
syra task status <id> | Check task status |
syra task decompose <id> | Break task into subtasks |
syra task run-all <id> | Run all subtasks |
syra task continue <id> | Continue a task |
syra task cancel <id> | Cancel a task |
MCP Commands
| Command | Description |
|---|---|
syra mcp list | List MCP servers |
syra mcp add | Add a new MCP server |
syra mcp connect <name> | Connect to server |
syra mcp tools <name> | List tools from server |
syra mcp catalog | Browse MCP server presets |
syra mcp install <id> | Install preset from catalog |
API Reference
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/networks | List networks |
| POST | /api/v1/networks | Create network |
| GET | /api/v1/agents | List agents |
| POST | /api/v1/agents | Create agent |
| PUT | /api/v1/agents/{id} | Update agent |
| GET | /api/v1/tasks | List tasks |
| POST | /api/v1/tasks | Create & run task |
| POST | /api/v1/tasks/{id}/decompose | Decompose into subtasks |
| POST | /api/v1/tasks/{id}/run-all | Run all subtasks |
| GET | /api/v1/mcp/ | List MCP servers |
| POST | /api/v1/mcp/ | Create MCP server |
| GET | /api/v1/mcp/{id}/tools | Get MCP server tools |
| WS | /ws | WebSocket for real-time updates |
SDK Resources
from syra import SyraClient
client = SyraClient(base_url="http://localhost:8000")
# Available resources:
client.networks # Network management
client.agents # Agent management
client.tasks # Task management
client.tools # Tool listing
client.config # Configuration & models
client.workspace # File operations
client.mcp # MCP server integration
Configuration
Environment Variables
# LLM API Keys
SYRA_OPENROUTER_API_KEY=sk-or-v1-... # Recommended: access all models
SYRA_OPENAI_API_KEY=sk-...
SYRA_ANTHROPIC_API_KEY=sk-ant-...
# Local LLM
SYRA_OLLAMA_BASE_URL=http://localhost:11434
# Default Model
SYRA_DEFAULT_MODEL=openrouter/openai/gpt-5.1
# Server Configuration
SYRA_HOST=0.0.0.0
SYRA_PORT=8000
SYRA_DATABASE_URL=sqlite:///./syra.db
# Dashboard
SYRA_DASHBOARD_PORT=3000
SYRA_AUTO_OPEN_BROWSER=true
# Blockchain (for ERC-8004 deployment)
SYRA_PRIVATE_KEY=0xabc...
SYRA_ETH_SEPOLIA_RPC=https://sepolia.rpc.provider
SYRA_BASE_SEPOLIA_RPC=https://base-sepolia.rpc.provider
SYRA_IPFS_API_TOKEN=pinata_jwt
Development
Running in Development Mode
# Start with auto-reload
syra server start --reload
# Or run components separately
uvicorn syra.server.main:app --reload --port 8000
cd dashboard && npm run dev
Running Tests
pip install -e ".[dev]"
pytest
Documentation
π Comprehensive documentation is available:
| Document | Description |
|---|---|
| Architecture | Technical architecture and data flow |
| User Guide | How to use Syra Network effectively |
| API Reference | Detailed API documentation |
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
