@rolino/mcp 0.1.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 +36 -0
- package/LICENSE +21 -0
- package/README.md +111 -0
- package/dist/bin.cjs +643 -0
- package/dist/bin.cjs.map +1 -0
- package/dist/bin.d.cts +1 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +22 -0
- package/dist/bin.js.map +1 -0
- package/dist/chunk-RSNR7K6Z.js +631 -0
- package/dist/chunk-RSNR7K6Z.js.map +1 -0
- package/dist/index.cjs +646 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +91 -0
- package/dist/index.d.ts +91 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/package.json +73 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# @rolino/mcp
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- fdc916f: Add least-privilege, idempotent project creation across the public API, SDK,
|
|
8
|
+
CLI, and local stdio MCP, including atomic paired-brand creation.
|
|
9
|
+
- 2f5220f: Expose Bluesky consistently across public publishing contracts, the SDK, CLI,
|
|
10
|
+
and MCP, including 300-grapheme caption overrides, text and image readiness,
|
|
11
|
+
health reporting, scheduling, and immediate publishing. The fixed release group
|
|
12
|
+
also advances `@rolino/local-auth` even though its source does not change.
|
|
13
|
+
- edd5f2e: Validate YouTube descriptions by their 5,000-byte UTF-8 provider limit so every Rolino client rejects multibyte text that YouTube would refuse.
|
|
14
|
+
- 1b644ef: Prepare the first coordinated public release of Rolino's contracts, SDK, shared
|
|
15
|
+
local authentication, CLI, and local stdio MCP packages.
|
|
16
|
+
- 420484d: Add reusable media discovery and direct local-file uploads across the public
|
|
17
|
+
API contracts, SDK, CLI, and MCP so agents can safely prepare folder-based
|
|
18
|
+
social scheduling workflows. The fixed release group also advances
|
|
19
|
+
`@rolino/local-auth` even though its source does not change.
|
|
20
|
+
- 52373a6: Expose YouTube consistently across public contracts, the SDK, CLI, and MCP,
|
|
21
|
+
including explicit draft metadata, readiness and health, early scheduled
|
|
22
|
+
preparation, exact publish confirmation, and typed pending reconciliation.
|
|
23
|
+
The fixed release group also advances `@rolino/local-auth` even though its
|
|
24
|
+
source does not change.
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- Updated dependencies [fdc916f]
|
|
29
|
+
- Updated dependencies [2f5220f]
|
|
30
|
+
- Updated dependencies [edd5f2e]
|
|
31
|
+
- Updated dependencies [1b644ef]
|
|
32
|
+
- Updated dependencies [420484d]
|
|
33
|
+
- Updated dependencies [52373a6]
|
|
34
|
+
- @rolino/contracts@0.1.0
|
|
35
|
+
- @rolino/sdk@0.1.0
|
|
36
|
+
- @rolino/local-auth@0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Vlad
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# `@rolino/mcp`
|
|
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.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
Local MCP remains a separate, explicit
|
|
10
|
+
installation so CLI-only users do not receive MCP runtime dependencies:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install --global @rolino/cli @rolino/mcp
|
|
14
|
+
```
|
|
15
|
+
|
|
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
|
+
Headless operators may install only `@rolino/mcp` and provide a scoped
|
|
19
|
+
`ROLINO_TOKEN` explicitly.
|
|
20
|
+
|
|
21
|
+
Initial tools:
|
|
22
|
+
|
|
23
|
+
- `whoami`
|
|
24
|
+
- `list_projects`
|
|
25
|
+
- `get_project`
|
|
26
|
+
- `create_project`
|
|
27
|
+
- `list_media_assets`
|
|
28
|
+
- `upload_media_asset`
|
|
29
|
+
- `list_posts`
|
|
30
|
+
- `get_post`
|
|
31
|
+
- `create_draft_post`
|
|
32
|
+
- `update_draft_post`
|
|
33
|
+
- `get_post_readiness`
|
|
34
|
+
- `preview_post_schedule`
|
|
35
|
+
- `execute_post_schedule`
|
|
36
|
+
- `preview_post_publish`
|
|
37
|
+
- `execute_post_publish`
|
|
38
|
+
- `list_integration_health`
|
|
39
|
+
- `list_calendar_events`
|
|
40
|
+
|
|
41
|
+
The media tools discover reusable project assets and upload one explicitly
|
|
42
|
+
approved local JPEG, PNG, WebP, MP4, or MOV file directly to configured
|
|
43
|
+
storage. Uploading never creates, schedules, or publishes a post; the returned
|
|
44
|
+
asset ID is passed into a later draft operation.
|
|
45
|
+
|
|
46
|
+
The tool set includes discovery and inspection tools that are read-only.
|
|
47
|
+
`create_project` is an additive, closed-world mutation that requires
|
|
48
|
+
`projects:write` and a caller-supplied idempotency key. It atomically saves the
|
|
49
|
+
project and its paired brand without starting research, connecting accounts,
|
|
50
|
+
scheduling posts, or publishing. The two draft tools can create or replace
|
|
51
|
+
draft content but cannot schedule or publish it. Both require caller-supplied
|
|
52
|
+
idempotency keys, and updates also require the version returned by `get_post`
|
|
53
|
+
so stale writes fail safely. Every tool returns output-schema-validated
|
|
54
|
+
`structuredContent` plus a JSON text fallback.
|
|
55
|
+
YouTube drafts require exactly one stored video, explicit title/category/
|
|
56
|
+
visibility/audience/declaration settings, and optional tags. The YOUTUBE caption
|
|
57
|
+
override becomes the video description, with the shared caption as fallback.
|
|
58
|
+
Unaudited Google API projects may be restricted to Private uploads; the tools
|
|
59
|
+
do not infer audit approval from server configuration.
|
|
60
|
+
Bluesky drafts can be text-only or contain up to four stored JPEG, PNG, or WebP
|
|
61
|
+
images. The BLUESKY caption override accepts up to 300 graphemes, with the
|
|
62
|
+
shared caption as fallback.
|
|
63
|
+
Integration health is cached and secret-safe, post
|
|
64
|
+
readiness reuses Rolino's publishing checks, and calendar reads use bounded
|
|
65
|
+
date windows with cursor pagination. After `rolino auth login`, configure `ROLINO_URL` and
|
|
66
|
+
the server automatically reuses the browser-authorized credential saved for
|
|
67
|
+
that exact host. `ROLINO_TOKEN` remains an explicit override for CI and other
|
|
68
|
+
headless environments. `ROLINO_CONFIG_DIR` can override the portable credential
|
|
69
|
+
directory, and `ROLINO_TIMEOUT` is optional. Stdout is reserved for MCP
|
|
70
|
+
messages; startup failures go to stderr without secrets or stack traces.
|
|
71
|
+
`ROLINO_TIMEOUT` accepts integer milliseconds or values such as `500ms`, `15s`,
|
|
72
|
+
and `1m`, matching the CLI.
|
|
73
|
+
|
|
74
|
+
Scheduling uses two separate tools. `preview_post_schedule` contacts the
|
|
75
|
+
configured providers, validates the exact post version, time, timezone, and
|
|
76
|
+
readiness, and returns a five-minute single-use confirmation without scheduling
|
|
77
|
+
anything. `execute_post_schedule` is marked consequential and open-world; it
|
|
78
|
+
requires the unchanged preview values, confirmation token, and a stable
|
|
79
|
+
idempotency key. The server repeats readiness and live-health checks and rejects
|
|
80
|
+
expired, consumed, stale, cross-credential, or mismatched confirmation.
|
|
81
|
+
For YouTube, the preview explains that confirmed scheduling starts or resumes a
|
|
82
|
+
private upload immediately so processing can complete before the Public target.
|
|
83
|
+
Execution may return a typed `PENDING` result while the remote schedule is
|
|
84
|
+
being confirmed; it does not report the video as published.
|
|
85
|
+
|
|
86
|
+
Immediate publishing also uses two tools. `preview_post_publish` checks the
|
|
87
|
+
exact destination set, post version, readiness, live provider health, and retry
|
|
88
|
+
safety without contacting a publish endpoint. `execute_post_publish` requires
|
|
89
|
+
the unchanged preview values, confirmation token, and stable idempotency key,
|
|
90
|
+
then durably queues the selected destinations for immediate delivery. Provider
|
|
91
|
+
calls happen after that database commit, and Rolino's existing reconciliation
|
|
92
|
+
rules block blind retries after ambiguous external results. YouTube remains
|
|
93
|
+
`PREPARING` until upload and processing are provider-confirmed, and its exact
|
|
94
|
+
configured visibility is reconciled before publication is reported.
|
|
95
|
+
|
|
96
|
+
MCP tools cannot enable YouTube or Bluesky or bypass the deployment's
|
|
97
|
+
Google/YouTube approval boundary. Self-hosted operators should complete the
|
|
98
|
+
[YouTube operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/youtube.md)
|
|
99
|
+
and
|
|
100
|
+
[Bluesky operations guide](https://github.com/deifos/rolino/blob/main/docs/integrations/bluesky.md)
|
|
101
|
+
before live testing.
|
|
102
|
+
|
|
103
|
+
## Support, security, and license
|
|
104
|
+
|
|
105
|
+
Stable releases are published only after the maintainer approves the release
|
|
106
|
+
gate. Report bugs through the
|
|
107
|
+
[Rolino issue tracker](https://github.com/deifos/rolino/issues) and security
|
|
108
|
+
issues through the repository's
|
|
109
|
+
[security policy](https://github.com/deifos/rolino/security/policy).
|
|
110
|
+
|
|
111
|
+
`@rolino/mcp` is available under the MIT License.
|