Custom Skills, MCP Servers & Knowledge Bases¶
Doable gives you three ways to extend what the AI can do in your workspace: skills, MCP servers, and knowledge bases. Each one serves a different purpose; see the cheat sheet at the bottom if you want the quick version.
Custom Skills¶
What is a skill?¶
A skill is a saved bundle of instructions that shapes how the AI behaves for a specific type of task. Think of it like a job description you hand the AI before it starts work: "When helping with this, follow these steps, use this tone, and always check these things first."
Examples of what a skill might define:
- A code-review checklist the AI should run through before suggesting changes
- A brand voice guide the AI follows when writing copy
- A set of preferred libraries or patterns to always reach for in a given framework
Skills are workspace-scoped: once added, every project in the workspace can use them.
Where to add a skill¶
Open Workspace Settings → Skills. The page lists all skills currently available in the workspace.
Click Add skill to open the wizard. You will be prompted for:
| Field | What to enter |
|---|---|
| Name | A short label shown in the skill picker (e.g. "Brand Voice", "React Review") |
| Description | One sentence explaining when the AI should use this skill |
| Instructions | The full prompt text. Write it like you're briefing a new colleague |
| Icon | An emoji to identify the skill in the chat input row |
Save the skill. It is immediately available across all projects in your workspace.
Using a skill in a chat session¶
In any project editor, look at the bottom of the AI chat input; there is a skill picker (the Boxes icon). Click it to see your workspace's skills. Select one to attach it to your next message; the AI will follow the skill's instructions for that turn.
You can switch skills mid-conversation without starting a new session.
Sharing across projects¶
Because skills are workspace-scoped, every member with access to the workspace sees the same skill list. You do not need to add a skill to each project individually: add it once in Workspace Settings and it is available everywhere.
Building a skill from code¶
If you want to write a skill programmatically (with its own tool calls, typed inputs, or complex logic), see the developer guide: For Developers → Custom Skills.
MCP Servers¶
What is an MCP server?¶
MCP stands for Model Context Protocol: an open standard for exposing tools and data sources to AI models over a simple JSON-RPC interface. An MCP server is a small program (yours or a third party's) that advertises a list of "tools" the AI can call: look up a customer record, search a private knowledge graph, run a database query, fetch from an internal API.
Connecting an MCP server gives the AI access to those tools exactly as if they were built-in: they appear alongside read_file, shell, and the other standard tools. For the technical layer underneath, see AI → Tools & MCP.
Built-in connectors vs custom MCP servers¶
Doable ships with connectors to dozens of popular services (Slack, Notion, GitHub, Stripe, Supabase, and 600+ more) available under Workspace Settings → Integrations. These are pre-packaged and connect via OAuth or an API key, with no server to run yourself.
A custom MCP server is for situations the built-in catalog does not cover: your company's internal API, a proprietary database, a specialised tool your team built. You host the server; Doable connects to it.
Where to add a custom MCP server¶
Go to Workspace Settings → AI → Connectors → Add MCP server.
You will see a form with these fields:
| Field | Description |
|---|---|
| Name | A label shown in the connector list |
| Transport | How Doable talks to the server: stdio (local process) or http (remote URL) |
| Command | (stdio only) The executable to run, e.g. node /path/to/my-mcp-server.js |
| Args | (stdio only) Any command-line arguments, one per line |
| URL | (http only) The full base URL of the server |
| Environment variables | Key/value pairs injected into the server process (for API keys, tokens, etc.) |
Environment variables stay server-side
Values you enter in the env-vars field are stored encrypted and injected at runtime. They are never exposed to the browser or to generated project code. See Security → Secrets for how they are stored.
For deeper configuration options and security constraints, see For Developers → MCP Servers.
Verifying the connection¶
After saving, Doable immediately connects to the server and calls its list_tools endpoint. The connector card in the list will show:
- A green status badge and the number of tools discovered if the connection succeeded.
- An error message with the failure reason if the server was unreachable or returned an error.
If something looks wrong, check that the command path is correct, the server process is running (for stdio), or the URL is reachable from your server (for http).
Enabling and disabling individual tools¶
Once connected, workspace admins can toggle individual tools on or off from the connector card. This lets you expose only the subset of an MCP server's capabilities that you want the AI to use.
Knowledge Bases¶
What is a knowledge base?¶
A knowledge base is a searchable collection of documents you upload so the AI can reference them during chat. Instead of pasting a spec, a policy document, or an internal runbook into every message, you upload it once and the AI retrieves the relevant sections automatically when they are needed.
Where to create one¶
Workspace-level knowledge is managed in Workspace Settings → Knowledge. The markdown editor there lets you maintain a standing brief (product context, coding standards, terminology) that the AI draws on for every project in the workspace.
Per-project knowledge is available directly inside the editor. In the left sidebar, open the Knowledge tab (file-tree sidebar). From there you can add documents scoped only to that project.
Coming soon: structured knowledge base uploads
Bulk document ingestion with folder organisation, format conversion, and chunk-level retrieval settings is on the roadmap. The current workspace knowledge surface is a rich markdown editor. Watch the changelog for updates.
Ingesting documents¶
In the current release, the workspace knowledge editor accepts Markdown. Paste or type your content directly, then save. The AI reads this context at the start of every session.
Per-project knowledge (via the editor sidebar Knowledge tab) follows the same approach: documents are added individually and scoped to the active project.
How the AI uses the knowledge base¶
When you send a message, Doable automatically includes relevant sections from your knowledge base as context. You do not need to reference documents by name or paste content in; the retrieval happens in the background.
The AI uses knowledge base content to:
- Follow your team's conventions and terminology
- Answer questions about your internal systems or processes
- Stay consistent with specs you have uploaded
Workspace vs per-project scope¶
| Scope | Where to manage | Who sees it |
|---|---|---|
| Workspace | Workspace Settings → Knowledge | All projects in the workspace |
| Per-project | Editor sidebar → Knowledge tab | That project only |
Use workspace-level knowledge for things that apply everywhere (brand guidelines, coding standards). Use per-project knowledge for things specific to one app (its API contract, its data model).
What's the difference?¶
| Skill | MCP server | Knowledge base | |
|---|---|---|---|
| What it is | Instructions that shape AI behaviour | An external program that gives the AI new tools to call | A library of documents the AI can search |
| Typical use | Code-review checklists, brand voice, workflow rules | Internal APIs, private databases, specialised tooling | Specs, runbooks, product docs, policies |
| Where to add | Workspace Settings → Skills | Workspace Settings → AI → Connectors | Workspace Settings → Knowledge (or editor sidebar) |
| Requires running a server? | No | Yes (you host it, or use a built-in connector) | No |
| Scoped to | Workspace | Workspace | Workspace or per-project |