@postsider/mcp 0.0.0-bootstrap.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.
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "postsider",
3
+ "description": "Prepare and schedule social media work in PostSider from Claude Code. The agent reads your real calendar and creates drafts, and nothing goes live without your review.",
4
+ "version": "1.0.0",
5
+ "author": {
6
+ "name": "Lumi Zone Lukasz Blania",
7
+ "email": "lukasz@postsider.com",
8
+ "url": "https://postsider.com"
9
+ },
10
+ "homepage": "https://postsider.com",
11
+ "repository": "https://github.com/lumizone/postsider",
12
+ "license": "AGPL-3.0",
13
+ "keywords": [
14
+ "mcp",
15
+ "social-media",
16
+ "scheduling",
17
+ "postsider",
18
+ "claude-code"
19
+ ],
20
+ "userConfig": {
21
+ "api_key": {
22
+ "type": "string",
23
+ "title": "PostSider API key",
24
+ "description": "Organization API key. Create one in PostSider under Settings -> API.",
25
+ "sensitive": true,
26
+ "required": true
27
+ }
28
+ }
29
+ }
package/.mcp.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "postsider": {
4
+ "command": "npx",
5
+ "args": ["-y", "@postsider/mcp@1.0.0"],
6
+ "env": {
7
+ "POSTSIDER_API_KEY": "${user_config.api_key}"
8
+ }
9
+ }
10
+ }
11
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,62 @@
1
+ # Changelog
2
+
3
+ Notable changes to `@postsider/mcp`. This file begins with the first released
4
+ version: earlier internal iterations were never published, so they are not
5
+ recorded here.
6
+
7
+ ## 1.0.0 - 2026-09-24
8
+
9
+ Initial release.
10
+
11
+ ### Server
12
+
13
+ - Local `stdio` MCP server built on `@modelcontextprotocol/sdk`.
14
+ - Configured through `POSTSIDER_API_KEY` (required) and `POSTSIDER_API_URL`
15
+ (optional, defaults to `https://api.postsider.com`).
16
+ - A single server factory, `createPostSiderMcpServer(client)`, owns all tool
17
+ registrations so future transports cannot drift from the stdio surface.
18
+
19
+ ### Tools
20
+
21
+ 19 tools, all prefixed `postsider_`: 13 read-only tools covering channels,
22
+ groups, calendar posts, approvals, notifications, publishing state, agency and
23
+ customer reporting, and analytics, plus 6 tools that change state (create or
24
+ schedule a post, import media from a URL, update post status, request approval,
25
+ delete a post, and the organization-wide pause publishing kill switch).
26
+
27
+ ### Safety and input handling
28
+
29
+ - `POSTSIDER_API_URL` must be HTTPS. Plain HTTP is accepted only on loopback
30
+ (`localhost`, `127.0.0.1`, `[::1]`) for local development and self-hosting.
31
+ - Credentials embedded in the API URL are rejected, and no error message echoes
32
+ the URL or the API key.
33
+ - Redirects are refused instead of followed, so an authenticated request can never
34
+ be pushed to another origin by a redirect. The failure names
35
+ `POSTSIDER_API_URL`, which is what a self-hosted user has to fix.
36
+ - Requests time out after 30 seconds, and a failing response body is read up to
37
+ 8 KB before being reported, so a broken server cannot stream unbounded data.
38
+ - Tool arguments are validated before any network call: ids must be non-empty,
39
+ dates must be real ISO 8601 dates (`2026-02-30` and `2026-13-45` are refused
40
+ locally instead of becoming an opaque API 400), post status is limited to
41
+ `draft` or `schedule`, and media imports require a public HTTPS URL.
42
+ - Tool results are compact JSON, because every result is injected into the
43
+ agent's context.
44
+ - Every tool declares `readOnlyHint`, `destructiveHint`, `idempotentHint` and
45
+ `openWorldHint` explicitly instead of relying on protocol defaults.
46
+ - `postsider_delete_post` documents that one post id deletes the post and every
47
+ other channel version in its group, matching what the API does.
48
+ - A missing API key exits 1 with an explanatory message on stderr and nothing on
49
+ stdout, which is reserved for the protocol.
50
+
51
+ ### Distribution
52
+
53
+ - A Claude Code plugin in the package (`plugin.json`, `.mcp.json`, the
54
+ `postsider-workflow` skill), installable from the repository marketplace:
55
+ `claude plugin marketplace add lumizone/postsider` and
56
+ `claude plugin install postsider@postsider`.
57
+ - `server.json` metadata for the MCP Registry, validated against the registry
58
+ schema by `pnpm --filter @postsider/mcp validate:registry`.
59
+ - `version:gate` reconciles every place a version is stated (package.json,
60
+ plugin, registry metadata, the reported server version, the pinned npx version
61
+ and the release tag) and blocks a tagged release that still ships the
62
+ `RELEASE_NOT_VERIFIED` banner.