@cmo-so/mcp 0.8.0 → 0.8.1

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.
Files changed (2) hide show
  1. package/dist/cmo-mcp.mjs +27 -1
  2. package/package.json +1 -1
package/dist/cmo-mcp.mjs CHANGED
@@ -7199,7 +7199,7 @@ var require_dist = __commonJS({
7199
7199
  // package.json
7200
7200
  var package_default = {
7201
7201
  name: "@cmo-so/cli",
7202
- version: "0.8.0",
7202
+ version: "0.8.1",
7203
7203
  description: "CMO.so on the command line: your websites, ideas, blog posts, LinkedIn queue and results, plus a local MCP server for Claude Desktop, Cursor and other MCP clients.",
7204
7204
  type: "module",
7205
7205
  license: "MIT",
@@ -8255,6 +8255,8 @@ function domainApi(api2, domain) {
8255
8255
  inboxReport: (id) => api2.request(`${base}/reports/${id}`),
8256
8256
  saveReport: (r) => post(`${base}/reports`, r),
8257
8257
  readAllReports: () => post(`${base}/reports/read-all`, {}),
8258
+ /** One social post in full (social_list clips its text). */
8259
+ socialPost: (id) => api2.request(`${base}/social/${id}`),
8258
8260
  // Ops Autopilot: ideas the weekly clean-up archived (restorable), post health, Google reviews.
8259
8261
  ideaCleanup: (limit = 50) => api2.request(`${base}/idea-cleanup?limit=${limit}`),
8260
8262
  restoreIdeaCleanup: (id) => post(`${base}/idea-cleanup/${id}/restore`, {}),
@@ -10899,6 +10901,30 @@ var opsTools = [
10899
10901
  const { reviewer, comment, ...rest } = r;
10900
10902
  return { ...rest, ...untrusted({ reviewer, comment }) };
10901
10903
  }
10904
+ }),
10905
+ tool({
10906
+ name: "social_post_get",
10907
+ description: "One social post in full: its whole text (social_list shortens it to about 300 characters), its pictures, its link, its channel and status, when it goes out, and why it was held before going out, if it was. Use it to check a post's ending (a web address or phone number on Google, a cut-off sentence) before approving or fixing it.",
10908
+ parameters: { type: "object", properties: { id: { type: "integer" } }, required: ["id"] },
10909
+ group: "social",
10910
+ need: { resource: "autopilot", level: "read" },
10911
+ risk: "R0",
10912
+ run: async (ctx, { id }) => {
10913
+ const p = await ws(ctx).socialPost(int(id, 1, Number.MAX_SAFE_INTEGER, 0));
10914
+ return {
10915
+ id: p.id,
10916
+ channel: p.provider,
10917
+ status: p.status,
10918
+ eta: p.eta ?? null,
10919
+ text: p.social_copy,
10920
+ characters: String(p.social_copy ?? "").length,
10921
+ picture: p.image_url ?? null,
10922
+ pictures: p.image_urls ?? [],
10923
+ link: p.cta_url ?? p.source_url ?? null,
10924
+ held: p.held ?? null,
10925
+ failure: p.failure_message ?? null
10926
+ };
10927
+ }
10902
10928
  })
10903
10929
  ];
10904
10930
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmo-so/mcp",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "CMO.so's MCP server for Claude Desktop, Cursor, VS Code and other MCP clients: manage your websites, blog posts, LinkedIn queue and results with Maggie.",
5
5
  "type": "module",
6
6
  "license": "MIT",