# Hub

Discover and install MCP servers, agents, and commands from the CrabTalk hub.

The hub is a package registry for CrabTalk extensions. Install MCP servers, agents, and commands in one command. [Browse available packages](/content/hub/index.html).

## [Installing a package](/content/docs/crabtalk/hub#installing-a-package/index.html)

```
crabtalk pull <scope>/<package>
```

A package can contain any combination of MCP servers, agents, and commands. The install clones the source repo, copies the manifest, and merges resources into your config.

## [Uninstalling](/content/docs/crabtalk/hub#uninstalling/index.html)

```
crabtalk rm <scope>/<package>
```

Removes the manifest and prunes cached repos.

## [How it works](/content/docs/crabtalk/hub#how-it-works/index.html)

The hub is a Git repository at [github.com/crabtalk/hub](https://github.com/crabtalk/hub). On first install, CrabTalk shallow-clones it to `~/.crabtalk/hub/`. Each package is a TOML manifest describing what it provides.

### [Manifest format](/content/docs/crabtalk/hub#manifest-format/index.html)

```
[package]
name = "my-package"
description = "Short description"
repository = "https://github.com/org/repo"
keywords = ["search", "mcp"]

[mcps.my-server]
command = "npx"
args = ["-y", "my-mcp-server"]
env = { API_KEY = "" }

[agents.my-agent]
description = "An agent that does useful work"
thinking = true

[commands.my-cmd]
description = "A CLI command"
crate = "my-crate-name"
```

Fields like `model`, `thinking`, and `mcps` are supported on agents:

```
[agents.my-agent]
description = "An agent that does useful work"
thinking = true
model = "claude-sonnet-4-20250514"
mcps = ["filesystem", "my-server"]
```

### [Setup hooks](/content/docs/crabtalk/hub#setup-hooks/index.html)

Packages can run a setup step after install — either a shell script or an inference prompt:

```
[package.setup]
script = "npx playwright install chromium"
```

```
[package.setup]
prompt = "setup.md"
```

### [Skills](/content/docs/crabtalk/hub#skills/index.html)

Skills are **not** declared in manifests. They are auto-discovered from `SKILL.md` files in the package's source repository after install. See [Skills](/content/docs/crabtalk/skills/index.html) for how skill discovery works.

## [Publish your own](/content/docs/crabtalk/hub#publish-your-own/index.html)

The hub is open to contributions. Add a `<scope>/<name>.toml` manifest and open a pull request at [github.com/crabtalk/hub](https://github.com/crabtalk/hub). Once merged, anyone can install it with `crabtalk pull`.

See the [manifest reference](https://crabtalk.github.io/crabhub/) for the full schema.

## [What's next](/content/docs/crabtalk/hub#whats-next/index.html)

- [Skills](/content/docs/crabtalk/skills/index.html) — how skills work
- [MCP Servers](/content/docs/crabtalk/mcp-servers/index.html) — how tool servers connect
- [Commands](/content/docs/crabtalk/commands/index.html) — how commands extend CrabTalk

### On this page

- [Installing a package](/content/docs/crabtalk/hub#installing-a-package/index.html) 
- [Uninstalling](/content/docs/crabtalk/hub#uninstalling/index.html) 
- [How it works](/content/docs/crabtalk/hub#how-it-works/index.html) 
- [Manifest format](/content/docs/crabtalk/hub#manifest-format/index.html) 
- [Setup hooks](/content/docs/crabtalk/hub#setup-hooks/index.html) 
- [Skills](/content/docs/crabtalk/hub#skills/index.html) 
- [Publish your own](/content/docs/crabtalk/hub#publish-your-own/index.html) 
- [What's next](/content/docs/crabtalk/hub#whats-next/index.html)
