From 9b81752e24d7fa38c1d69add35be02287234dce7 Mon Sep 17 00:00:00 2001 From: Lincoln <778157949@qq.com> Date: Wed, 14 May 2025 12:32:38 +0000 Subject: [PATCH 1/6] feat: update rush mcp server readme --- apps/rush-mcp-server/README.md | 32 +++++++++++++++++++++++++++++++ apps/rush-mcp-server/package.json | 5 +++++ 2 files changed, 37 insertions(+) diff --git a/apps/rush-mcp-server/README.md b/apps/rush-mcp-server/README.md index deb4a2c82a7..fc0f6f81523 100644 --- a/apps/rush-mcp-server/README.md +++ b/apps/rush-mcp-server/README.md @@ -1,5 +1,37 @@ # @rushstack/mcp-server +With the rapid advancement of LLMs, AI applications like Trae, Cursor, Cline, Windsurf, and others have been thriving. However, due to the large scale of monorepos and the context limitations of LLMs, it’s difficult for these models to fully understand your monorepo. This is where @rushstack/mcp-server comes in — by providing a suite of MCP tools, it enables LLMs to better comprehend your monorepo and assist you more effectively with daily development tasks in a Rush-based monorepo environment. + ## Usage +1. To get the best results, copy the [.cursor](https://github.com/microsoft/rushstack/tree/main/.cursor) directory into the root of your project. + +2. Configure `@rushstack/mcp-server` in your AI application + +``` +{ + "mcpServers": { + "rush": { + "command": "npx", + "args": ["-y", "@rushstack/mcp-server", "your-project-path"] + } + } +} +``` + +3. Congratulations 🎉 You’ve completed the setup — Rush MCP is now ready to use! + +## Available Tools + +- `rush_docs`: Retrieves relevant documentation sections based on your queries +- `rush_workspace_details`: Retrieve detailed workspace information +- `rush_project_details`: Get detailed information about a specific project +- `rush_command_validator`: Validate whether commands are compliant and follow best practices +- `rush_migrate_project`: Migrate a project from one directory to another or into a different subspace +- `rush_pnpm_lock_file_conflict_resolver`: Resolve pnpm-lock.yaml conflicts + ## Links + +- [CHANGELOG.md]( + https://github.com/microsoft/rushstack/blob/main/apps/rush-mcp-server/CHANGELOG.md) - Find + out what's new in the latest version diff --git a/apps/rush-mcp-server/package.json b/apps/rush-mcp-server/package.json index 1d7f9e60ebc..601c78ab0cd 100644 --- a/apps/rush-mcp-server/package.json +++ b/apps/rush-mcp-server/package.json @@ -2,6 +2,11 @@ "name": "@rushstack/mcp-server", "version": "0.1.7", "description": "A Model Context Protocol server implementation for Rush", + "keywords": [ + "rush", + "modelcontextprotocol", + "mcp" + ], "repository": { "type": "git", "url": "https://github.com/microsoft/rushstack.git", From 3a208433532cf9898d2247c6ece47fefb8d42d14 Mon Sep 17 00:00:00 2001 From: Lincoln <778157949@qq.com> Date: Wed, 14 May 2025 12:35:46 +0000 Subject: [PATCH 2/6] rush change --- ...update-rush-mcp-server-readme_2025-05-14-12-35.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json diff --git a/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json b/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json new file mode 100644 index 00000000000..8ae8db8c35a --- /dev/null +++ b/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/mcp-server", + "comment": "Update the rush mcp server README.md document", + "type": "none" + } + ], + "packageName": "@rushstack/mcp-server" +} \ No newline at end of file From ced9e992c806e641fccd59c78064363407cf65b8 Mon Sep 17 00:00:00 2001 From: Lincoln <778157949@qq.com> Date: Wed, 14 May 2025 12:39:59 +0000 Subject: [PATCH 3/6] update keywords --- apps/rush-mcp-server/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/rush-mcp-server/package.json b/apps/rush-mcp-server/package.json index 601c78ab0cd..ea73a710f53 100644 --- a/apps/rush-mcp-server/package.json +++ b/apps/rush-mcp-server/package.json @@ -5,7 +5,9 @@ "keywords": [ "rush", "modelcontextprotocol", - "mcp" + "mcp", + "monorepo", + "server" ], "repository": { "type": "git", From 4a3b8bac7866de51b5f2f863ce1b781f469c5cae Mon Sep 17 00:00:00 2001 From: Lincoln <778157949@qq.com> Date: Wed, 14 May 2025 15:33:15 +0000 Subject: [PATCH 4/6] modify rush rules --- .cursor/rules/rush.mdc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cursor/rules/rush.mdc b/.cursor/rules/rush.mdc index fd58e89c740..5ab342e9133 100644 --- a/.cursor/rules/rush.mdc +++ b/.cursor/rules/rush.mdc @@ -1,7 +1,7 @@ --- -description: A comprehensive guide for managing dependencies in Rush monorepo +description: globs: -alwaysApply: false +alwaysApply: true --- You are a Rush monorepo development and management expert. Your role is to assist with Rush-related tasks while following these key principles and best practices: From ca1dc5bf9194c901f2e0e6cbc2b2d4c937e62a81 Mon Sep 17 00:00:00 2001 From: Lincoln <778157949@qq.com> Date: Fri, 16 May 2025 03:40:38 +0000 Subject: [PATCH 5/6] fix some bugs for rush mcp server --- apps/rush-mcp-server/.npmignore | 2 ++ apps/rush-mcp-server/{ => src}/rush-doc-fragment.mock.json | 0 apps/rush-mcp-server/src/start.ts | 2 +- apps/rush-mcp-server/src/utilities/log.ts | 7 +++---- 4 files changed, 6 insertions(+), 5 deletions(-) rename apps/rush-mcp-server/{ => src}/rush-doc-fragment.mock.json (100%) diff --git a/apps/rush-mcp-server/.npmignore b/apps/rush-mcp-server/.npmignore index bc349f9a4be..39967972844 100644 --- a/apps/rush-mcp-server/.npmignore +++ b/apps/rush-mcp-server/.npmignore @@ -21,6 +21,8 @@ /lib-*/**/test/ *.test.js +!*.mock.json + # NOTE: These don't need to be specified, because NPM includes them automatically. # # package.json diff --git a/apps/rush-mcp-server/rush-doc-fragment.mock.json b/apps/rush-mcp-server/src/rush-doc-fragment.mock.json similarity index 100% rename from apps/rush-mcp-server/rush-doc-fragment.mock.json rename to apps/rush-mcp-server/src/rush-doc-fragment.mock.json diff --git a/apps/rush-mcp-server/src/start.ts b/apps/rush-mcp-server/src/start.ts index 93ab38d285f..f131357c2b5 100644 --- a/apps/rush-mcp-server/src/start.ts +++ b/apps/rush-mcp-server/src/start.ts @@ -20,6 +20,6 @@ const main = async (): Promise => { }; main().catch((error) => { - log('Fatal error running server:', error); + log('Fatal error running server:', error instanceof Error ? error.message : error); process.exit(1); }); diff --git a/apps/rush-mcp-server/src/utilities/log.ts b/apps/rush-mcp-server/src/utilities/log.ts index 26bfa27b80d..c0595baec77 100644 --- a/apps/rush-mcp-server/src/utilities/log.ts +++ b/apps/rush-mcp-server/src/utilities/log.ts @@ -1,11 +1,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Terminal, ConsoleTerminalProvider } from '@rushstack/terminal'; +import { Terminal, ConsoleTerminalProvider, type TerminalWriteParameters } from '@rushstack/terminal'; export const terminal: Terminal = new Terminal(new ConsoleTerminalProvider({ verboseEnabled: true })); -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function log(message?: any, ...optionalParams: any[]): void { - terminal.writeErrorLine(message, ...optionalParams); +export function log(...messageParts: TerminalWriteParameters): void { + terminal.writeErrorLine(...messageParts); } From 69704e4a20e3c760f714cfce3f09a7c1338cc995 Mon Sep 17 00:00:00 2001 From: Lincoln <778157949@qq.com> Date: Thu, 29 May 2025 09:43:55 +0800 Subject: [PATCH 6/6] Update feat-update-rush-mcp-server-readme_2025-05-14-12-35.json --- .../feat-update-rush-mcp-server-readme_2025-05-14-12-35.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json b/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json index 8ae8db8c35a..3cd73776d03 100644 --- a/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json +++ b/common/changes/@rushstack/mcp-server/feat-update-rush-mcp-server-readme_2025-05-14-12-35.json @@ -3,8 +3,8 @@ { "packageName": "@rushstack/mcp-server", "comment": "Update the rush mcp server README.md document", - "type": "none" + "type": "patch" } ], "packageName": "@rushstack/mcp-server" -} \ No newline at end of file +}