# Morfiade (pypi · morfiade-mcp)

Manage local Chrome profiles on Windows: own cookies, sessions and proxy per profile.

- Trust score: 83/100 (high trust)
- Change this week: +21
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-16

## Components

- pypi · `morfiade-mcp`: 83/100 (this document), [markdown](https://verifymcp.io/servers/morfiade-app-morfiade-mcp/morfiade-mcp.md), [page](https://verifymcp.io/servers/morfiade-app-morfiade-mcp/morfiade-mcp)

## Channel facts

- Registry: `pypi`
- Package: `morfiade-mcp`
- Version: `0.2.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-16.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 18 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1781 tokens (~93/item across 19 items; 19 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 80/100
  - Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Morfiade MCP server?

Morfiade runs locally as a PyPI package, launched with uvx morfiade-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add morfiade-app-morfiade-mcp -- uvx morfiade-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "morfiade-app-morfiade-mcp": {
      "command": "uvx",
      "args": [
        "morfiade-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "morfiade-app-morfiade-mcp": {
      "command": "uvx",
      "args": [
        "morfiade-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add morfiade-app-morfiade-mcp -- uvx morfiade-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "morfiade-app-morfiade-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "morfiade-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add morfiade-app-morfiade-mcp --command uvx --arg morfiade-mcp
```

### Hermes

```yaml
mcp_servers:
  morfiade-app-morfiade-mcp:
    command: "uvx"
    args: ["morfiade-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "morfiade-app-morfiade-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "morfiade-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add morfiade-app-morfiade-mcp -t stdio -c uvx -a morfiade-mcp
```

### Other

```json
{
  "mcpServers": {
    "morfiade-app-morfiade-mcp": {
      "command": "uvx",
      "args": [
        "morfiade-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-16 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 82, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-10-12 (score 66, +4)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 67. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-03 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-01 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-29 (score 60, +1)

- [security regression] Provenance: unverified → fail

### 2026-09-28 (score 59, −15)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 74, +17)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Stability: unverified → 0.17
- [functional] Package version: 0.2.2 → 0.2.3

## MCP tools (19)

### `list_profiles` (~116 tokens)

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, the last proxy check (alive or not, and when), category, antidetect on/off, debug_port (debug-port mode: Cloudflare checks and Google sign-in never pass with it), note and launch count. Read-only. Call it first: every other tool takes a profile name exactly as listed here.

### `status` (~48 tokens)

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_profile` (~124 tokens)

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 answer warns when the last proxy check failed or the profile runs in debug-port mode. Call page_info afterwards to see whether the page actually opened.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it
- `url` (string): Address to open, with scheme (https://...); optional

### `stop_profile` (~78 tokens)

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.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it

### `set_proxy` (~146 tokens)

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.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it
- `proxy` (string, required): Proxy as host:port, host:port:login:password, or scheme://login:password@host:port where scheme is http, socks4 or socks5; empty string removes the proxy
- `type` (string): Proxy protocol; defaults to http. Ignored when the proxy string already starts with a scheme

### `check_proxy` (~67 tokens)

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.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it

### `create_profile` (~195 tokens)

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.

Input parameters:

- `category` (string): Category to file the profile under; created if missing; optional
- `name` (string, required): Name for the new profile; must not match an existing one
- `note` (string): Free-text note shown in the profile table; optional
- `proxy` (string): Proxy as host:port, host:port:login:password, or scheme://login:password@host:port where scheme is http, socks4 or socks5; optional
- `proxy_type` (string): Proxy protocol; defaults to http. Ignored when the proxy string already starts with a scheme

### `profile_tags` (~111 tokens)

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.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it
- `tags` (array): New full list of tags, replacing the old one; omit to only read; an empty list clears all tags

### `profile_note` (~106 tokens)

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.

Input parameters:

- `note` (string): Full note text; omit to keep
- `profile` (string, required): Profile name exactly as list_profiles returns it
- `title` (string): Short title shown in the profile table; omit to keep

### `check_proxies` (~83 tokens)

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.

Input parameters:

- `profiles` (array): Profile names to check; omit to check every profile available to the agent

### `sync_windows` (~56 tokens)

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_sets` (~108 tokens)

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.

Input parameters:

- `lines` (array): Values for the new set, one per window: emails, logins, any line-based data
- `name` (string): Name for a new set; give together with lines

### `sync_spread` (~94 tokens)

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.

Input parameters:

- `profiles` (array): Profiles whose windows get a line; defaults to every ready window
- `set` (string, required): Set name as sync_sets lists it

### `sync_insert` (~133 tokens)

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.

Input parameters:

- `leader` (string): Profile whose window shows where to type: the field focused there receives the values in every window; defaults to the first ready window
- `set` (string, required): Set name as sync_sets lists it

### `list_scripts` (~42 tokens)

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_profile` (~70 tokens)

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.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it

### `list_trash` (~38 tokens)

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_profile` (~66 tokens)

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.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it

### `page_info` (~77 tokens)

What the active tab of a running profile shows right now: title, address, whether loading has finished, and whether it is a Cloudflare check page. Use it after start_profile to see whether the site actually opened. Reads nothing else from the page and changes nothing.

Input parameters:

- `profile` (string, required): Profile name exactly as list_profiles returns it

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/morfiade-app-morfiade-mcp/morfiade-mcp#diagnostics

## Score history

- 2026-10-16: 83
- 2026-10-15: 82
- 2026-10-14: 82
- 2026-10-13: 66
- 2026-10-12: 66
- 2026-10-04: 62
- 2026-10-03: 62
- 2026-10-02: 61
- 2026-10-01: 61
- 2026-09-30: 60
- 2026-09-29: 60
- 2026-09-28: 59
- 2026-09-27: 74
- 2026-09-26: 57
- 2026-09-25: 54
- 2026-09-24: 54
- 2026-09-23: 54
- 2026-09-22: 69
- 2026-09-21: 21
- 2026-09-20: 21
- 2026-09-19: 21
- 2026-09-18: 21
- 2026-09-17: 21
- 2026-09-16: 21

## Common questions

### What is the Morfiade MCP server?

Morfiade is an MCP server listed in the public MCP registry as io.github.morfiade-app/morfiade-mcp. Manage local Chrome profiles on Windows: own cookies, sessions and proxy per profile. This page covers its PyPI package (morfiade-mcp).

### Is the Morfiade MCP server safe to use?

Morfiade scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 16 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Morfiade MCP server expose?

Morfiade exposes 19 tools: list_profiles, status, start_profile, stop_profile, set_proxy, and 14 more. Their descriptions and schemas cost roughly 1,758 tokens of context every time the server is loaded.

### Is the Morfiade MCP server still maintained?

Morfiade is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Morfiade MCP server under?

Morfiade declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/morfiade-mcp/
- Socket report: https://socket.dev/pypi/package/morfiade-mcp
- Repository: https://github.com/morfiade-app/morfiade-mcp
- Website: https://morfiade.com/en/
- Changelog RSS feed: https://verifymcp.io/servers/morfiade-app-morfiade-mcp/morfiade-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/morfiade-app-morfiade-mcp/morfiade-mcp.json
- HTML version of this page: https://verifymcp.io/servers/morfiade-app-morfiade-mcp/morfiade-mcp
