@typeroll/mcp-server 0.44.19 → 0.44.20

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.
@@ -18,18 +18,21 @@ import { ok, withErrorBoundary } from './helpers.js';
18
18
  export const domainTools = [
19
19
  {
20
20
  name: 'list_hosting_groups',
21
+ noSite: true,
21
22
  description: 'List organization Hosting Groups, site address bases and safe hosting connection status. Requires an organization API key. Media and GitHub remain shared.',
22
23
  inputSchema: {},
23
24
  handler: withErrorBoundary(async (_args, { client }) => ok(await client.rootGet('publishing/hosting-groups'))),
24
25
  },
25
26
  {
26
27
  name: 'save_hosting_group',
28
+ noSite: true,
27
29
  description: 'Create a Hosting Group, or update its name, site address base and DNS mode using its current id and revision. Requires an organization API key. Does not move existing sites, media, or traffic. Connect the hosting account in Publishing.',
28
30
  inputSchema: { id: z.string().optional(), revision: z.string().optional(), name: z.string(), sites_domain: z.string().nullable(), dns_mode: z.enum(['automatic', 'external']) },
29
31
  handler: withErrorBoundary(async (args, { client }) => ok(await client.rootPost('publishing/hosting-groups', args))),
30
32
  },
31
33
  {
32
34
  name: 'connect_hosting_group',
35
+ noSite: true,
33
36
  description: 'Connect or disconnect an additional Hosting Group using a customer Cloudflare API token. Requires an organization API key and the current connection revision from list_hosting_groups. Default uses organization Publishing. No R2 access is required for the hosting token. Credentials are encrypted and never returned.',
34
37
  inputSchema: { action: z.enum(['connect', 'disconnect']), hosting_group_id: z.string(), revision: z.string(), account_id: z.string().optional(), api_token: z.string().optional() },
35
38
  handler: withErrorBoundary(async (args, { client }) => ok(await client.rootPost('publishing/hosting-groups', args))),
@@ -48,12 +51,14 @@ export const domainTools = [
48
51
  },
49
52
  {
50
53
  name: 'list_organization_publishing_domains',
54
+ noSite: true,
51
55
  description: 'List Cloudflare domains visible in the organization’s connected account, including activation, DNS hosting status and domain_access. Refresh this read to discover new domains; approval_required identifies missing OAuth consent without disconnecting the account. Requires an organization API key. Read only.',
52
56
  inputSchema: {},
53
57
  handler: withErrorBoundary(async (_args, { client }) => ok(await client.rootGet('publishing/zones'))),
54
58
  },
55
59
  {
56
60
  name: 'configure_organization_publishing_domains',
61
+ noSite: true,
57
62
  description: 'Configure organization media and site subdomains using an active domain in the connected Cloudflare account. Attaches the media host to R2, creates its DNS record and queues media migration. Site/version addresses are created at deployment. Requires an organization API key and the current revision. Does not replace existing DNS destinations or existing media hosts. Read organization publishing domains afterward to check HTTPS activation.',
58
63
  inputSchema: { revision: z.string(), zone_id: z.string(), media_subdomain: z.string().describe('Short label, for example media.'), sites_subdomain: z.string().describe('Short label, for example sites.') },
59
64
  handler: withErrorBoundary(async (args, { client }) => ok(await client.rootPost('publishing/domains', args))),
@@ -66,12 +71,14 @@ export const domainTools = [
66
71
  },
67
72
  {
68
73
  name: 'read_organization_media_migration',
74
+ noSite: true,
69
75
  description: 'Read progress and actionable failures while original media moves to the organization Cloudflare account. Requires an organization API key.',
70
76
  inputSchema: {},
71
77
  handler: withErrorBoundary(async (_args, { client }) => ok(await client.rootGet('publishing/media-migration'))),
72
78
  },
73
79
  {
74
80
  name: 'retry_organization_media_migration',
81
+ noSite: true,
75
82
  description: 'Resume verified media migration after fixing account, R2 or domain setup. Source files remain readable; pointer changes require matching hashes. Requires an organization API key.',
76
83
  inputSchema: {},
77
84
  handler: withErrorBoundary(async (_args, { client }) => ok(await client.rootPost('publishing/media-migration', {}))),
@@ -106,12 +113,14 @@ export const domainTools = [
106
113
  },
107
114
  {
108
115
  name: 'read_organization_publishing_domains',
116
+ noSite: true,
109
117
  description: 'Read the organization site address base, shared media host, live Cloudflare media-domain status and setup instructions. This read does not modify DNS. Requires an organization API key; site keys cannot access organization publishing settings.',
110
118
  inputSchema: {},
111
119
  handler: withErrorBoundary(async (_args, { client }) => ok(await client.rootGet('publishing/domains'))),
112
120
  },
113
121
  {
114
122
  name: 'set_organization_publishing_domains',
123
+ noSite: true,
115
124
  description: 'Save separate organization hostnames: sites_domain for site and version addresses, media_host for shared media. Requires an organization API key and current settings revision. Automatic DNS mode queues media setup; external mode leaves DNS to you. Does not change nameservers or replace an existing media host.',
116
125
  inputSchema: { revision: z.string(), sites_domain: z.string().nullable().optional(), media_host: z.string().nullable().optional(),
117
126
  default_domain: z.string().nullable().optional().describe('Legacy shorthand for both hostnames; prefer sites_domain and media_host.'), dns_mode: z.enum(['automatic', 'external']) },
package/dist/version.js CHANGED
@@ -8,4 +8,4 @@
8
8
  //
9
9
  // Keep it in lockstep with package.json: tests/version.test.ts asserts
10
10
  // VERSION === package.json.version, so a bump that forgets this line fails CI.
11
- export const VERSION = '0.44.19';
11
+ export const VERSION = '0.44.20';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeroll/mcp-server",
3
- "version": "0.44.19",
3
+ "version": "0.44.20",
4
4
  "description": "Model Context Protocol server for the Typeroll public API. Use with Claude Code or any MCP-compatible client to manage a Typeroll site.",
5
5
  "license": "MIT",
6
6
  "repository": {