@rolino/mcp 0.5.0-beta.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,61 @@
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
+
22
+ ## 0.5.0
23
+
24
+ ### Minor Changes
25
+
26
+ - 4f9e790: Add the optional `blog:manage` capability and synchronized agent-first Blog
27
+ setup, import, cadence planning, plan review, article creation, confirmed
28
+ connection provisioning, and safe verification operations.
29
+ - 1edd1e7: Add published Blog Studio delivery contracts and the server-only Next.js 16 Blog Studio package.
30
+ - 74a13ea: Expose immediate versus scheduled delivery and destination lifecycle stages,
31
+ preserve YouTube visibility for immediate publishing, and clarify remote
32
+ schedule confirmation across public clients.
33
+ - 4af607d: Add independent exact-bundle Blog approval, reviewed image upload and generation,
34
+ confirmed publication scheduling and cancellation, and the complete authorized
35
+ agent workflow without widening existing credentials.
36
+ - 4a893dd: Add provider-neutral Blog publishing destinations, safe delivery inspection,
37
+ and exact destination binding across public agent interfaces.
38
+ - 843a1db: Add the exact optional `seo:read` capability and bounded read-only SEO
39
+ opportunity and weekly-report parity across public agent contracts, clients,
40
+ CLI commands, and closed-world MCP tools. SEO reads now use the version 3 task
41
+ contract with the exact Ready, Research, or Rejected decision, selected format,
42
+ complete deliverables, bounded evidence, safe URLs, limitations, and no-publish
43
+ rules. Public output uses readable topic names and separate topic-relevance and
44
+ action-readiness confidence. Research tasks compare all supported formats and
45
+ must validate or reject the finding before a separate draft action is allowed.
46
+
47
+ ### Patch Changes
48
+
49
+ - Updated dependencies [4f9e790]
50
+ - Updated dependencies [1edd1e7]
51
+ - Updated dependencies [74a13ea]
52
+ - Updated dependencies [4af607d]
53
+ - Updated dependencies [4a893dd]
54
+ - Updated dependencies [843a1db]
55
+ - @rolino/contracts@0.5.0
56
+ - @rolino/sdk@0.5.0
57
+ - @rolino/local-auth@0.5.0
58
+
3
59
  ## 0.5.0-beta.0
4
60
 
5
61
  ### Minor Changes
@@ -37,6 +93,9 @@
37
93
 
38
94
  ### Minor Changes
39
95
 
96
+ - Add exact Blog image generation and upload, image review, confirmed
97
+ exact-bundle approval, scheduling, and schedule cancellation tools with
98
+ shared contracts, safe errors, and truthful capability and safety annotations.
40
99
  - Add safe Blog provider, destination, and delivery tools plus destination-bound publication inputs.
41
100
 
42
101
  ## 0.4.0
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
@@ -153,29 +162,63 @@ issues through the repository's
153
162
  `@rolino/mcp` is available under the MIT License.
154
163
  ## Agent-first Blog Studio tools
155
164
 
156
- The local stdio server exposes Blog readiness, import, cadence planning,
157
- plan-item evidence and state, editable article creation, connection status,
158
- confirmed provisioning, signed revalidation testing, and these provider-neutral
159
- publishing reads:
160
-
161
- - `list_blog_publishing_providers` requires `blog:manage` and returns only
162
- enabled providers, safe capabilities, and official documentation.
163
- - `list_blog_publishing_destinations` requires `blog:read` and returns safe
164
- connection readiness without credentials or private provider data.
165
- - `list_blog_delivery_attempts` requires `blog:read`, accepts an optional exact
166
- article ID, and returns safe delivery states, retry times, error codes, and
167
- remote URLs.
168
-
169
- These three tools are closed-world reads. They do not contact a provider or
170
- change content. They do not return draft content, prompts, evidence, secrets,
171
- or raw provider responses. Setup requires the
172
- independent optional `blog:manage` capability; it is never inferred from
173
- `blog:write` or `blog:publish` and is not added to existing credentials.
165
+ The local stdio server exposes Blog readiness, import, cadence planning,
166
+ plan-item evidence and state, editable article creation, connection status,
167
+ confirmed provisioning, signed revalidation testing, and these provider-neutral
168
+ publishing reads:
169
+
170
+ - `list_blog_publishing_providers` requires `blog:manage` and returns only
171
+ enabled providers, safe capabilities, and official documentation.
172
+ - `list_blog_publishing_destinations` requires `blog:read` and returns safe
173
+ connection readiness without credentials or private provider data.
174
+ - `list_blog_delivery_attempts` requires `blog:read`, accepts an optional exact
175
+ article ID, and returns safe delivery states, retry times, error codes, and
176
+ remote URLs.
177
+ - `generate_blog_image`, `upload_blog_image`, and `review_blog_image` require
178
+ `blog:write`. They cannot approve an article or publish it. Upload reads only
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.
188
+ - `preview_blog_revision_approval` and `execute_blog_revision_approval` require
189
+ the independent `blog:approve` capability. Execution makes the confirmed
190
+ exact bundle eligible for a separate publication operation; it cannot
191
+ publish.
192
+ - `preview_blog_schedule`, `execute_blog_schedule`,
193
+ `preview_blog_schedule_cancellation`, and
194
+ `execute_blog_schedule_cancellation` require the independent `blog:publish`
195
+ capability. Scheduling causes future external publication but does not grant
196
+ approval. Cancellation removes only the confirmed future schedule and never
197
+ unpublishes a live article.
198
+
199
+ The three publishing-read tools are closed-world reads. They do not contact a provider or
200
+ change content. They do not return draft content, prompts, evidence, secrets,
201
+ or raw provider responses. Setup requires the
202
+ independent optional `blog:manage` capability; it is never inferred from
203
+ `blog:write` or `blog:publish` and is not added to existing credentials.
174
204
 
175
205
  Read tools are closed-world. The signed revalidation test is accurately marked
176
206
  as an open-world write. Connection execute is confirmed, destructive, and
177
207
  idempotent; its first success may return one-time values that must be written
178
208
  only to server-side environment configuration. Errors and replays never reveal
179
- those values. These are local stdio tools—Rolino does not expose hosted remote
180
- 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
181
212
  separate publish preview/execute tools.
213
+
214
+ Use the Blog tools in this order: read setup and current article or plan state;
215
+ ask for a missing website, cadence, destination, or access level; import and
216
+ plan through polled durable jobs; present evidence before bounded plan
217
+ acceptance; create one immutable revision with catalog-backed links; generate
218
+ or upload and review one image with alt text; stop for user approval when
219
+ `blog:approve` is missing; otherwise preview and execute exact-bundle approval
220
+ with its confirmation token and a stable idempotency key; stop after approval
221
+ when `blog:publish` is missing; otherwise preview and execute unchanged
222
+ publication or scheduling; poll delivery and verify the live URL; and restart
223
+ from approval preview after any content or image change. Existing credentials
224
+ do not gain `blog:approve`, and a queued delivery is not published.