shotops-mcp 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,97 @@
1
+ ShotOps CLI and Local MCP License
2
+ Version 1.1 — 11 August 2026
3
+
4
+ Copyright (c) 2026 Rasmus Gehrke. All rights reserved.
5
+
6
+ This license governs the `shotops-mcp` software package, including the bundled
7
+ ShotOps rendering engine (the "Software"). "You" means the individual or legal
8
+ entity exercising the rights granted below. The Software is licensed, not sold.
9
+ Third-party components and assets are excluded from the definition of Software
10
+ and are governed by their own licenses and notices.
11
+
12
+ GRANT
13
+
14
+ Subject to this license, you are granted a free, worldwide, royalty-free,
15
+ non-exclusive, non-transferable right to:
16
+
17
+ 1. install and run the Software, without limit, in computing environments you
18
+ own, control, or are authorized to use, including via `npx` and in CI;
19
+ 2. use the Software to render device mockups, screenshot strips, and store
20
+ bundles from content you are authorized to use; and
21
+ 3. use, publish, and commercialize the output the Software produces from that
22
+ content, subject to any rights in your content, third-party components,
23
+ assets, device designs, and trademarks.
24
+
25
+ As between you and the copyright holder, the copyright holder claims no
26
+ ownership in your content or in output created from it. This license does not
27
+ grant rights in third-party content, assets, designs, or trademarks that may
28
+ appear in the output.
29
+
30
+ Use of ShotOps hosted services through the Software is additionally governed
31
+ by the ShotOps Terms of Service at https://shotops.dev/terms.
32
+
33
+ RESTRICTIONS
34
+
35
+ You may not:
36
+
37
+ 1. redistribute, republish, sell, rent, sublicense, or otherwise provide the
38
+ Software or any part of it (including the bundled rendering engine) to a
39
+ third party;
40
+ 2. modify the Software or create derivative works from it;
41
+ 3. extract, copy, or reuse components of the Software — including the
42
+ rendering engine — in another product or service;
43
+ 4. offer the Software's functionality to third parties as a service, or use
44
+ it to build a product or service that competes with ShotOps; or
45
+ 5. reverse engineer, decompile, disassemble, or otherwise attempt to derive
46
+ the source code of the Software; or
47
+ 6. remove or obscure copyright, license, or attribution notices.
48
+
49
+ These restrictions apply only to the extent permitted by law. Nothing in this
50
+ license limits a right that cannot lawfully be waived or restricted. In
51
+ particular, where Directive 2009/24/EC or equivalent national law applies, this
52
+ license does not restrict the lawful user's rights to make a necessary backup
53
+ copy, to observe, study, or test the functioning of the Software while
54
+ performing authorized acts, or to reproduce or translate code where that is
55
+ indispensable to achieve interoperability and all statutory conditions are met.
56
+
57
+ THIRD-PARTY COMPONENTS
58
+
59
+ The Software depends on and may bundle third-party components and assets.
60
+ Their copyright notices and license terms are identified in the files,
61
+ metadata, or THIRD_PARTY_NOTICES distributed with the package. Those terms,
62
+ not this license, govern the relevant third-party material. Nothing in this
63
+ license restricts rights granted under a third-party license.
64
+
65
+ TERMINATION
66
+
67
+ If you materially breach this license, your rights terminate if you do not cure
68
+ the breach within 14 days after receiving notice. Rights terminate immediately
69
+ for a breach that cannot be cured or that involves intentional unauthorized
70
+ redistribution or provision of the Software as a service. On termination, you
71
+ must stop using the Software and delete your copies. Provisions that by their
72
+ nature should survive termination, including ownership, restrictions,
73
+ warranty, and liability provisions, remain effective.
74
+
75
+ NO WARRANTY; LIABILITY
76
+
77
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
78
+ IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
79
+ NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE COPYRIGHT HOLDER
80
+ IS NOT LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE
81
+ DAMAGES, OR FOR LOSS OF DATA, REVENUE, OR PROFITS, ARISING FROM OR IN CONNECTION
82
+ WITH THE SOFTWARE OR ITS USE.
83
+
84
+ NOTHING IN THIS LICENSE EXCLUDES OR LIMITS MANDATORY STATUTORY RIGHTS OR
85
+ REMEDIES, INCLUDING CONSUMER RIGHTS RELATING TO CONFORMITY OF DIGITAL CONTENT,
86
+ OR LIABILITY THAT CANNOT LAWFULLY BE EXCLUDED OR LIMITED.
87
+
88
+ GOVERNING LAW
89
+
90
+ This license is governed by the law of Denmark, without regard to conflict-of-
91
+ laws rules. If you are a consumer, this choice does not deprive you of mandatory
92
+ protections provided by the law that would apply without this choice, and
93
+ jurisdiction is determined by mandatory consumer-jurisdiction rules. In all
94
+ other cases, disputes are subject to the exclusive jurisdiction of the courts
95
+ of Denmark.
96
+
97
+ Contact: support@shotops.dev
package/README.md CHANGED
@@ -432,24 +432,40 @@ manifest through the Studio control plane, downloads only the resolved cells, an
432
432
 
433
433
  | | Local (free, `npx shotops-mcp`) | Hosted (`shotops_…` token) |
434
434
  |---|---|---|
435
- | Render compute | **your machine** ($0, no timeout) | our servers |
435
+ | Render compute | **your machine** ($0, no timeout) | our servers — spends your ShotOps credits: 1,000 per preview panel, 4,000 per full-resolution panel |
436
436
  | Auth | none (the process runs as you) | account + API token |
437
437
  | Saved looks / editable projects / project read+re-render / share links | new project: pending claim; existing/account state: token (below); share links: hosted | ✅ |
438
438
  | Screenshot input | local `{ path }` off disk | `request_screenshot_upload` → `{ ref }` |
439
439
 
440
440
  ### Optional: bridge a local render into your hosted account
441
441
 
442
- Pass a personal ShotOps API token (Studio account menu **API tokens** — the same
443
- `shotops_…` token the hosted server takes as a bearer) and `save_project` / `read_look` /
444
- `save_look` / `read_project` / `render_project` start working too **rendering still happens
445
- locally and for free.** A deliberate save also uploads its local source PNGs privately so the
446
- project reopens with screenshots on another device; normal renders and exports never upload:
442
+ Connect your account and `save_project` / `read_look` / `save_look` / `read_project` /
443
+ `render_project` start working too **rendering still happens locally and for free.** A
444
+ deliberate save also uploads its local source PNGs privately so the project reopens with
445
+ screenshots on another device; normal renders and exports never upload.
446
+
447
+ Sign in through your browser, once per machine:
448
+
449
+ ```bash
450
+ npx shotops-mcp login # opens ShotOps in your browser, saves the token it gets back
451
+ npx shotops-mcp whoami # which account is connected, and its plan
452
+ npx shotops-mcp logout # revokes that token and removes it from this machine
453
+ ```
454
+
455
+ The token lands in `~/.shotops/credentials.json`, readable only by you, and every later
456
+ `npx shotops-mcp` picks it up — nothing to paste into a client config. It is an ordinary
457
+ ShotOps API token: revoke it any time from Studio → account menu → **API tokens**.
458
+
459
+ For CI, or to point one client at a different account, pass the token explicitly instead:
447
460
 
448
461
  ```bash
449
462
  SHOTOPS_TOKEN=shotops_… claude mcp add shotops -- npx -y shotops-mcp
450
463
  # or: npx shotops-mcp --token shotops_…
451
464
  ```
452
465
 
466
+ `--token` wins over `SHOTOPS_TOKEN`, which wins over a saved browser login — so a token in the
467
+ environment is never quietly shadowed by whoever last signed in on that machine.
468
+
453
469
  The saved project remembers the exact on-disk folder your screenshots came from (not just their
454
470
  filenames), so re-opening it on the SAME machine can point right back at it. Share links aren't
455
471
  bridged yet — they'd need a hosted rendering step, which would defeat local rendering's whole
@@ -0,0 +1,156 @@
1
+ Third-Party Notices for shotops-mcp
2
+
3
+ This file identifies third-party software, font files and 3D models bundled
4
+ directly in the shotops-mcp package. Dependencies installed as separate npm
5
+ packages carry their own license files.
6
+
7
+ -------------------------------------------------------------------------------
8
+ iPhone 17 Pro 3D model
9
+ -------------------------------------------------------------------------------
10
+
11
+ "iPhone 17 Pro" by Ranguel (https://sketchfab.com/Ranguel)
12
+ Source: https://sketchfab.com/3d-models/iphone-17-pro-4541aa8a28324b33a2baaf81d263aaec
13
+ Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0):
14
+ https://creativecommons.org/licenses/by/4.0/
15
+
16
+ The model file bundled here (dist/harness assets) is a converted and optimized
17
+ derivative of that work, produced with glTF-Transform. CC BY 4.0 permits both
18
+ commercial use and redistribution of the model, including in modified form,
19
+ provided the author is credited — which is what this notice is for. Keep it in
20
+ any redistribution of this package.
21
+
22
+ Apple and iPhone are trademarks of Apple Inc. Google and Pixel are trademarks
23
+ of Google LLC. Neither company sponsors or endorses ShotOps.
24
+
25
+ -------------------------------------------------------------------------------
26
+ Three.js
27
+ -------------------------------------------------------------------------------
28
+
29
+ Copyright (c) 2010-2024 three.js authors
30
+
31
+ The MIT License
32
+
33
+ Permission is hereby granted, free of charge, to any person obtaining a copy
34
+ of this software and associated documentation files (the "Software"), to deal
35
+ in the Software without restriction, including without limitation the rights
36
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37
+ copies of the Software, and to permit persons to whom the Software is
38
+ furnished to do so, subject to the following conditions:
39
+
40
+ The above copyright notice and this permission notice shall be included in
41
+ all copies or substantial portions of the Software.
42
+
43
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
49
+ THE SOFTWARE.
50
+
51
+ -------------------------------------------------------------------------------
52
+ Bundled caption fonts
53
+ -------------------------------------------------------------------------------
54
+
55
+ The package includes unmodified, Latin-subset WOFF2 files from these font
56
+ families:
57
+
58
+ Inter
59
+ Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
60
+
61
+ Manrope
62
+ Copyright 2018 The Manrope Project Authors (https://github.com/sharanda/manrope)
63
+
64
+ Poppins
65
+ Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins)
66
+
67
+ Fraunces
68
+ Copyright 2018 The Fraunces Project Authors (https://github.com/undercasetype/Fraunces)
69
+
70
+ Space Grotesk
71
+ Copyright 2020 The Space Grotesk Project Authors (https://github.com/floriankarsten/space-grotesk)
72
+
73
+ Each font is licensed under the SIL Open Font License, Version 1.1:
74
+
75
+ -----------------------------------------------------------
76
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
77
+ -----------------------------------------------------------
78
+
79
+ PREAMBLE
80
+ The goals of the Open Font License (OFL) are to stimulate worldwide
81
+ development of collaborative font projects, to support the font creation
82
+ efforts of academic and linguistic communities, and to provide a free and
83
+ open framework in which fonts may be shared and improved in partnership
84
+ with others.
85
+
86
+ The OFL allows the licensed fonts to be used, studied, modified and
87
+ redistributed freely as long as they are not sold by themselves. The fonts,
88
+ including any derivative works, can be bundled, embedded, redistributed
89
+ and/or sold with any software provided that any reserved names are not used
90
+ by derivative works. The fonts and derivatives, however, cannot be released
91
+ under any other type of license. The requirement for fonts to remain under
92
+ this license does not apply to any document created using the fonts or their
93
+ derivatives.
94
+
95
+ DEFINITIONS
96
+ "Font Software" refers to the set of files released by the Copyright
97
+ Holder(s) under this license and clearly marked as such. This may include
98
+ source files, build scripts and documentation.
99
+
100
+ "Reserved Font Name" refers to any names specified as such after the
101
+ copyright statement(s).
102
+
103
+ "Original Version" refers to the collection of Font Software components as
104
+ distributed by the Copyright Holder(s).
105
+
106
+ "Modified Version" refers to any derivative made by adding to, deleting,
107
+ or substituting -- in part or in whole -- any of the components of the
108
+ Original Version, by changing formats or by porting the Font Software to a
109
+ new environment.
110
+
111
+ "Author" refers to any designer, engineer, programmer, technical writer or
112
+ other person who contributed to the Font Software.
113
+
114
+ PERMISSION & CONDITIONS
115
+ Permission is hereby granted, free of charge, to any person obtaining a copy
116
+ of the Font Software, to use, study, copy, merge, embed, modify, redistribute,
117
+ and sell modified and unmodified copies of the Font Software, subject to the
118
+ following conditions:
119
+
120
+ 1) Neither the Font Software nor any of its individual components, in
121
+ Original or Modified Versions, may be sold by itself.
122
+
123
+ 2) Original or Modified Versions of the Font Software may be bundled,
124
+ redistributed and/or sold with any software, provided that each copy contains
125
+ the above copyright notice and this license. These can be included either as
126
+ stand-alone text files, human-readable headers or in the appropriate
127
+ machine-readable metadata fields within text or binary files as long as those
128
+ fields can be easily viewed by the user.
129
+
130
+ 3) No Modified Version of the Font Software may use the Reserved Font Name(s)
131
+ unless explicit written permission is granted by the corresponding Copyright
132
+ Holder. This restriction only applies to the primary font name as presented
133
+ to the users.
134
+
135
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
136
+ Software shall not be used to promote, endorse or advertise any Modified
137
+ Version, except to acknowledge the contribution(s) of the Copyright Holder(s)
138
+ and the Author(s) or with their explicit written permission.
139
+
140
+ 5) The Font Software, modified or unmodified, in part or in whole, must be
141
+ distributed entirely under this license, and must not be distributed under
142
+ any other license. The requirement for fonts to remain under this license
143
+ does not apply to any document created using the Font Software.
144
+
145
+ TERMINATION
146
+ This license becomes null and void if any of the above conditions are not met.
147
+
148
+ DISCLAIMER
149
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
150
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
151
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
152
+ TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR
153
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL,
154
+ INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
155
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE
156
+ THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.