diff --git a/.changeset/clever-humans-smell.md b/.changeset/clever-humans-smell.md new file mode 100644 index 00000000..8ec4a9a8 --- /dev/null +++ b/.changeset/clever-humans-smell.md @@ -0,0 +1,23 @@ +--- +'workers-observability': patch +'cloudflare-casb-mcp-server': patch +'cloudflare-browser-mcp-server': patch +'containers-mcp': patch +'workers-bindings': patch +'docs-vectorize': patch +'workers-builds': patch +'@repo/eval-tools': patch +'@repo/mcp-common': patch +'dns-analytics': patch +'dex-analysis': patch +'docs-autorag': patch +'cloudflare-ai-gateway-mcp-server': patch +'auditlogs': patch +'demo-day': patch +'cloudflare-autorag-mcp-server': patch +'graphql-mcp-server': patch +'logpush': patch +'cloudflare-radar-mcp-server': patch +--- + +feat: Add MCP tool titles and hints to all Cloudflare tools diff --git a/apps/ai-gateway/package.json b/apps/ai-gateway/package.json index 5ce03b9d..2ef1e888 100644 --- a/apps/ai-gateway/package.json +++ b/apps/ai-gateway/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/auditlogs/package.json b/apps/auditlogs/package.json index 99cc5f51..55ab49b2 100644 --- a/apps/auditlogs/package.json +++ b/apps/auditlogs/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/autorag/package.json b/apps/autorag/package.json index 885e1216..898e123a 100644 --- a/apps/autorag/package.json +++ b/apps/autorag/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/browser-rendering/package.json b/apps/browser-rendering/package.json index 152ddf3b..96ace055 100644 --- a/apps/browser-rendering/package.json +++ b/apps/browser-rendering/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/cloudflare-one-casb/package.json b/apps/cloudflare-one-casb/package.json index 3b6ef697..b5abf5b9 100644 --- a/apps/cloudflare-one-casb/package.json +++ b/apps/cloudflare-one-casb/package.json @@ -14,9 +14,9 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/demo-day/package.json b/apps/demo-day/package.json index 4c84b2b2..ee7a6818 100644 --- a/apps/demo-day/package.json +++ b/apps/demo-day/package.json @@ -11,10 +11,10 @@ "test": "vitest run" }, "dependencies": { - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "zod": "3.24.2" }, "devDependencies": { diff --git a/apps/dex-analysis/package.json b/apps/dex-analysis/package.json index cee4d405..44ee9677 100644 --- a/apps/dex-analysis/package.json +++ b/apps/dex-analysis/package.json @@ -15,10 +15,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "jszip": "3.10.1", diff --git a/apps/dns-analytics/package.json b/apps/dns-analytics/package.json index fd41c55c..1744e662 100644 --- a/apps/dns-analytics/package.json +++ b/apps/dns-analytics/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/docs-autorag/package.json b/apps/docs-autorag/package.json index 7db5399f..f0d2a317 100644 --- a/apps/docs-autorag/package.json +++ b/apps/docs-autorag/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "mime": "4.0.6", diff --git a/apps/docs-vectorize/package.json b/apps/docs-vectorize/package.json index ba216d32..54a1ff58 100644 --- a/apps/docs-vectorize/package.json +++ b/apps/docs-vectorize/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "mime": "4.0.6", diff --git a/apps/graphql/package.json b/apps/graphql/package.json index fdf08bf5..e1436a24 100644 --- a/apps/graphql/package.json +++ b/apps/graphql/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2", diff --git a/apps/logpush/package.json b/apps/logpush/package.json index 1ce35f07..d46c01a6 100644 --- a/apps/logpush/package.json +++ b/apps/logpush/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/radar/package.json b/apps/radar/package.json index 0d4652c3..49936986 100644 --- a/apps/radar/package.json +++ b/apps/radar/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/sandbox-container/package.json b/apps/sandbox-container/package.json index c2110e61..d4a78b78 100644 --- a/apps/sandbox-container/package.json +++ b/apps/sandbox-container/package.json @@ -22,12 +22,12 @@ "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/node-server": "1.13.8", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@n8n/json-schema-to-zod": "1.1.0", "@repo/eval-tools": "workspace:*", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cron-schedule": "5.0.4", "esbuild": "0.25.1", "hono": "4.7.6", diff --git a/apps/workers-bindings/package.json b/apps/workers-bindings/package.json index 52c4c2a4..b4e3942d 100644 --- a/apps/workers-bindings/package.json +++ b/apps/workers-bindings/package.json @@ -26,12 +26,12 @@ }, "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@n8n/json-schema-to-zod": "1.1.0", "@repo/eval-tools": "workspace:*", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "ai": "4.3.10", "concurrently": "9.1.2", "hono": "4.7.6", diff --git a/apps/workers-builds/package.json b/apps/workers-builds/package.json index b284f443..b71553e0 100644 --- a/apps/workers-builds/package.json +++ b/apps/workers-builds/package.json @@ -14,10 +14,10 @@ "dependencies": { "@cloudflare/workers-oauth-provider": "0.0.5", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/apps/workers-observability/package.json b/apps/workers-observability/package.json index c92994ae..ce5a9e4b 100644 --- a/apps/workers-observability/package.json +++ b/apps/workers-observability/package.json @@ -15,10 +15,10 @@ "@cloudflare/workers-oauth-provider": "0.0.5", "@fast-csv/format": "5.0.2", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/packages/eval-tools/package.json b/packages/eval-tools/package.json index 2178e927..f2d96af0 100644 --- a/packages/eval-tools/package.json +++ b/packages/eval-tools/package.json @@ -15,7 +15,7 @@ "@ai-sdk/google": "1.2.17", "@ai-sdk/openai": "1.3.20", "@cloudflare/vitest-pool-workers": "0.8.14", - "agents": "0.0.100", + "agents": "0.0.113", "ai": "4.3.10", "ai-gateway-provider": "0.0.6", "workers-ai-provider": "0.3.0", diff --git a/packages/mcp-common/package.json b/packages/mcp-common/package.json index 750d0531..6d442f1a 100644 --- a/packages/mcp-common/package.json +++ b/packages/mcp-common/package.json @@ -14,9 +14,9 @@ "@cloudflare/workers-oauth-provider": "0.0.5", "@fast-csv/format": "5.0.2", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.100", + "agents": "0.0.113", "cloudflare": "4.2.0", "hono": "4.7.6", "toucan-js": "4.1.1", diff --git a/packages/mcp-common/src/tools/account.tools.ts b/packages/mcp-common/src/tools/account.tools.ts index e265c8bc..3fff424b 100644 --- a/packages/mcp-common/src/tools/account.tools.ts +++ b/packages/mcp-common/src/tools/account.tools.ts @@ -7,51 +7,62 @@ import type { CloudflareMcpAgent } from '../types/cloudflare-mcp-agent.types' export function registerAccountTools(agent: CloudflareMcpAgent) { // Tool to list all accounts - agent.server.tool('accounts_list', 'List all accounts in your Cloudflare account', async () => { - try { - const results = await handleAccountsList({ - client: getCloudflareClient(agent.props.accessToken), - }) - // Sort accounts by created_on date (newest first) - const accounts = results - // order by created_on desc ( newest first ) - .sort((a, b) => { - if (!a.created_on) return 1 - if (!b.created_on) return -1 - return new Date(b.created_on).getTime() - new Date(a.created_on).getTime() - }) - // Remove fields not needed by the LLM - .map((account) => { - return { - id: account.id, - name: account.name, - created_on: account.created_on, - } + agent.server.tool( + 'accounts_list', + 'List all accounts in your Cloudflare account', + {}, + { + title: 'List accounts', + annotations: { + readOnlyHint: true, + }, + }, + async () => { + try { + const results = await handleAccountsList({ + client: getCloudflareClient(agent.props.accessToken), }) + // Sort accounts by created_on date (newest first) + const accounts = results + // order by created_on desc ( newest first ) + .sort((a, b) => { + if (!a.created_on) return 1 + if (!b.created_on) return -1 + return new Date(b.created_on).getTime() - new Date(a.created_on).getTime() + }) + // Remove fields not needed by the LLM + .map((account) => { + return { + id: account.id, + name: account.name, + created_on: account.created_on, + } + }) - return { - content: [ - { - type: 'text', - text: JSON.stringify({ - accounts, - count: accounts.length, - }), - }, - ], - } - } catch (e) { - agent.server.recordError(e) - return { - content: [ - { - type: 'text', - text: `Error listing accounts: ${e instanceof Error && e.message}`, - }, - ], + return { + content: [ + { + type: 'text', + text: JSON.stringify({ + accounts, + count: accounts.length, + }), + }, + ], + } + } catch (e) { + agent.server.recordError(e) + return { + content: [ + { + type: 'text', + text: `Error listing accounts: ${e instanceof Error && e.message}`, + }, + ], + } } } - }) + ) // Only register set_active_account tool when user token is provided, as it doesn't make sense to expose // this tool for account scoped tokens, given that they're scoped to a single account @@ -67,6 +78,13 @@ export function registerAccountTools(agent: CloudflareMcpAgent) { { activeAccountIdParam, }, + { + title: 'Set active account', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async (params) => { try { const { activeAccountIdParam: activeAccountId } = params diff --git a/packages/mcp-common/src/tools/d1.tools.ts b/packages/mcp-common/src/tools/d1.tools.ts index 6a8a65e5..1a2d5caa 100644 --- a/packages/mcp-common/src/tools/d1.tools.ts +++ b/packages/mcp-common/src/tools/d1.tools.ts @@ -20,6 +20,12 @@ export function registerD1Tools(agent: CloudflareMcpAgent) { page: PaginationPageParam, per_page: PaginationPerPageParam, }, + { + title: 'List D1 databases', + annotations: { + readOnlyHint: true, + }, + }, async ({ name, page, per_page }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -65,6 +71,13 @@ export function registerD1Tools(agent: CloudflareMcpAgent) { name: D1DatabaseNameParam, primary_location_hint: D1DatabasePrimaryLocationHintParam.nullable().optional(), }, + { + title: 'Create D1 database', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async ({ name, primary_location_hint }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -103,6 +116,13 @@ export function registerD1Tools(agent: CloudflareMcpAgent) { 'd1_database_delete', 'Delete a d1 database in your Cloudflare account', { database_id: z.string() }, + { + title: 'Delete D1 database', + annotations: { + readOnlyHint: false, + destructiveHint: true, + }, + }, async ({ database_id }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -138,6 +158,12 @@ export function registerD1Tools(agent: CloudflareMcpAgent) { 'd1_database_get', 'Get a D1 database in your Cloudflare account', { database_id: z.string() }, + { + title: 'Get D1 database', + annotations: { + readOnlyHint: true, + }, + }, async ({ database_id }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -178,6 +204,13 @@ export function registerD1Tools(agent: CloudflareMcpAgent) { sql: D1DatabaseQuerySqlParam, params: D1DatabaseQueryParamsParam.nullable(), }, + { + title: 'Query D1 database', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async ({ database_id, sql, params }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { diff --git a/packages/mcp-common/src/tools/docs-vectorize.tools.ts b/packages/mcp-common/src/tools/docs-vectorize.tools.ts index ce5f7a41..0079f7ad 100644 --- a/packages/mcp-common/src/tools/docs-vectorize.tools.ts +++ b/packages/mcp-common/src/tools/docs-vectorize.tools.ts @@ -30,6 +30,12 @@ export function registerDocsTools(agent: CloudflareMcpAgentNoAccount, env: Requi { query: z.string(), }, + { + title: 'Search Cloudflare docs', + annotations: { + readOnlyHint: true, + }, + }, async ({ query }) => { const results = await queryVectorize(env.AI, env.VECTORIZE, query, TOP_K) const resultsAsXml = results @@ -53,6 +59,13 @@ ${result.text} agent.server.tool( 'migrate_pages_to_workers_guide', `ALWAYS read this guide before migrating Pages projects to Workers.`, + {}, + { + title: 'Get Pages migration guide', + annotations: { + readOnlyHint: true, + }, + }, async () => { const res = await fetch( 'https://developers.cloudflare.com/workers/prompts/pages-to-workers.txt', diff --git a/packages/mcp-common/src/tools/hyperdrive.tools.ts b/packages/mcp-common/src/tools/hyperdrive.tools.ts index ecf89c22..f8d4ed44 100644 --- a/packages/mcp-common/src/tools/hyperdrive.tools.ts +++ b/packages/mcp-common/src/tools/hyperdrive.tools.ts @@ -43,6 +43,12 @@ export function registerHyperdriveTools(agent: CloudflareMcpAgent) { order: HyperdriveListParamOrderSchema.nullable(), direction: HyperdriveListParamDirectionSchema.nullable(), }, + { + title: 'List Hyperdrive configs', + annotations: { + readOnlyHint: true, + }, + }, async ({ page, per_page, order, direction }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -164,6 +170,13 @@ export function registerHyperdriveTools(agent: CloudflareMcpAgent) { { hyperdrive_id: HyperdriveConfigIdSchema, }, + { + title: 'Delete Hyperdrive config', + annotations: { + readOnlyHint: false, + destructiveHint: true, + }, + }, async ({ hyperdrive_id }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -202,6 +215,12 @@ export function registerHyperdriveTools(agent: CloudflareMcpAgent) { { hyperdrive_id: HyperdriveConfigIdSchema, }, + { + title: 'Get Hyperdrive config', + annotations: { + readOnlyHint: true, + }, + }, async ({ hyperdrive_id }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -252,6 +271,13 @@ export function registerHyperdriveTools(agent: CloudflareMcpAgent) { caching_stale_while_revalidate: HyperdriveCachingStaleWhileRevalidateSchema.optional().nullable(), }, + { + title: 'Edit Hyperdrive config', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async ({ hyperdrive_id, name, diff --git a/packages/mcp-common/src/tools/kv_namespace.tools.ts b/packages/mcp-common/src/tools/kv_namespace.tools.ts index 50c3774b..63e30f42 100644 --- a/packages/mcp-common/src/tools/kv_namespace.tools.ts +++ b/packages/mcp-common/src/tools/kv_namespace.tools.ts @@ -29,6 +29,12 @@ export function registerKVTools(agent: CloudflareMcpAgent) { - title: The title of the kv namespace. `, { params: KvNamespacesListParamsSchema.optional() }, + { + title: 'List KV namespaces', + annotations: { + readOnlyHint: true, + }, + }, async ({ params }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -80,6 +86,13 @@ export function registerKVTools(agent: CloudflareMcpAgent) { { title: KvNamespaceTitleSchema, }, + { + title: 'Create KV namespace', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async ({ title }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -118,6 +131,13 @@ export function registerKVTools(agent: CloudflareMcpAgent) { { namespace_id: KvNamespaceIdSchema, }, + { + title: 'Delete KV namespace', + annotations: { + readOnlyHint: false, + destructiveHint: true, + }, + }, async ({ namespace_id }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -163,6 +183,12 @@ export function registerKVTools(agent: CloudflareMcpAgent) { { namespace_id: KvNamespaceIdSchema, }, + { + title: 'Get KV namespace', + annotations: { + readOnlyHint: true, + }, + }, async ({ namespace_id }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -202,6 +228,13 @@ export function registerKVTools(agent: CloudflareMcpAgent) { namespace_id: KvNamespaceIdSchema, title: KvNamespaceTitleSchema, }, + { + title: 'Update KV namespace', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async ({ namespace_id, title }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { diff --git a/packages/mcp-common/src/tools/r2_bucket.tools.ts b/packages/mcp-common/src/tools/r2_bucket.tools.ts index eeb0110c..c1c623de 100644 --- a/packages/mcp-common/src/tools/r2_bucket.tools.ts +++ b/packages/mcp-common/src/tools/r2_bucket.tools.ts @@ -21,6 +21,12 @@ export function registerR2BucketTools(agent: CloudflareMcpAgent) { per_page: PaginationPerPageParam, start_after: BucketListStartAfterParam, }, + { + title: 'List R2 buckets', + annotations: { + readOnlyHint: true, + }, + }, async ({ cursor, direction, name_contains, per_page, start_after }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -65,6 +71,13 @@ export function registerR2BucketTools(agent: CloudflareMcpAgent) { 'r2_bucket_create', 'Create a new r2 bucket in your Cloudflare account', { name: BucketNameSchema }, + { + title: 'Create R2 bucket', + annotations: { + readOnlyHint: false, + destructiveHint: false, + }, + }, async ({ name }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -101,6 +114,12 @@ export function registerR2BucketTools(agent: CloudflareMcpAgent) { 'r2_bucket_get', 'Get details about a specific R2 bucket', { name: BucketNameSchema }, + { + title: 'Get R2 bucket', + annotations: { + readOnlyHint: true, + }, + }, async ({ name }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { @@ -134,6 +153,13 @@ export function registerR2BucketTools(agent: CloudflareMcpAgent) { 'r2_bucket_delete', 'Delete an R2 bucket', { name: BucketNameSchema }, + { + title: 'Delete R2 bucket', + annotations: { + readOnlyHint: false, + destructiveHint: true, + }, + }, async ({ name }) => { const account_id = await agent.getActiveAccountId() if (!account_id) { diff --git a/packages/mcp-common/src/tools/worker.tools.ts b/packages/mcp-common/src/tools/worker.tools.ts index e61d8f93..7cbe0041 100644 --- a/packages/mcp-common/src/tools/worker.tools.ts +++ b/packages/mcp-common/src/tools/worker.tools.ts @@ -28,6 +28,14 @@ export function registerWorkersTools(agent: CloudflareMcpAgent) { If you only need details of a single Worker, use workers_get_worker. `), + {}, + { + title: 'List Workers', + annotations: { + readOnlyHint: true, + destructiveHint: false, + }, + }, async () => { const accountId = await agent.getActiveAccountId() if (!accountId) { @@ -94,6 +102,13 @@ export function registerWorkersTools(agent: CloudflareMcpAgent) { { scriptName: workerNameParam, }, + { + title: 'Get Worker details', + annotations: { + readOnlyHint: true, + destructiveHint: false, + }, + }, async (params) => { const accountId = await agent.getActiveAccountId() if (!accountId) { @@ -158,6 +173,13 @@ export function registerWorkersTools(agent: CloudflareMcpAgent) { 'workers_get_worker_code', 'Get the source code of a Cloudflare Worker. Note: This may be a bundled version of the worker.', { scriptName: workerNameParam }, + { + title: 'Get Worker code', + annotations: { + readOnlyHint: true, + destructiveHint: false, + }, + }, async (params) => { const accountId = await agent.getActiveAccountId() if (!accountId) { diff --git a/packages/mcp-common/src/tools/zone.tools.ts b/packages/mcp-common/src/tools/zone.tools.ts index 66f55936..0accf891 100644 --- a/packages/mcp-common/src/tools/zone.tools.ts +++ b/packages/mcp-common/src/tools/zone.tools.ts @@ -28,6 +28,13 @@ export function registerZoneTools(agent: CloudflareMcpAgent) { .default('desc') .describe('Direction to order results (asc, desc)'), }, + { + title: 'List zones', + annotations: { + readOnlyHint: true, + destructiveHint: false, + }, + }, async (params) => { const accountId = await agent.getActiveAccountId() if (!accountId) { @@ -84,6 +91,13 @@ export function registerZoneTools(agent: CloudflareMcpAgent) { { zoneId: z.string().describe('The ID of the zone to get details for'), }, + { + title: 'Get zone details', + annotations: { + readOnlyHint: true, + destructiveHint: false, + }, + }, async (params) => { const accountId = await agent.getActiveAccountId() if (!accountId) { diff --git a/packages/mcp-observability/package.json b/packages/mcp-observability/package.json index 37a987c6..6bf3fa86 100644 --- a/packages/mcp-observability/package.json +++ b/packages/mcp-observability/package.json @@ -12,7 +12,7 @@ "bin": "bin" }, "dependencies": { - "@modelcontextprotocol/sdk": "1.13.3", + "@modelcontextprotocol/sdk": "1.17.2", "wrangler": "4.10.0", "zod": "3.24.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 19b98965..8d730571 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,8 +57,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -66,8 +66,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -106,8 +106,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -115,8 +115,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -155,8 +155,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -164,8 +164,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -204,8 +204,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -213,8 +213,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -253,14 +253,14 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -296,8 +296,8 @@ importers: apps/demo-day: dependencies: '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -305,8 +305,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) zod: specifier: 3.24.2 version: 3.24.2 @@ -339,8 +339,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -348,8 +348,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -394,8 +394,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -403,8 +403,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -443,8 +443,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -452,8 +452,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -495,8 +495,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -504,8 +504,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -547,8 +547,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -556,8 +556,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -599,8 +599,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -608,8 +608,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -648,8 +648,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -657,8 +657,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -700,8 +700,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@n8n/json-schema-to-zod': specifier: 1.1.0 version: 1.1.0(zod@3.24.2) @@ -715,8 +715,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cron-schedule: specifier: 5.0.4 version: 5.0.4 @@ -773,8 +773,8 @@ importers: specifier: 0.0.5 version: 0.0.5 '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@n8n/json-schema-to-zod': specifier: 1.1.0 version: 1.1.0(zod@3.24.2) @@ -788,8 +788,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) ai: specifier: 4.3.10 version: 4.3.10(react@17.0.2)(zod@3.24.2) @@ -837,8 +837,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -846,8 +846,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -895,8 +895,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -904,8 +904,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -992,8 +992,8 @@ importers: specifier: 0.8.14 version: 0.8.14(@cloudflare/workers-types@4.20250416.0)(@vitest/runner@3.0.9)(@vitest/snapshot@3.0.9)(vitest@3.0.9) agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) ai: specifier: 4.3.10 version: 4.3.10(react@17.0.2)(zod@3.24.2) @@ -1032,14 +1032,14 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 '@repo/mcp-observability': specifier: workspace:* version: link:../mcp-observability agents: - specifier: 0.0.100 - version: 0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) + specifier: 0.0.113 + version: 0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -1084,8 +1084,8 @@ importers: packages/mcp-observability: dependencies: '@modelcontextprotocol/sdk': - specifier: 1.13.3 - version: 1.13.3 + specifier: 1.17.2 + version: 1.17.2 wrangler: specifier: 4.10.0 version: 4.10.0(@cloudflare/workers-types@4.20250416.0) @@ -1233,6 +1233,10 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/runtime-corejs3@7.28.2': + resolution: {integrity: sha512-FVFaVs2/dZgD3Y9ZD+AKNKjyGKzwu0C54laAXWUXgLcVXcCX6YZ6GhK2cp7FogSN2OA0Fu+QT8dP3FUdo9ShSQ==} + engines: {node: '>=6.9.0'} + '@babel/runtime@7.26.10': resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} @@ -1852,8 +1856,8 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@modelcontextprotocol/sdk@1.13.3': - resolution: {integrity: sha512-bGwA78F/U5G2jrnsdRkPY3IwIwZeWUEfb5o764b79lb0rJmMT76TLwKhdNZOWakOQtedYefwIR4emisEMvInKA==} + '@modelcontextprotocol/sdk@1.17.2': + resolution: {integrity: sha512-EFLRNXR/ixpXQWu6/3Cu30ndDFIFNaqUXcTqsGebujeMan9FzhAaFFswLRiFj61rgygDRr8WO1N+UijjgRxX9g==} engines: {node: '>=18'} '@n8n/json-schema-to-zod@1.1.0': @@ -2208,8 +2212,8 @@ packages: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} - agents@0.0.100: - resolution: {integrity: sha512-xI/CJmMlK8Y3aEEXLu95kGC4wZXYTBTCS/XlguEjytSnAnCmNJtJQCnmmFi7oTAGXj753DslqQHjTSftfT/01g==} + agents@0.0.113: + resolution: {integrity: sha512-PnUjSwFGYMcOWTcewo4NJZqN8gU2u1LFD17OhOzc83LZHa01P2o/qjLOVT338jWPzkPalXTj0RO19s0Lgyl6Ig==} peerDependencies: react: '*' @@ -2236,8 +2240,8 @@ packages: react: optional: true - ai@4.3.16: - resolution: {integrity: sha512-KUDwlThJ5tr2Vw0A1ZkbDKNME3wzWhuVfAOwIvFUzl1TPVDFAXDFTXio3p+jaKneB+dKNCvFFlolYmmgHttG1g==} + ai@4.3.19: + resolution: {integrity: sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -2472,6 +2476,9 @@ packages: resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} + core-js-pure@3.45.0: + resolution: {integrity: sha512-OtwjqcDpY2X/eIIg1ol/n0y/X8A9foliaNt1dSK0gV3J2/zw+89FcNG3mPK+N8YWts4ZFUPxnrAzsxs/lf8yDA==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -3330,6 +3337,9 @@ packages: joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + js-base64@3.7.8: + resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3575,6 +3585,9 @@ packages: engines: {node: '>=16'} hasBin: true + mimetext@3.0.27: + resolution: {integrity: sha512-mUhWAsZD1N/K6dbN4+a5Yq78OPnYQw1ubOSMasBntsLQ2S7KVNlvDEA8dwpr4a7PszWMzeslKahAprtwYMgaBA==} + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -3788,8 +3801,8 @@ packages: peerDependencies: '@cloudflare/workers-types': ^4.20240729.0 - partysocket@1.1.4: - resolution: {integrity: sha512-jXP7PFj2h5/v4UjDS8P7MZy6NJUQ7sspiFyxL4uc/+oKOL+KdtXzHnTV8INPGxBrLTXgalyG3kd12Qm7WrYc3A==} + partysocket@1.1.5: + resolution: {integrity: sha512-8uw9foq9bij4sKLCtTSHvyqMrMTQ5FJjrHc7BjoM2s95Vu7xYCN63ABpI7OZHC7ZMP5xaom/A+SsoFPXmTV6ZQ==} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -4779,6 +4792,10 @@ snapshots: dependencies: '@babel/types': 7.26.10 + '@babel/runtime-corejs3@7.28.2': + dependencies: + core-js-pure: 3.45.0 + '@babel/runtime@7.26.10': dependencies: regenerator-runtime: 0.14.1 @@ -5386,7 +5403,7 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@modelcontextprotocol/sdk@1.13.3': + '@modelcontextprotocol/sdk@1.17.2': dependencies: ajv: 6.12.6 content-type: 1.0.5 @@ -5756,14 +5773,15 @@ snapshots: dependencies: humanize-ms: 1.2.1 - agents@0.0.100(@cloudflare/workers-types@4.20250416.0)(react@17.0.2): + agents@0.0.113(@cloudflare/workers-types@4.20250416.0)(react@17.0.2): dependencies: - '@modelcontextprotocol/sdk': 1.13.3 - ai: 4.3.16(react@17.0.2)(zod@3.25.67) + '@modelcontextprotocol/sdk': 1.17.2 + ai: 4.3.19(react@17.0.2)(zod@3.25.67) cron-schedule: 5.0.4 + mimetext: 3.0.27 nanoid: 5.1.5 partyserver: 0.0.72(@cloudflare/workers-types@4.20250416.0) - partysocket: 1.1.4 + partysocket: 1.1.5 react: 17.0.2 zod: 3.25.67 transitivePeerDependencies: @@ -5803,7 +5821,7 @@ snapshots: optionalDependencies: react: 17.0.2 - ai@4.3.16(react@17.0.2)(zod@3.25.67): + ai@4.3.19(react@17.0.2)(zod@3.25.67): dependencies: '@ai-sdk/provider': 1.1.3 '@ai-sdk/provider-utils': 2.2.8(zod@3.25.67) @@ -6076,6 +6094,8 @@ snapshots: cookie@0.7.1: {} + core-js-pure@3.45.0: {} + core-util-is@1.0.3: {} cors@2.8.5: @@ -7032,6 +7052,8 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 + js-base64@3.7.8: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -7221,6 +7243,13 @@ snapshots: mime@4.0.6: {} + mimetext@3.0.27: + dependencies: + '@babel/runtime': 7.26.10 + '@babel/runtime-corejs3': 7.28.2 + js-base64: 3.7.8 + mime-types: 2.1.35 + mimic-fn@2.1.0: {} mimic-function@5.0.1: {} @@ -7450,7 +7479,7 @@ snapshots: '@cloudflare/workers-types': 4.20250416.0 nanoid: 5.1.5 - partysocket@1.1.4: + partysocket@1.1.5: dependencies: event-target-polyfill: 0.0.4