CereBro
A model-agnostic MCP Client-Server for .Net
rob1997
README
CereBro
CereBro is a model-agnostic AI Agent Wrapper for .Net. Now with 🔥 Model Context Protocol 🔥 , based on the Official C# SDK, you can write Tools that can be used with different AI models without changing the code.
Models
Below is a list of supported and planned models for CereBro.
Supported:
Planned:
Installation
You can install the package from NuGet using the following command:
dotnet add package Rob1997.CereBro
dotnet add package Rob1997.CereBro.Open-AI
Usage
Step 1: Create a servers.json
file
This file will contain the configuration for the MCP servers you want to use. Below is an example of the servers.json
file.
[
{
"Id": "everything-server",
"Name": "Everything",
"TransportType": "stdio",
"TransportOptions": {
"command": "npx",
"arguments": "-y @modelcontextprotocol/server-everything"
}
}
]
You can check out more servers here.
Step 2: Add your OpenAI API Key to your environment variables
export OPEN_AI_API_KEY="your-api-key"
$env:OPEN_AI_API_KEY="your-api-key"
If you want this to be permanent, you can add it to your .bashrc
or .bash_profile
file in linux or use the following command in PowerShell.
[Environment]::SetEnvironmentVariable("OPEN_AI_API_KEY", "your-api-key", "User")
Step 3: Add the following code to your Program.cs
(Entry Point)
public static async Task Main(string[] args)
{
var builder = Host.CreateApplicationBuilder(args);
builder.Services.UseOpenAI(Environment.GetEnvironmentVariable("OPEN_AI_API_KEY"), "gpt-4o-mini");
IHost cereBro = builder.BuildCereBro(new CereBroConfig{ ServersFilePath = "./servers.json" });
await cereBro.RunAsync();
}
CereBro uses the Console as a chat dispatcher. You can create your own dispatcher by implementing the IChatDispatcher
interface and use builder.BuildCereBro<IChatDispatcher>(config)
to build CereBro's host.
Step 4: Run your application
dotnet run
Adding a new Model
Currently, CereBro only supports OpenAI's models. To add a new model you'll need to Implement Microsoft.Extensions.AI.IChatClient
, unless it already exists, Microsoft already has implementations for some models like OpenAI and Ollama.
Once you've done that you can create a Placeholder Type that implements Microsoft.Extensions.AI.FunctionInvokingChatClient
something like this.
Finally, you can use the UseChatClient<T>(this IServiceCollection services, IChatClient chatClient) where T : FunctionInvokingChatClient
extension method to add your model to the service collection.
⚠️ Note ⚠️
At the moment CereBro doesn't support multiple models at the same time, so you'll have to remove the UseOpenAI
method from the Program.cs
file to use another model.
CereBro.Unity
CereBro.Unity is a Unity package that allows you to use CereBro in Unity. README.
Contributing
If you'd like to contribute to the project, you can fork the repository and create a pull request. You can also create an issue if you find any bugs or have any feature requests.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.