What is CoralOS?
CoralOS is a platform for deploying and orchestrating agents that connect easily (with each other, your application, agentic middleware, …) CoralOS consists of the Coral Server and supporting tooling and ecosystem. Think of CoralOS as the “Kubernetes for agents”. There is an HTTP api, like a control plane, that lets you spin up a lifecycle-controlled graph of agents.What makes an agent a CoralOS agent?
The basic requirements for an agent to run via Coral and support all of its capability and interopabiltiy enablements are:- it can run in a container
- it connects to the supplied unique MCP server URL passed to it
- Custom tools can be defined by the consuming application
- Agents can discover and work with the other agents they are in groups with
- Their lifecycles are handled, with TTL support
What are some more advanced features of CoralOS?
CoralOS makes many more interesting things easy:- Pushing your agents to a marketplace, where they may be used securely for free or become their own revenue streams
- Define parameters (Options)
- Edit agent’s LLM requests in-place, to e.g. patch prompts, add memory to memoryless agents, or change the model used; without touching agent code (coming soon)
Quickstart Cloud
Quickstart with Coral Cloud
Quickstart with Coral Cloud
Right away you can try out CoralOS with some pre-built agents using Coral Cloud.
Or you can skip to [getting started with the local version directly](#Quickstart Local)The operation of Coral Cloud is very similar, though currently it doesn’t support using your own agents.Here is a deepdive on using coral cloud
Quickstart Local (Recommended)
Tl;dr
few word (advanced)
few word (advanced)
Run the agent via Coral Console
- Navigate to http://localhost:5555/ui/console
- Click on “Templates” under “Workbench”, then create a new template
- Add your agent
- Fill out the necessary option values and set the session’s TTL
- Click “Save template”
- Run the template
Step 1) Running the server
All you need to do to get started is to run the server. Running the server is easy: After the server starts, it prints an address to the Coral Console. You can “login” with the auth key
dev or whatever you passed for the auth.keys parameter.Step 2) Add your own agent
Let’s add an agent from source to the coral server. In this section we’ll use the Kotlin / Koog agent, since it has the same dependencies as the server. Adding other agents in other languages afterwards is easy and CoralOS has no issue running agents from different languages together.Step 2.1) Creating the agent Koog (Kotlin) template
For convenience there is a Koog template. You can create an instance of this agent easily by running this command:...
my-first-agent
...
src
...
build.gradle.kts
coral-agent.toml
coral-agent.toml is where all coral-related metadata for this agent belongs.
See also: Full list of Agent examples
Full list of Agent examples
Full list of Agent examples
| Language | Framework | Maturity/updatedness | Agent |
|---|---|---|---|
| Rust | Coral-RS (Rig) | Medium-high | Deepwiki |
| Kotlin | Koog | High | koog agent template |
| Python | Data | Low | Langchain agent template |
Step 3) Add the agent to your coral server
Once you have an agent’s source code on your machine, you can “link” it so that any server you run on that machine will have access to it:Step 4) Run the agent via coral console
Let’s run the agent via the console first- Steps
Navigate to the console
Open your browser and go to http://localhost:5555/ui/console
Fill out the necessary option values and set the session's TTL
Depending on your agent’s options, you may need to fill out some values here. You can also set the session’s TTL (time to live) which determines how long the session will run before it is automatically terminated.
Step 4.1) Observe the agents
- Go to the session you just started under “Session” in the sidebar
- Check out the Agents and their logs
- Check out what’s going on in the threads
Step 5) Instantiate the session from code
Ultimately it’s intended that coral sessions are instantiated via code. You’ll notice that the console shows the code needed to run a session. Lastly you can copy the most convenient language snippet into your codebase. Authorization headers should beBearer dev where dev is the auth key. In the case of Coral Cloud, it should be your API key.
Naturally, variable substitution and environment variables should be used over hardcoding every option value.