From 4e15dde151c827acb8d1621bb56bdf2959b8b7fb Mon Sep 17 00:00:00 2001 From: keithagroves Date: Sat, 23 Aug 2025 12:35:18 -0700 Subject: [PATCH 1/2] feat: add support for Cursor client in MCP commands and update related messages refactor: clean up imports in DaggerExecutionProvider and EnactCore --- packages/cli/src/commands/mcp.ts | 18 +++++++++++++----- .../shared/src/core/DaggerExecutionProvider.ts | 3 +-- packages/shared/src/core/EnactCore.ts | 2 -- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/cli/src/commands/mcp.ts b/packages/cli/src/commands/mcp.ts index a6d2f28..2c78e0f 100644 --- a/packages/cli/src/commands/mcp.ts +++ b/packages/cli/src/commands/mcp.ts @@ -76,6 +76,14 @@ const MCP_CLIENTS = { linux: join(homedir(), ".gemini/settings.json"), }, }, + cursor: { + name: "Cursor", + configPaths: { + darwin: join(homedir(), ".cursor/mcp.json"), + win32: join(homedir(), ".cursor/mcp.json"), + linux: join(homedir(), ".cursor/mcp.json"), + }, + }, }; // MCP server configurations @@ -114,7 +122,7 @@ Subcommands: Options: --help, -h Show this help message - --client Target specific client (claude-desktop, claude-code, vscode, goose, gemini) + --client Target specific client (claude-desktop, claude-code, vscode, goose, gemini, cursor) --server Choose server type (main, dev, both) - default: main `); return; @@ -148,7 +156,7 @@ async function handleInstallCommand(options: McpOptions): Promise { if (detectedClients.length === 0) { note( pc.yellow( - "No MCP clients detected on this system.\n\nSupported clients:\n• Claude Desktop\n• Claude Code\n• VS Code MCP\n• Goose AI\n• Gemini", + "No MCP clients detected on this system.\n\nSupported clients:\n• Claude Desktop\n• Claude Code\n• VS Code MCP\n• Goose AI\n• Gemini\n• Cursor", ), "No clients found", ); @@ -471,8 +479,8 @@ export async function installMcpServer(client: { } // Handle different client configuration formats - if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini") { - // Claude Desktop/Code/Gemini format + if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini" || client.id === "cursor") { + // Claude Desktop/Code/Gemini/Cursor format if (!config.mcpServers) { config.mcpServers = {}; } @@ -529,7 +537,7 @@ export async function checkMcpServerInstalled(client: { const configContent = await readFile(client.configPath, "utf-8"); const config = JSON.parse(configContent); - if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini") { + if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini" || client.id === "cursor") { const servers = config.mcpServers || {}; if (serverType === "main") { return Boolean(servers.enact); diff --git a/packages/shared/src/core/DaggerExecutionProvider.ts b/packages/shared/src/core/DaggerExecutionProvider.ts index d1c43b9..8955ba6 100644 --- a/packages/shared/src/core/DaggerExecutionProvider.ts +++ b/packages/shared/src/core/DaggerExecutionProvider.ts @@ -11,8 +11,7 @@ import { parseTimeout } from "../utils/timeout.js"; import fs from "fs/promises"; import path from "path"; import crypto from "crypto"; -import { spawn, spawnSync } from "child_process"; -import { exit } from "process"; +import { spawnSync } from "child_process"; export interface DaggerExecutionOptions { baseImage?: string; // Default container image diff --git a/packages/shared/src/core/EnactCore.ts b/packages/shared/src/core/EnactCore.ts index 8de7769..1a84a07 100644 --- a/packages/shared/src/core/EnactCore.ts +++ b/packages/shared/src/core/EnactCore.ts @@ -15,8 +15,6 @@ import { DaggerExecutionProvider } from "./DaggerExecutionProvider.js"; import { resolveToolEnvironmentVariables } from "../utils/env-loader.js"; import logger from "../exec/logger.js"; import yaml from "yaml"; -import fs from "fs"; -import path from "path"; import { CryptoUtils, KeyManager, SecurityConfigManager, SigningService } from "@enactprotocol/security"; import { getFrontendUrl, getApiUrl } from "../utils/config"; From 0b5327dac7fefb45fe03e07e8e8454bf786dfa7e Mon Sep 17 00:00:00 2001 From: keithagroves Date: Sat, 23 Aug 2025 12:35:22 -0700 Subject: [PATCH 2/2] chore: bump version to 1.2.7 - Updated all package versions to 1.2.7 - Synchronized workspace dependencies --- package.json | 2 +- packages/cli/package.json | 2 +- packages/mcp-dev-server/package.json | 2 +- packages/mcp-server/package.json | 2 +- packages/shared/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d50348d..c1e18b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@enactprotocol/monorepo", - "version": "1.2.6", + "version": "1.2.7", "description": "Enact Protocol - AI tool ecosystem with CLI and MCP server", "private": true, "workspaces": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index b1e697d..aa0c9f1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@enactprotocol/cli", - "version": "1.2.6", + "version": "1.2.7", "description": "Official CLI for the Enact Protocol - package, secure, and discover AI tools", "type": "module", "main": "./dist/index.js", diff --git a/packages/mcp-dev-server/package.json b/packages/mcp-dev-server/package.json index cd5147e..a480225 100644 --- a/packages/mcp-dev-server/package.json +++ b/packages/mcp-dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@enactprotocol/mcp-dev-server", - "version": "1.2.6", + "version": "1.2.7", "description": "MCP server for Enact tool development workflow - create, test, validate, sign, and publish tools", "main": "dist/index.js", "bin": { diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 6e5e171..c5c0533 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@enactprotocol/mcp-server", - "version": "1.2.6", + "version": "1.2.7", "description": "MCP server for the Enact Protocol - enables AI tools integration via Model Context Protocol", "type": "module", "main": "./dist/index.js", diff --git a/packages/shared/package.json b/packages/shared/package.json index 5026cae..f3821f3 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@enactprotocol/shared", - "version": "1.2.6", + "version": "1.2.7", "description": "Shared utilities and core functionality for Enact Protocol", "type": "module", "main": "./dist/index.js",