@rolino/mcp 0.5.0 → 0.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @rolino/mcp
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d162f85: Add safe Blog editorial cadence preview and apply operations across contracts, SDK, CLI, and MCP.
8
+ - 50cb9fc: Add Google Business Profile as a disabled-by-default standard text and single-image publishing destination across shared public clients.
9
+ - 1ac7ed5: Add signed custom Blog webhook setup, connection testing, one-time secret rotation, and safe idempotent replay parity.
10
+ - a56f834: Replace custom interactive CLI authorization with exact-resource OAuth, add the stateless MCP 2026-07-28 transport foundation, and provide safe connection instructions for workspace discovery and confirmed actions.
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [d162f85]
15
+ - Updated dependencies [50cb9fc]
16
+ - Updated dependencies [1ac7ed5]
17
+ - Updated dependencies [a56f834]
18
+ - @rolino/contracts@0.6.0
19
+ - @rolino/sdk@0.6.0
20
+ - @rolino/local-auth@0.6.0
21
+
3
22
  ## 0.5.0
4
23
 
5
24
  ### Minor Changes
package/README.md CHANGED
@@ -13,7 +13,7 @@ installation so CLI-only users do not receive MCP runtime dependencies:
13
13
  npm install --global @rolino/cli @rolino/mcp
14
14
  ```
15
15
 
16
- The CLI handles browser authorization and writes token-free Codex or Claude
16
+ The CLI handles standard OAuth Authorization Code with PKCE and writes token-free Codex or Claude
17
17
  Code configuration that points to this package's installed stdio entry point.
18
18
  Headless operators may install only `@rolino/mcp` and provide a scoped
19
19
  `ROLINO_TOKEN` explicitly.
@@ -96,10 +96,16 @@ preparation until LinkedIn confirms upload and processing. An optional
96
96
  3,000-character LINKEDIN caption override uses the shared caption as fallback.
97
97
  The connected member is always the author; Company Page publishing is outside
98
98
  this contract.
99
+ Google Business Profile drafts can be text-only or contain one stored JPEG or
100
+ PNG image with a stable public URL. The optional 1,500-character
101
+ GOOGLE_BUSINESS_PROFILE update override uses the shared caption as fallback.
102
+ The tools use the location selected in Rolino, create only standard updates,
103
+ and never choose or change a Business Profile location. If final creation has
104
+ an unknown outcome, inspect the selected Business Profile before retrying.
99
105
  Integration health is cached and secret-safe, post
100
106
  readiness reuses Rolino's publishing checks, and calendar reads use bounded
101
107
  date windows with cursor pagination. After `rolino auth login`, configure `ROLINO_URL` and
102
- the server automatically reuses the browser-authorized credential saved for
108
+ the server automatically obtains and refreshes the API-resource OAuth token saved for
103
109
  that exact host. `ROLINO_TOKEN` remains an explicit override for CI and other
104
110
  headless environments. `ROLINO_CONFIG_DIR` can override the portable credential
105
111
  directory, and `ROLINO_TIMEOUT` is optional. Stdout is reserved for MCP
@@ -134,12 +140,15 @@ publication is reported. The preview reports `deliveryMode: "IMMEDIATE"` and
134
140
  `createsSchedule: false`; immediate publishing never enters schedule
135
141
  confirmation.
136
142
 
137
- MCP tools cannot enable YouTube, Bluesky, or LinkedIn or bypass a deployment's
138
- provider approval boundary. Self-hosted operators should complete the
143
+ MCP tools cannot enable YouTube, Bluesky, LinkedIn, or Google Business Profile,
144
+ or bypass a deployment's provider approval boundary. Self-hosted operators
145
+ should complete the
139
146
  [YouTube operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/youtube.md)
140
147
  and
141
- [Bluesky operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/bluesky.md), and
148
+ [Bluesky operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/bluesky.md),
142
149
  [LinkedIn operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/linkedin.md)
150
+ and the
151
+ [Google Business Profile operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/google-business-profile.md)
143
152
  before live testing.
144
153
 
145
154
  ## Support, security, and license
@@ -168,6 +177,14 @@ publishing reads:
168
177
  - `generate_blog_image`, `upload_blog_image`, and `review_blog_image` require
169
178
  `blog:write`. They cannot approve an article or publish it. Upload reads only
170
179
  the exact local JPEG, PNG, or WebP path supplied to the tool.
180
+ - `preview_blog_plan_cadence` and `apply_blog_plan_cadence` require
181
+ `blog:write`. Preview first, show every editorial move and locked item, then
182
+ apply only the unchanged preview values with its confirmation and a stable
183
+ idempotency key.
184
+ - These cadence tools never change `scheduledPublishAt` and never schedule,
185
+ publish, or unpublish an article.
186
+ - `generate_blog_image` already accepts optional editorial direction through
187
+ `editorialBrief` with a 500-character limit.
171
188
  - `preview_blog_revision_approval` and `execute_blog_revision_approval` require
172
189
  the independent `blog:approve` capability. Execution makes the confirmed
173
190
  exact bundle eligible for a separate publication operation; it cannot
@@ -189,8 +206,9 @@ Read tools are closed-world. The signed revalidation test is accurately marked
189
206
  as an open-world write. Connection execute is confirmed, destructive, and
190
207
  idempotent; its first success may return one-time values that must be written
191
208
  only to server-side environment configuration. Errors and replays never reveal
192
- those values. These are local stdio tools—Rolino does not expose hosted remote
193
- MCP. Publication still requires a user-approved exact revision and the
209
+ those values. These tools remain available over local stdio. The remote profile
210
+ omits both caller-local media and Blog image uploads, and the hosted route stays hidden while its
211
+ deployment gate is off. Publication still requires a user-approved exact revision and the
194
212
  separate publish preview/execute tools.
195
213
 
196
214
  Use the Blog tools in this order: read setup and current article or plan state;