Copycat MCP
Copycat gives your coding agent a place to keep design references.
Point an MCP client at a site, give it an alias, and Copycat saves the screenshots and evidence an agent needs to describe the style: structure, links, CSS variables, computed styles, notes, design guidance, and config. Later, the agent can pull that profile back by name and use it as direction for new UI.
This avoids your agent reinventing the wheel on every new project. The agent can inspect a saved profile instead of relying on a one-time page description from an old session.
Before and after
Copycat captures a site's visual system, then lets an agent reuse that direction for original UI work.
| Original site | With Copycat |
|---|---|
How it works
A typical capture can start with one sentence:
- You say:
Save https://linear.app as linear. - Your MCP client routes the request to Copycat, and the agent calls
createto create~/.copycat/designs/linear/. - The agent captures Linear with Playwright: screenshots plus combined page evidence (structure, links, CSS variables, computed styles).
- The agent writes
DESIGN.md,config.json, andnotes.mdon disk under the alias paths, and updatesmetadata.jsonpages for sampled URLs. - Later, you can say
Use linear as visual direction for this settings page, and the agent can read the saved profile withgetinstead of starting over.
Each alias is isolated on disk. A profile for linear lives at ~/.copycat/designs/linear/, and its screenshots stay inside that folder.
Install
Install the MCP server & Playwright Browser:
uv tool install copycat-mcp
uvx --from playwright playwright install chromium
Connect an MCP client
Use the installed copycat-mcp executable in your MCP client config.
{
"mcpServers": {
"copycat": {
"command": "copycat-mcp"
}
}
}
For opencode:
{
"mcp": {
"copycat": {
"type": "local",
"command": ["copycat-mcp"],
"enabled": true
}
}
}
Restart your MCP client after changing MCP config.
Agent guide
Call guide at the start of capture or apply work. It returns the bundled markdown workflow for sampling pages, capturing evidence, authoring DESIGN.md, applying a profile, and legal boundaries.
Capture tools take a slug name only and write under screenshots/<name>.png or evidence/<name>.json. Authored profile files (DESIGN.md, config.json, notes.md, metadata.json pages) are written by the agent on disk using paths from create / get.
Try it
Ask your MCP-aware coding agent for the result you want. You usually do not need to call the tools by hand.
Capture https://vercel.com as a Copycat profile named vercel.
Call guide first, then capture desktop and mobile screenshots and evidence,
sample 5-10 representative public pages when available, and write a substantial
agent-authored DESIGN.md (~180-220 lines) with colors, typography, spacing,
layout patterns, component states, caveats.
List my saved Copycat profiles and tell me which one fits a clean B2B SaaS
settings page.
Use the vercel Copycat profile as visual direction for a billing settings page
in this app. Do not copy assets or text. Reuse the spacing, type scale, color
behavior, and component rhythm.
Open the vercel Copycat profile and summarize the design config I should use
for a pricing page.
If your client exposes raw tools, the usual capture flow is:
create
capture_screenshot
capture_page
# then agent writes DESIGN.md, config.json, notes.md, metadata.pages on disk
What gets saved
Copycat writes each profile under:
~/.copycat/designs/<alias>/
The important files are:
DESIGN.md Agent-authored human-readable design guidance
config.json Structured colors, type, spacing, radii, shadows, and other style values
notes.md Additional observations or agent notes
metadata.json alias, sourceUrl, createdAt, lastUpdated, pages
screenshots/ Captured desktop and mobile screenshots
evidence/ Combined page evidence (structure, links, CSS variables, computed styles)
Storage location
By default, Copycat stores profiles in:
~/.copycat/designs
Set COPYCAT_ROOT to use a different design library root.
Development
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
.venv/bin/python -m playwright install chromium
Run validation:
.venv/bin/python -m pytest
.venv/bin/python -m mypy
Verify the package installs as a persistent tool:
uv tool install .
uv tool list
Metadata
Release files for copycat-mcp 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| copycat_mcp-0.2.1.tar.gz | 6.8 MB | Without provenance | Details for copycat_mcp-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| copycat_mcp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for copycat_mcp-0.2.1-py3-none-any.whl |
Total release size: 6.8 MB
Release files / copycat_mcp-0.2.1.tar.gz
| Download URL | copycat_mcp-0.2.1.tar.gz |
|---|---|
| Size | 6.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa3f48621210873394d8bd5303ae1666355ee49bb757c8611dfa6e5bf0612212
|
|
BLAKE2b-256 checksum How to use checksums |
d0fae448e4ba9c7454f2e626b15d0356fb8ca0cda9237c322d008aa028c18a1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / copycat_mcp-0.2.1-py3-none-any.whl
| Download URL | copycat_mcp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 16.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78ea0c8aa490d66bf6af76bf39b1a1864f3e2c8ec119e1bc3280c698d0c26edc
|
|
BLAKE2b-256 checksum How to use checksums |
1abae4f73539980aee9ea8c64e12f3afb70652af0f42b426738790ee7fc5a7c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for copycat-mcp 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.