@rolino/mcp 0.5.0 → 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/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @rolino/mcp
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 358f37a: Expose additive safe Blog preparation, next-action, and quality summaries through the shared read contracts and existing clients.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [358f37a]
12
+ - @rolino/contracts@0.7.0
13
+ - @rolino/sdk@0.7.0
14
+ - @rolino/local-auth@0.7.0
15
+
16
+ ## 0.6.0
17
+
18
+ ### Minor Changes
19
+
20
+ - Add nine scoped backlink prospecting tools with correct closed-world and open-world annotations. Rolino does not send email.
21
+
22
+ - d162f85: Add safe Blog editorial cadence preview and apply operations across contracts, SDK, CLI, and MCP.
23
+ - 50cb9fc: Add Google Business Profile as a disabled-by-default standard text and single-image publishing destination across shared public clients.
24
+ - 1ac7ed5: Add signed custom Blog webhook setup, connection testing, one-time secret rotation, and safe idempotent replay parity.
25
+ - 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.
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [d162f85]
30
+ - Updated dependencies [50cb9fc]
31
+ - Updated dependencies [1ac7ed5]
32
+ - Updated dependencies [a56f834]
33
+ - @rolino/contracts@0.6.0
34
+ - @rolino/sdk@0.6.0
35
+ - @rolino/local-auth@0.6.0
36
+
3
37
  ## 0.5.0
4
38
 
5
39
  ### Minor Changes
@@ -74,6 +108,10 @@
74
108
 
75
109
  ### Minor Changes
76
110
 
111
+ - Return additive safe Blog preparation and quality state from existing read tools.
112
+
113
+ ### Minor Changes
114
+
77
115
  - Add exact Blog image generation and upload, image review, confirmed
78
116
  exact-bundle approval, scheduling, and schedule cancellation tools with
79
117
  shared contracts, safe errors, and truthful capability and safety annotations.
package/README.md CHANGED
@@ -1,20 +1,24 @@
1
1
  # `@rolino/mcp`
2
2
 
3
- Rolino's Model Context Protocol adapter. The first supported transport is local
4
- stdio and it calls the same public API used by the CLI. Remote Streamable HTTP
5
- remains gated by the OAuth interoperability decision in ADR 0003.
3
+ Rolino's Model Context Protocol adapter. Rolino supports hosted Streamable HTTP
4
+ with client-owned OAuth and local STDIO with the shared CLI OAuth session. The
5
+ hosted route is stateless and does not need this package on the caller's
6
+ computer. This package supplies the local STDIO process and the shared MCP tool
7
+ definitions used by both transports.
6
8
 
7
9
  ## Installation
8
10
 
9
- Local MCP remains a separate, explicit
10
- installation so CLI-only users do not receive MCP runtime dependencies:
11
+ Local STDIO MCP remains a separate, explicit installation so CLI-only and
12
+ remote users do not receive MCP runtime dependencies:
11
13
 
12
14
  ```bash
13
15
  npm install --global @rolino/cli @rolino/mcp
14
16
  ```
15
17
 
16
- The CLI handles browser authorization and writes token-free Codex or Claude
17
- Code configuration that points to this package's installed stdio entry point.
18
+ For hosted Streamable HTTP, run `rolino setup mcp --client codex --transport
19
+ http`, then `codex mcp login rolino`. For local STDIO, the CLI handles standard
20
+ OAuth Authorization Code with PKCE and writes token-free Codex or Claude Code
21
+ configuration that points to this package's installed entry point.
18
22
  Headless operators may install only `@rolino/mcp` and provide a scoped
19
23
  `ROLINO_TOKEN` explicitly.
20
24
 
@@ -41,8 +45,19 @@ Initial tools:
41
45
  - `get_seo_opportunity`
42
46
  - `list_seo_reports`
43
47
  - `get_seo_report`
48
+ - `start_backlink_discovery`
49
+ - `get_backlink_discovery`
50
+ - `list_backlink_prospects`
51
+ - `get_backlink_prospect`
52
+ - `research_backlink_contact`
53
+ - `update_backlink_stage`
54
+ - `update_backlink_outreach`
55
+ - `list_backlink_contacts`
56
+ - `verify_backlink`
44
57
  - `list_calendar_events`
45
58
 
59
+ Backlink tools use independent opt-in scopes. Provider-calling tools are bounded and open-world. Stored reads are closed-world. No tool accepts an arbitrary search query or a user-supplied email. Rolino never sends email.
60
+
46
61
  The media tools discover reusable project assets and stream one explicitly
47
62
  approved local JPEG, PNG, WebP, MP4, or MOV file directly to configured
48
63
  storage. Rolino derives dimensions and video duration from the stored object.
@@ -96,10 +111,16 @@ preparation until LinkedIn confirms upload and processing. An optional
96
111
  3,000-character LINKEDIN caption override uses the shared caption as fallback.
97
112
  The connected member is always the author; Company Page publishing is outside
98
113
  this contract.
114
+ Google Business Profile drafts can be text-only or contain one stored JPEG or
115
+ PNG image with a stable public URL. The optional 1,500-character
116
+ GOOGLE_BUSINESS_PROFILE update override uses the shared caption as fallback.
117
+ The tools use the location selected in Rolino, create only standard updates,
118
+ and never choose or change a Business Profile location. If final creation has
119
+ an unknown outcome, inspect the selected Business Profile before retrying.
99
120
  Integration health is cached and secret-safe, post
100
121
  readiness reuses Rolino's publishing checks, and calendar reads use bounded
101
122
  date windows with cursor pagination. After `rolino auth login`, configure `ROLINO_URL` and
102
- the server automatically reuses the browser-authorized credential saved for
123
+ the server automatically obtains and refreshes the API-resource OAuth token saved for
103
124
  that exact host. `ROLINO_TOKEN` remains an explicit override for CI and other
104
125
  headless environments. `ROLINO_CONFIG_DIR` can override the portable credential
105
126
  directory, and `ROLINO_TIMEOUT` is optional. Stdout is reserved for MCP
@@ -134,12 +155,15 @@ publication is reported. The preview reports `deliveryMode: "IMMEDIATE"` and
134
155
  `createsSchedule: false`; immediate publishing never enters schedule
135
156
  confirmation.
136
157
 
137
- MCP tools cannot enable YouTube, Bluesky, or LinkedIn or bypass a deployment's
138
- provider approval boundary. Self-hosted operators should complete the
158
+ MCP tools cannot enable YouTube, Bluesky, LinkedIn, or Google Business Profile,
159
+ or bypass a deployment's provider approval boundary. Self-hosted operators
160
+ should complete the
139
161
  [YouTube operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/youtube.md)
140
162
  and
141
- [Bluesky operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/bluesky.md), and
163
+ [Bluesky operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/bluesky.md),
142
164
  [LinkedIn operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/linkedin.md)
165
+ and the
166
+ [Google Business Profile operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/google-business-profile.md)
143
167
  before live testing.
144
168
 
145
169
  ## Support, security, and license
@@ -168,6 +192,14 @@ publishing reads:
168
192
  - `generate_blog_image`, `upload_blog_image`, and `review_blog_image` require
169
193
  `blog:write`. They cannot approve an article or publish it. Upload reads only
170
194
  the exact local JPEG, PNG, or WebP path supplied to the tool.
195
+ - `preview_blog_plan_cadence` and `apply_blog_plan_cadence` require
196
+ `blog:write`. Preview first, show every editorial move and locked item, then
197
+ apply only the unchanged preview values with its confirmation and a stable
198
+ idempotency key.
199
+ - These cadence tools never change `scheduledPublishAt` and never schedule,
200
+ publish, or unpublish an article.
201
+ - `generate_blog_image` already accepts optional editorial direction through
202
+ `editorialBrief` with a 500-character limit.
171
203
  - `preview_blog_revision_approval` and `execute_blog_revision_approval` require
172
204
  the independent `blog:approve` capability. Execution makes the confirmed
173
205
  exact bundle eligible for a separate publication operation; it cannot
@@ -189,8 +221,9 @@ Read tools are closed-world. The signed revalidation test is accurately marked
189
221
  as an open-world write. Connection execute is confirmed, destructive, and
190
222
  idempotent; its first success may return one-time values that must be written
191
223
  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
224
+ those values. These tools remain available over local stdio. The remote profile
225
+ omits both caller-local media and Blog image uploads, and the hosted route stays hidden while its
226
+ deployment gate is off. Publication still requires a user-approved exact revision and the
194
227
  separate publish preview/execute tools.
195
228
 
196
229
  Use the Blog tools in this order: read setup and current article or plan state;