Custom ToolsBeta
Give Glaido abilities it doesn't ship with. An AI coding agent builds the tool; you import the folder. Your first one takes about two minutes.
Built-in commands cover the web, your files, and your own history. A custom tool connects Glaido to anything else with an API, like your task manager, your notes, or your company's internal systems.
You speak as usual, Glaido calls the tool, and the answer is ready to paste at your cursor.
Beta feature
Custom tools live on the Commands screen, which still carries a Beta badge in the sidebar. Open it and your own servers are on the Custom tab.
Add your first tool
You don't build tools by hand, and you don't need to know how to code. An AI coding agent such as Claude Code, Cursor, or Codex builds them for you. Your first one takes about two minutes:
-
Open your coding agent.
-
Paste this prompt and let it run:
I'm setting up custom tools for the Glaido dictation app. Read this guide and follow the instructions for coding agents: https://docs.glaido.com/docs/beta/tools Build the hello-world weather example from the guide (current weather for any city, using the free Open-Meteo API, no API key needed). It's a fixed demo: just run the commands from the guide without planning or questions, then tell me the exact folder to pick when I click Import folder on Glaido's Commands page. -
Import the result. When the agent finishes, open Commands in the Glaido sidebar, go to the Custom tab, click Import folder, and select the folder it created. Enable the server with its toggle.
Hold your commands hotkey and ask "What's the weather in Amsterdam?"
The example needs no API key and no account, so nothing can go wrong with credentials. The agent installs anything else it needs along the way.
Weather
Current conditions and a short forecast for any place you name.
Notion
Reads and writes the pages and databases in your workspace.
Glaido scaffolds an MCP server in your Glaido folder and watches it. You take it to your coding agent and add the tools.
This is the standard Model Context Protocol format. Edit it to add or remove servers, and Glaido reloads when it changes.
No coding agent yet?
Install one first; it's a normal desktop app plus a terminal command. Claude Code is a good default. Once it's installed and signed in, paste the prompt above into it.
Build your own
Once the weather example works, use the same prompt, but replace the middle paragraph with the tool you want. For example:
- "Connect Glaido to my Notion workspace"
- "Make Glaido able to send Slack messages"
- "Give Glaido access to my company's internal API"
The agent decides whether a ready-made server already exists for your service or builds a small custom one, wires up any API keys in a local file, and hands you a folder to import. It will tell you which keys to set and where to get them.
Start from an empty server instead
If you'd rather have the folder ready before you open your coding agent, Glaido can scaffold one for you. On the Custom tab, click New server.
Choose a location
Glaido creates a folder for the server here. The default is ~/Glaido/servers, which keeps every server it scaffolds in one place.
Pick a language
Python runs with uv, and Glaido installs FastMCP and locks the project. TypeScript runs with Bun, and Glaido installs and locks the MCP SDK. Pick whichever you'd rather read; your coding agent handles either.
Let Glaido check your setup
Glaido starts the server itself, so it needs to find uv or bun on your machine. If it can't, it shows you the one command that installs it and a Check again button. If you have several copies installed, you pick which one it should use.
Name your server
This is what you'll see on the Commands screen. If a folder by that name already exists, Glaido tells you the name it will use instead.
This is the last step. Clicking Create it writes the folder. Before that, you can step back and change anything.
Take it to your agent
The server is created and empty. Glaido gives you a prompt to copy into Claude Code, Codex, or another coding agent, and a button that reveals the folder in Finder or Explorer.
Glaido watches that folder, so the tools show up on the Commands screen as your agent saves them. You don't have to import it afterwards.
Install the skill
The prompt above makes your agent fetch the instructions fresh each time. If you plan to build more tools, install the skill from the glaido-skills repository instead. Your agent then knows the whole workflow by heart and triggers it automatically on any request like "make Glaido able to send Slack messages", no prompt needed. You can also ask the agent questions about the skill itself to understand how Glaido tools work.
git clone https://github.com/daveebbelaar/glaido-skills.git
mkdir -p ~/.claude/skills
cp -r glaido-skills/creating-glaido-mcp-servers ~/.claude/skills/This installs it for every project. To make it available in one particular project only, copy
it into that project's .claude/skills/ folder instead. See
Extend Claude Code with skills.
git clone https://github.com/daveebbelaar/glaido-skills.git
mkdir -p ~/.agents/skills
cp -r glaido-skills/creating-glaido-mcp-servers ~/.agents/skills/This installs it for every project. To make it available in one particular project only, copy
it into that project's .agents/skills/ folder instead. See
Build skills in Codex.
Any agent that supports agent skills can use it: point the agent at
the skill folder, or paste its SKILL.md as context. The
repository README covers the
details.
These commands are safe to re-run: mkdir -p does nothing if the folder already exists, and copying only adds or updates this one skill without touching any other skills you have installed. On Windows, run them in PowerShell.
Where your tools live
Two folders come out of the box, and it's worth settling on one. New server scaffolds into ~/Glaido/servers. The coding-agent prompt at the top of this page puts the weather example in ~/Glaido/glaido-mcp-servers. Pick the one you want to live in, tell your agent to build there, and move anything that landed in the other.
Keep every new server in that one folder. Once you have a few, turn it into a git repository and push it to GitHub. You get version history for your tools, and setting up a new machine becomes clone and import. Your coding agent can do this for you. You can keep servers anywhere you like, but if you move one, import it again from its new location.
Deciding what runs without asking
Approval covers the servers you added, plus one built-in command. Analyze image asks before it uses a picture from your clipboard. See Approving a clipboard picture.
Every other built-in command runs whenever the model calls it, and its switch on the Built in tab decides whether the model sees it at all. That includes Files and apps, which reads and opens things on your disk without asking first. Turn it off there if you'd rather it didn't.
For your own servers, every tool has an approval policy. Click a server card on the Commands page and set it per tool:
| Policy | Behavior |
|---|---|
| Auto | The tool runs immediately, without asking |
| Ask | Glaido pauses and asks you before running the tool |
| Deny | The tool never runs; the model is told the call was declined |
Tools that only read data default to Auto; everything else defaults to Ask. When a tool set to Ask is about to run, an approval card appears in the command window:
Allow once runs the tool this one time, Always allow switches it to Auto, and Deny declines the call. While the card is visible, pressing Enter chooses Allow once and never pastes.
The card doesn't wait forever. Leave it for 60 seconds and nothing runs. Glaido says it stopped waiting and asks whether to try again.
Why local, specific tools?
Glaido uses a fast model so answers come back in about a second, and fast models work best with a small set of specific tools.
That is why Glaido runs tools as small servers on your own machine, rather than connecting to large cloud MCP servers. Those typically expose dozens of broad, general-purpose tools designed for long-running agents like Claude Code, and loading them all makes a fast model slower and less accurate. A tool that does one job well ("get the weather", "add a task", "search my notes") keeps Glaido fast.
Reference
Custom tools are Model Context Protocol (MCP) servers that run as local processes on your machine. Manage them from the Custom tab:
-
New server scaffolds an empty one for you, as described above.
-
Import folder adds a folder that contains an
mcp.json(or.mcp.json) file. This is what the coding agent flow produces. -
Edit, under Config file at the bottom of the tab, opens Glaido's MCP config file,
~/Glaido/mcp.json, in your editor. It uses the standardmcpServersformat shared by most MCP clients:{ "mcpServers": { "my-server": { "command": "npx", "args": ["-y", "@example/mcp-server"], "env": { "API_KEY": "your-key" } } } }
Glaido reloads the server list when the file changes.
A server card shows an extension icon, the server's name, a one-line description, and up to three of its tools as chips, with a +N more chip for the rest. On the right is the switch that enables it. Nothing else appears there unless the server failed to start, which adds a warning badge to the icon.
Click the card for its details: the status dot, every tool with its approval policy, the failure message if there is one, the configuration Glaido runs, and buttons to refresh the tools, open the folder, or delete the server.
Glaido runs each imported server from the folder you imported, so an mcp.json doesn't need any absolute paths.
When a server won't start
A card that failed carries a warning badge. Open it and Glaido names the cause instead of making you read a log:
| What it says | What to do |
|---|---|
| It could not find the runtime | Install uv or bun, or point the config at the copy you have |
| The server needs a package that isn't installed | Run the install step for that server's folder |
| The server needs an environment variable that isn't set | Add the key to the server's local env file |
| It could not run the server | Usually a folder that moved after import; import it again from its new location |
| It started and didn't answer as an MCP server | Usually the server printing to stdout |
| One tool can't be used | That tool's schema is invalid. The rest of the server still works |
| Something went wrong | The catch-all, for a failure Glaido couldn't place |
Where a server stopped with an exit code, Glaido names the code in the message.
Glaido detects the first three by checking your setup, so there's no server output to show. For the rest, whatever the server printed appears under the message in the details dialog. Ask your coding agent to run the validation script from the skill; it catches all of them before you import.
For coding agents
If you are a coding agent sent here to set up a tool for Glaido:
-
Fetch and read this skill, then follow it exactly: https://raw.githubusercontent.com/daveebbelaar/glaido-skills/main/creating-glaido-mcp-servers/SKILL.md
-
If the user asked for the hello-world weather example, you do not need to read the skill or anything else: it is a fixed demo. Do not plan, do not generate or modify code, do not propose folder locations, and do not ask for approval. Check that
uvis installed (install it from docs.astral.sh/uv if not), then run exactly:TMP=$(mktemp -d) git clone --depth 1 https://github.com/daveebbelaar/glaido-skills.git "$TMP/glaido-skills" mkdir -p ~/Glaido/glaido-mcp-servers cp -r "$TMP/glaido-skills/examples/hello-world-weather" ~/Glaido/glaido-mcp-servers/hello-world-weather python3 "$TMP/glaido-skills/creating-glaido-mcp-servers/scripts/validate_glaido_mcp.py" ~/Glaido/glaido-mcp-servers/hello-world-weather(Windows: adapt to PowerShell; clone into
$env:TEMPinstead ofmktemp.) When the validator reports "ready to import", you're done. It already boot-tests the server, so skip any further verification. Themcp.jsonis intentionally path-free; nothing needs editing. Go straight to the import steps below. -
For anything else, the skill covers reusing existing third-party MCP servers, scaffolding custom ones, environment setup, the
mcp.jsonschema, validation, and hand-off steps. -
Whatever you build, your final message must end with the exact import steps for the user: open the Glaido app, click Commands in the sidebar, go to the Custom tab, click Import folder, then in the file browser that opens select the whole folder you created (the folder itself, not a file inside it) and confirm, and switch the server's toggle on. Then suggest one voice command that uses the new tool.
The skill is the source of truth and takes precedence over the summary on this page.