io.github.morfiade-app/morfiade-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MORFIADE_EXE | No | Path to the Morfiade executable. If not set, the launcher finds it via the installer's registry key, the usual install directories, or PATH. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_profilesA | List the browser profiles the owner has allowed for the agent (the "API" column in Morfiade); other profiles are invisible here. For each: name, whether it is running, proxy (password hidden), proxy type, category, antidetect on/off, note and launch count. Read-only. Call it first: every other tool takes a profile name exactly as listed here. |
| statusA | Morfiade version, how many profiles exist, how many the agent may use and how many are running right now. Read-only and instant; use it to check the manager is reachable before anything else. |
| start_profileA | Launch a profile: opens its real Chrome window with its own cookies, sessions and proxy. If the profile is already running, only opens the URL in a new tab of that window. Can take up to a minute and needs a valid Morfiade licence. The agent cannot drive the page afterwards through these tools; that needs browser_command, which the owner enables separately. |
| stop_profileA | Close a running profile's Chrome window. Nothing is deleted: cookies, sessions and history stay in the profile, and the next start_profile picks them up. Text typed into pages but not submitted is lost. Calling it on a stopped profile is harmless and reports already_stopped. |
| set_proxyA | Save a proxy in a profile's settings, replacing the current one; an empty string removes it. Takes effect on the next launch: a running profile keeps its old proxy until stop_profile and start_profile. Run check_proxy afterwards to see whether it works. |
| check_proxyA | Test one profile's proxy by making a request through it: whether it answers, the exit IP and country, and latency. Changes nothing; takes up to about ten seconds. For several profiles use check_proxies instead. |
| create_profileA | Create a new, empty Chrome profile on disk and allow it for the agent. It is not launched: call start_profile for that. Fails if the name is already taken; use list_profiles to see existing names. Proxy, note and category can be set at once or later with set_proxy and profile_note. |
| profile_tagsA | Read a profile's tags, or replace them all. Without tags it only reads. With tags the list you pass becomes the whole set: tags you leave out are removed, and an empty list clears them. To add one tag, read first and pass the old list plus the new tag. |
| profile_noteA | Read or write a profile's note. Without title and note it only reads. title is the short line shown in the profile table, note the full text; a field you pass overwrites the old value, a field you omit stays as it was. |
| check_proxiesA | Test the proxies of several profiles, or of every profile available to the agent when no list is given. Checks run one after another, up to about ten seconds each, so a long list takes minutes. Changes nothing. Profiles without a proxy are reported as such. |
| sync_windowsA | Which open profile windows can take part in distributing values, and which value each already holds. Windows that cannot (for example, antidetect off) are listed with the reason. Read-only; call it before sync_spread and sync_insert. |
| sync_setsA | Value sets for distributing across windows: lists of emails, logins or any line-based data, one line per window. Without arguments lists the sets with their line count and how many lines are still free; the values themselves are never shown. With name and lines creates a new set. |
| sync_spreadA | Pin one free line of a set to each ready window and report who got what. Types nothing; that is sync_insert. Safe to repeat: windows that already hold a line keep it, so an account is never registered with one email and confirmed with another. |
| sync_insertA | Type each window's own pinned value into the input field that has the cursor in the leading window; the same field receives it in every window. A person must click into that field first. The text is inserted into the page as typed input and cannot be undone by the tool. Windows without a pinned line get the next free one now; call sync_spread first to review who gets what. |
| list_scriptsA | Scripts in Morfiade's scripts folder: file name, the program that runs it, and whether that program is installed. File contents are never shown. Read-only. |
| trash_profileA | Move a profile to Morfiade's recycle bin. Nothing is erased: the profile keeps its cookies and sessions and comes back with restore_profile. A running profile is closed first. Emptying the bin is not available to the agent. |
| list_trashA | Profiles in the recycle bin: name, when it was deleted and how much disk it takes. Read-only; use the names with restore_profile. |
| restore_profileA | Bring a profile back from the recycle bin with its cookies and sessions. If the name has been taken meanwhile, it returns as "name (2)" and nothing is overwritten; the answer says which name it got. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool targets a distinct resource and action: profile lifecycle, proxy testing, metadata, and the four sync tools are clearly separated by their descriptions. The only real overlap is check_proxy/check_proxies, which is explicitly resolved by the description directing multi-profile use to the plural form. profile_note and profile_tags share a read/write interface but operate on clearly different fields.
The dominant pattern is snake_case verb_noun (create_profile, stop_profile, check_proxy, list_profiles), and the sync_* group is internally consistent. Deviations include status as a bare noun and profile_tags/profile_note, which invert the convention by leading with the resource. Overall the set is readable and predictable despite these minor inconsistencies.
18 tools is slightly above the ideal 3-15 range, but the server covers three distinct subdomains—profile lifecycle, proxy management, and window sync—each of which justifies its tools. The four sync tools alone form a complete pipeline that would be impossible to compress without losing clarity. It feels slightly heavy but not bloated.
The domain is well covered: full profile lifecycle (create, list, start, stop, trash, restore), proxy set/test/clear, and a complete sync workflow (windows, sets, spread, insert) with no obvious dead ends. Minor gaps exist—profile category cannot be updated after creation, trash cannot be emptied, and hard deletion is unavailable—but these appear to be intentional policy limits rather than oversights.