Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
| Date | Stars |
|---|---|
| 2026-07-31 | 1332 |
| 2026-08-06 | 1332 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day

# Nanobot - Build MCP Agents
> **Warning**
> This project is under heavy development and is moving away from its original design and intent. Expect significant breaking changes, architectural shifts, and evolving APIs.
Nanobot enables building agents with MCP and MCP-UI by providing a flexible MCP host.
While existing applications like VSCode, Claude, Cursor, ChatGPT, and Goose all include an MCP host,
Nanobot is designed to be a standalone, open-source MCP host that can be easily deployed or integrated into
your applications. You can use Nanobot to create your own dedicated MCP and MCP-UI powered chatbot.
## What is an MCP Host?
An [MCP host](https://modelcontextprotocol.io/specification/2025-06-18/architecture/index#host) is
the service that combines MCP servers with an LLM and context to present an agent experience to a
consumer. The primary experience today is a chat interface, but it can be many other interfaces such
as voice, SMS, e-mail, AR/VR, Slack, MCP, or any other interface that can be used to interact with
an agent.

## Examples
Here are some examples of Nanobots in action:
- [Blackjack Game](https://blackjack.nanobot.ai) [(config)](./examples/blackjack.yaml) [(mcp source)](https://github.com/nanobot-ai/blackjack)
- [Hugging Face MCP](https://huggingface.nanobot.ai) [(config)](./examples/huggingface.yaml)
- [Shopping/Shopify](https://shopping.nanobot.ai) [(config)](./examples/shopping.yaml)
## Installation
Nanobot can be installed via [Homebrew](https://brew.sh/):
```bash
brew install obot-platform/tap/nanobot
```
This will give you the `nanobot` CLI, which you can use to run and manage your MCP host.
---
## Getting Started
---
## Configuration
Nanobot supports two configuration formats:
1. **Single File Configuration** - A `nanobot.yaml` file
2. **Directory-Based Configuration** - A directory with `.md` agent files
### Single File Configuration
Nanobot supports the following providers:
- **OpenAI** (e.g. `gpt-4`)
- **Anthropic** (e.g. `claude-3`)
To use them, set the corresponding API key:
```bash
# For OpenAI models
export OPENAI_API_KEY=sk-...
# For Anthropic models
export ANTHROPIC_API_KEY=sk-ant-...
```
Nanobot automatically selects the correct provider based on the model specified.
---
Create a configuration file (e.g. `nanobot.yaml`) that defines your agents and MCP servers.
**Example:**
```yaml
agents:
dealer:
name: Blackjack Dealer
model: gpt-4.1
mcpServers: blackjackmcp
mcpServers:
blackjackmcp:
url: https://blackjack.nanobot.ai/mcp
```
Start Nanobot with:
```bash
nanobot run ./nanobot.yaml
```
Nanobot serves MCP over HTTP at [http://localhost:8080](http://localhost:8080). Connect it to an MCP-compatible host such as Obot to interact with the agent.
### Directory-Based Configuration
You can organize your configuration as a directory with a top-level `nanobot.yaml` for shared settings and individual `.md` files for each agent.
**Directory Structure:**
```
my-config/
├── nanobot.yaml # Shared config: mcpServers, llmProviders, env, etc.
└── agents/ # Agent definitions directory
├── main.md # Main agent (auto-set as entrypoint)
└── helper.md # Additional agent
```
**LLM Providers**
`openai` and `anthropic` are built-in providers — set `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` and they work with no additional config. Use the `{provider}/{model}` format in the `model` field to select a provider.
Additional providers (Azure, Bedrock, Ollama, etc.) can be configured in `nanobot.yaml` under `llmProviders`.
Each entry specifies a `dialect` (the API protocol), credentials, and base URL. The `dialect` field accepts:
| Dialect | Description |
|---|---|
| `OpenAIResponses` | OpenAI Responses API (default) |
| `OpenAIChatCompletions` | OpenAI Chat Completions API |
| `AnthropicMessages` | Anthropic Messages API |
| `OpenResponses` | Generic OpenResponses-comExcerpt of 8,130 characters
Read on GitHub158
Darren Shepherd · Obot AI
111
39
30
28
27
14
9
7
7
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:012fe0dd1db160ad, llm:Repository description: 'Build MCP Agents' (no topics, Go language). 'MCP' likely refers to 'Message Control Protocol' or 'Model Control Plane' unclear; 'Agents' suggests agent framework for automation/agents within AI workflows (MCP Agents).