mim: the Mimetic CLI
MCP serverSearchGrowth data for any site you own: audit findings, session recordings, GA4, Ads and Search Console.
Use mim: the Mimetic CLI in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add mim: the Mimetic CLI and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use mim: the Mimetic CLI
No other account needed.
Details
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Install mim: the Mimetic CLI
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user mim-the-mimetic-cli 'https://mcp.trymimetic.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.trymimetic.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=mim-the-mimetic-cli&config=eyJ1cmwiOiJodHRwczovL21jcC50cnltaW1ldGljLmNvbS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.trymimetic.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add mim-the-mimetic-cli --url 'https://mcp.trymimetic.com/mcp'Run it once, then sign in with codex mcp login mim-the-mimetic-cli if the server asks for an account.
From the project's README
As published by mimeticinc/mim-cli in README.md.
Bring your site's growth context into the terminal and the AI tools where you already work.
Quick start
Install it, then run setup. Setup handles sign-in, project detection, and MCP registration for whichever agents this machine has, and verifies each step for real rather than assuming it worked.
npm install -g @mimeticinc/mim-cli
mim setup
Setup registers the server with Claude Code, Codex, Cursor, Windsurf and
Claude Desktop, whichever of them it finds. Each config file is backed up
before it is written, and any other MCP servers you have are left alone. Add
one later with mim mcp install cursor, or re-run mim mcp install all.
Install globally rather than through npx. Your agent launches mim as the
MCP server, so it needs a mim that stays on your PATH, and every example in
these docs is written as mim <command>. Requires Node.js 20 or newer.
Re-running setup is safe: it reuses your existing login and registration instead of creating new credentials.
If mim says "command not found" after the install, npm's global bin
directory is not on your shell PATH. Run this to see the exact fix for your
shell:
npx -y @mimeticinc/mim-cli setup
That prints the export PATH= line to add to your shell profile. Use the npx
form for one-off commands too, but install globally before wiring up an MCP
client.
Mimetic connects audits, live analytics, ad performance, lifecycle marketing,
and session behavior so you can find what is holding growth back, decide what
to do next, and move into a reviewable fix workflow without hopping between
dashboards. Use mim directly from the shell or give the same context and
actions to Claude Code, Codex, and other MCP clients.
Mimetic is the hosted service behind the CLI. Learn more at trymimetic.com.
What you can accomplish
- Find the highest-impact problems. Pull site audits, prioritized findings, and redacted session-replay insights into one project context.
- Answer growth questions with live data. Query acquisition, conversion, revenue, search, advertising, product analytics, and lifecycle performance without exporting CSV files.
- Repair measurement and acquisition setup. Provision hosted GA4 and Search Console, install tracking through a PR, Shopify pixel, or agent-applied snippet, and create or connect Google Ads resources.
- Turn findings into reviewable work. Start a code-fix workflow, then open the proposed PR, diff, preview, or Mimetic review page.
- Give coding agents business context. Let an MCP client inspect the same findings and connected data before it recommends or starts an action.
Integrations
| Integration | What it unlocks |
|---|---|
| Google Analytics 4 | Query sessions, users, channels, landing pages, engagement, conversions, and revenue. Set up a hosted property and tag when measurement is missing. |
| Google Search Console | Analyze queries, pages, countries, devices, clicks, impressions, CTR, and position. Hosted setup can also handle verification and sitemap submission. |
| Google Ads | Inspect campaigns, spend, clicks, conversions, search terms, and other GAQL data. Create or link an account, connect it to GA4, and enable auto-tagging. |
| PostHog | Run read-only HogQL against events and properties to investigate product usage, funnels, and behavior. |
| Klaviyo | Review campaign and flow performance, lists, segments, and metrics. Check whether abandoned cart is live and find dead links in campaign templates. |
| GitHub | Receive analytics installation and code fixes as reviewable pull requests, diffs, and previews. |
| Shopify | Install hosted analytics through the Mimetic app pixel when that delivery path is available for the project. |
| Claude Code, Codex, and MCP clients | Bring project context, connected-data queries, audits, and explicitly described action tools into an AI-assisted workflow. |
Questions you can answer
Once the relevant accounts are connected, you can use the CLI or ask an MCP client questions such as:
- Which landing pages lost organic clicks but still convert well in GA4?
- Where is ad spend rising without a matching increase in conversions?
- What are users struggling with in recent high-priority sessions?
- Is the abandoned-cart flow live, and which campaign templates contain dead links?
- What is the highest-priority fix that is ready to start, and where can I review the proposed change?
From context to action
# Build a project brief from audits, findings, and connected signals
mim context --project yourstore.com
# Investigate acquisition and conversion performance
mim query-ga4 --project yourstore.com \
--metrics sessions,conversions,totalRevenue \
--dimensions sessionDefaultChannelGroup
mim query-gsc --project yourstore.com --dimensions query,page
mim query-bq --project yourstore.com --describe
mim query-bq --project yourstore.com --sql \
"SELECT event_name, COUNT(*) AS n FROM \`events_*\` WHERE _TABLE_SUFFIX >= '20260901' GROUP BY 1 ORDER BY n DESC"
mim ads query --project yourstore.com
# Check lifecycle marketing and recent customer friction
mim klaviyo query --project yourstore.com --resource abandoned_cart_status
mim recordings --project yourstore.com
# Move a prioritized finding into a reviewable fix workflow
mim fixes list --project yourstore.com
mim fixes start 1 --project yourstore.com
Running commands
With a global install, run mim <command>. Without one, every command also
works through npx:
npx -y @mimeticinc/mim-cli <command>
Authentication and local credentials
mim auth login opens a browser-based device flow. The server-issued token
expires after a configured lifetime (90 days by default).
Logging in is idempotent: if this machine already has a working token, mim auth login verifies it against the server and reuses it instead of minting a
new one. Use mim auth login --force to sign in as a different account.
After every login the CLI makes a real API call to confirm the token works and
to list your projects. Projects belong to the email your Mimetic audit or
report was sent to. If you sign in with a different email (personal instead of
work, for example), the project list will be empty and the CLI tells you which
email to use instead. mim auth status runs the same server-side verification
and shows exactly which account and projects this machine is using.
Headless servers and SSH
The browser does not need to run on the same machine as the CLI. On a server without a desktop environment, start the device flow without attempting to launch a local browser:
mim auth login --no-open
Keep that process running, open the printed verification URL on your laptop or
phone, and approve the login there. The server will finish the login by polling
Mimetic and will store its own token in ~/.mim/config.json.
For unattended deployments, provide MIM_API_TOKEN through the server's secret
manager or environment instead of relying on an interactive login. Do not put
the token directly in a command argument.
By default, the CLI stores that bearer token as plaintext JSON in
~/.mim/config.json. On supported POSIX systems it enforces mode 0700 on the
directory and 0600 on the file whenever credentials are saved. The token is
not encrypted locally and is not stored in the operating-system keychain.
mim auth status
mim auth logout
mim auth logout revokes the stored managed token on Mimetic's server before
removing the local file. If revocation cannot be confirmed, the CLI keeps the
local credentials and reports the error. mim auth logout --local-only removes
only the local copy; the token remains usable until it expires or is revoked
another way.
For CI or a secret manager, set MIM_API_TOKEN instead. Environment tokens
override locally stored credentials and are never changed by mim auth logout.
Tokens are intentionally not accepted as command-line arguments, where they
could be exposed through shell history or process listings.
Commands
| Command | What it does |
|---|---|
mim setup | One-command onboarding: install check, sign-in, project detection, MCP registration for every agent found, and verification of each step. |
mim auth login [--no-open] [--force] | Authenticate with the device flow; reuses a working token unless forced. |
mim auth status | Show and server-verify the active account, projects, and default project. |
mim auth logout [--local-only] | Revoke and remove stored credentials, or remove only the local copy. |
mim projects | List projects/sites available to the authenticated account. |
mim projects use <key> | Save a default project so commands stop needing --project. |
mim properties | List the GA4 properties the project's Google connection can see, with 28-day sessions and the current selection. |
mim properties use <id> | Point the project at a specific GA4 property (validated against what the connection can see). |
mim context | Print a growth-context pack for a project. |
mim recordings | List recent session-replay summaries. |
mim replay [session_id] | Print one persisted replay insight; defaults to the latest. |
mim findings | List prioritized audit findings. |
mim query-ga4 --metrics sessions | Run a provider-read-only GA4 report. |
mim query-gsc | Run a provider-read-only Search Console query. |
mim query-bq --sql <q> | Run a read-only SELECT over the project's own GA4 BigQuery export (--describe for the dataset and table dates). |
mim setup-analytics [--wait] | Start hosted GA4 and Search Console setup. |
mim setup-analytics --status | Check hosted setup progress. |
mim setup-analytics --channel agent | Provision server-side and return a snippet for an agent to apply. |
mim ads setup | Create hosted Google Ads resources and invite the site owner as Administrator. |
mim ads status | Show the linked Ads account and setup state. |
mim ads query [--gaql <q>] | Run a provider-read-only GAQL report. |
mim posthog connect / query | Authorize PostHog and run provider-read-only HogQL. |
mim klaviyo connect / query | Authorize Klaviyo and run provider-read-only reports and checks. |
mim audit start <url> [--wait] | Start an audit, optionally polling to completion. |
mim audit rerun <url> | Force a fresh audit. |
mim audit status <id> / wait <id> | Check or poll an audit. |
mim fixes list | List fixable findings and PR/review state. |
mim fixes start <rank> | Queue a code-fix workflow. |
mim fixes open <rank> | Open the PR, preview, diff, review, or workflow. |
mim billing status / checkout / portal | Manage project billing. |
mim mcp install claude | Register the mim MCP server with Claude Code (user scope) and verify it; falls back to Claude Desktop. |
mim mcp install codex / cursor / windsurf / desktop | Write that agent's config file, backing up what was there. Add --print to output the block instead. |
mim mcp install all | Register with every agent found on this machine. |
Run mim --help for all options.
MCP
The mim-mcp binary proxies MCP stdio messages to Mimetic's hosted
Streamable HTTP endpoint. mim setup registers it for you. To register only
the MCP piece:
mim mcp install all # every agent found on this machine
mim mcp install claude # registers with Claude Code at user scope, then verifies
mim mcp install codex # writes ~/.codex/config.toml
mim mcp install cursor # writes ~/.cursor/mcp.json
mim mcp install windsurf # writes ~/.codeium/windsurf/mcp_config.json
mim mcp install desktop # writes Claude Desktop's config file
Every file write is backed up first and read back after, and other MCP servers
already in the file are preserved. Codex config is TOML, so the entry is
appended rather than the file being reparsed and rewritten. Running any of
these twice does not create a duplicate entry. Add --print to any of them to
see the block without writing anything.
mim mcp install claude registers at user scope on purpose: the Claude Code
default (local scope) only applies to the directory the command ran in, which
is the most common reason a "successful" install never shows up in a session.
After registering, the CLI reads the entry back through claude mcp get mim
and makes a live call to the hosted endpoint, so success means the server is
reachable, not just that a command exited 0.
The MCP surface includes read tools for findings, redacted replay insights, and provider-read-only analytics queries. It also includes explicitly described action tools that can start audits, create or configure analytics/advertising resources, or initiate reviewable fix workflows. Review tool descriptions and your client's approval prompt before authorizing an action.
See docs/MCP.md for client configuration, the data flow, remote HTTP setup, and registry publication notes.
Connected-data access
The CLI and MCP wrapper are clients for Mimetic's hosted API; they do not query Google, PostHog, or Klaviyo directly from your computer. Credentials, tool arguments, and requested provider results pass through Mimetic's systems. Mimetic therefore has technical access to connected credentials and data while providing the request. A connector's “read-only” label describes its permissions at the third-party provider; it does not mean the data is invisible to Mimetic.
PostHog queries can return distinct identifiers and event or user properties available to the connected project. The current Klaviyo connector does not request profile or write scopes. If you invoke tools through an AI client, the returned data is also provided to the AI client and account you configured.
See the Privacy Policy and Terms of Service before connecting production data.
Transport security
Bearer tokens are sent only to HTTPS URLs by default. Plain HTTP is allowed for
loopback hosts such as localhost, 127.0.0.1, and ::1. For an unusual local
development environment, MIM_ALLOW_INSECURE_HTTP=1 explicitly disables this
protection; do not use it with production credentials.
Environment
| Variable | Purpose |
|---|---|
MIM_API_TOKEN | Bearer token; overrides saved credentials. |
MIM_API_BASE_URL | API origin; defaults to https://trymimetic.com. |
MIM_MCP_URL | Full MCP URL; defaults to <API origin>/api/mim/mcp. |
MIM_PROJECT | Default project/site key. |
MIM_CONFIG_DIR | Credential directory; defaults to ~/.mim. |
MIM_MCP_TIMEOUT_MS | MCP request timeout; defaults to 30000. |
MIM_TELEMETRY=0 | Disable metadata-only CLI/MCP usage events. |
MIM_DISABLE_TELEMETRY=1 | Alternative telemetry opt-out. |
MIM_ALLOW_INSECURE_HTTP=1 | Allow non-loopback plaintext HTTP for development only. |
Metadata telemetry includes the client version, project, command or tool name, status, duration, trace ID, HTTP status, and bounded diagnostics. It is designed not to include access tokens, query text, MCP arguments, replay narratives, or provider results. Hosted requests and results still reach Mimetic when telemetry is disabled.
Development
npm install
npm run typecheck
npm test
npm run build
npm pack --dry-run
Licensed under the MIT License. Copyright © 2026 Mimetic Inc.
Advanced
- Delivery
- mimetic MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
com-trymimetic-mimetic- Source
- github.com/mimeticinc/mim-cli
- Hosted endpoint
https://mcp.trymimetic.com/mcp