Core concepts
Make Bwat yours
Connect your own tools, teach Bwat your workflows, and set the house rules with plain files and plain English.
On this page
Ways to make Bwat yours
Out of the box, Bwat ships with a curated set of MCP servers (integrations like Blender) and a library of skills written by the Bwat team. Everything on this page is about the other half: your own extensions, workflows, and house rules that are specific to you and your team.
| Capability | What it gives you | Start here |
|---|---|---|
| [Your own MCP servers](/docs/custom-mcp-servers) | Connect any tool that speaks the Model Context Protocol, whether it is a local command or a remote endpoint, and its tools become callable in chat. | “Add the Playwright MCP server” |
| [Your own skills](/docs/custom-skills) | Teach Bwat repeatable workflows as a SKILL.md file: your deploy checklist, your PR-review ritual, your docs style. | “Create a skill for our staging deploy” |
| [Hooks](/docs/hooks) | Run your own commands at fixed points in Bwat's lifecycle to veto tools, notify your team, and enforce house rules. | Write ~/.bwat/hooks.json |
They compose
The pieces are designed to click together. Add an MCP server and its tools become available when a task needs them. Write a skill that relies on one of your MCP servers' tools. Add a hook that vetoes the one command you never want run, in any mode, even when Bwat is working autonomously.
Everything is local-first. Your servers, skills, and hooks live in plain files under ~/.bwat/ (all projects) or .bwat/ in a workspace (this project only), and Bwat picks up changes on the fly without a restart or rebuild.
The one rule: you confirm the risky parts
Registering an MCP server means Bwat will later run its command on your machine, and a skill's instructions enter Bwat's context. So the loading step is always yours: when you ask Bwat to add a server or install a skill, you get an approval card showing exactly what's about to be written, including the command, arguments, and environment variables, or the skill's name and source. There is no “don't ask again” for extension changes in any permission mode.
Everything here is available in the Bwat CLI and the VS Code extension today. The web app keeps using the curated library only.
Where files live
| What | All projects | This workspace only |
|---|---|---|
| MCP servers | ~/.bwat/mcp.json | .bwat/mcp.json |
| Skills | ~/.bwat/custom-skills/<slug>/SKILL.md | .bwat/skills/<slug>/SKILL.md |
| Hooks | ~/.bwat/hooks.json | .bwat/hooks.json |
Both .bwat/ locations are added to your .gitignore automatically, so your personal extensions and their API keys never get committed by accident. Team-shared extensions are on the roadmap.

