Connect a service
Mirror knows how to connect Notion, Datadog, Linear, and Slack.- Run
/connectand choose a service, or name it directly, as in/connect linear. - Sign in to the service in your browser. Mirror opens the sign-in page and also prints its link. Press
Escapeto cancel. - When Mirror confirms the connection, the service’s tools are available to the agent.
~/.mirror/mcp/credentials/, so you only sign in again if it expires or the service rejects it. If that happens, Mirror tells you which service needs attention; run /connect <service> to sign in again.
Manage connections
The agent sees each tool as
mcp__<service>__<tool>, such as mcp__linear__create_issue. Tool calls from connections need your approval when the workspace uses manual approval.
Web search
The agent’s web search and page-reading tools don’t use a connection. They need a Firecrawl API key in your environment instead. In preview, Mirror supports the Firecrawl API for web search. We’ll support additional search providers by launch.1
Get a Firecrawl API key
Create a Firecrawl account, then copy your key from the API Keys page.
2
Export the key and start Mirror
Replace the placeholder with your Firecrawl API key and run these commands in the same terminal:If Mirror is already running, exit and restart it from this terminal so it picks up the key.
3
Ask Mirror to search
Enter a prompt that asks for a web search, for example:
- Keep the key for future sessions: Add the export line to your shell profile, such as
~/.zshrcfor zsh. Open a new terminal before starting Mirror. - Use the right key:
FIRECRAWL_API_KEYis separate from yourREFLECTION_API_KEY. - Skip search setup: You can use Mirror for coding tasks without a Firecrawl key. Its built-in web search and browsing tools require one.
Add your own server
To connect an MCP server that Mirror doesn’t list, describe it in a JSON file in~/.mirror/mcp/, then run /connect <name>. The file name is the server’s name: ~/.mirror/mcp/my-server.json is connected with /connect my-server. Names can contain letters, digits, -, and _. Each file describes one server and sets either url or command.
Mirror only reads server definitions from this directory, never from a project, so cloning a repository can’t add servers. To keep definitions somewhere else, set MIRROR_MCP_DIR.
A remote server
For a server reached over HTTP, set itsurl. If it signs in with OAuth, set the auth type, and /connect opens the sign-in page:
"clientId" to auth if the service requires a registered client ID.
If the server takes an API key instead, name the environment variable that holds it, and export that variable in the shell where you start Mirror. The key itself never goes in the file:
localhost, 127.0.0.1, or ::1).
A local server
For a server that runs as a program on your machine, set itscommand and args:
env, each key is a variable name the server will see, and each value is the name of one of your environment variables, not the secret itself. This example gives the server your EXAMPLE_MCP_KEY as API_KEY.
Optional settings
If Mirror can’t start a server,
/connect reports it and names the file to check. Changes to a server that’s already connected take effect the next time you start Mirror.
/disconnect deletes the server’s JSON file. Keep a copy of any custom definition you may want to reconnect later.