
Npm Run Mcp Server
io.github.fstubnerPublished by GitHub account fstubnerv0.2.13Updated Oct 24, 2026
An MCP server that exposes package.json scripts as tools for agents.
Overview
A local MCP server that turns a project's package.json scripts into tools, letting an assistant build, test, lint and run the project.
- What you can do
- Detect the project's package.json and expose its scripts as tools, naming them after the script names (for example test:unit becomes test_unit). Show each tool's underlying command so the assistant knows what it runs. Execute a chosen script in the project root using the detected package manager (npm, pnpm, yarn or bun). Restrict which scripts are exposed and give individual scripts custom names, descriptions and typed arguments via a config file.
- When to use it
- Useful when you want an assistant to run your existing build, test, lint or start scripts in a JavaScript or TypeScript project without copying commands by hand. Best for local development work where the assistant should trigger project tasks directly.
- Requirements
- Runs as a local stdio process, typically launched with npx, so Node.js and npm are needed. A package.json must exist in the workspace, or a working directory must be set with the --cwd flag. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open Npm Run Mcp Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
npm-run-mcp-server
Give your AI Agent the power to build, test, and deploy your project using your existing package.json scripts.
[Test] [Build & Publish] [NPM Version] [MCP Registry] [Install in Cursor] [Install in VS Code] [License: MIT]
[npm-run-mcp-server MCP server]npm-run-mcp-server is a Model Context Protocol (MCP) server that automatically bridges your project's npm scripts to your AI assistant.
- 🔍 Auto-detects your project's
package.json(no hardcoded paths). - 📦 Works with everything: npm, pnpm, yarn, and bun.
- 🔒 Safe & Configurable: Whitelist specific scripts to prevent accidental execution.
- ⚡ Zero-config: Works out of the box, but scales with detailed config.
⚡ Quick Start
Connect your agent to your scripts in seconds. No global installation required—just let npx handle it.
Claude Desktop
Add this to your claude_desktop_config.json:
Cursor
- Go to Settings > Features > MCP Servers.
- Click + Add New MCP Server.
- Enter the details:
- Type:
command - Name:
npm-scripts - Command:
npx - Args:
-y npm-run-mcp-server
- Type:
VS Code (GitHub Copilot)
Add this to your workspace .vscode/settings.json:
🛠️ Configuration
While npm-run-mcp-server works instantly, you might not want your AI to have access to every script (like eject or publish). You can control this by creating an npm-run-mcp.config.json file in your project root.
Example Config
Create npm-run-mcp.config.json next to your package.json:
Configuration Options
Per-Script Options
Inside the scripts object, you can map a script name to:
toolName: Override the tool name seen by the AI (e.g., renametest:unittorun_unit_tests).description: Provide a custom description to help the AI understand when to use this script.inputSchema: Define strictly typed arguments that the AI can pass (mapped to CLI flags).
📖 How It Works
- Auto-Detection: When the server starts, it looks for a
package.jsonin your current workspace. It supports standard formatting as well asnpm,pnpm,yarn, andbunconventions. - Tool Creation: It converts your scripts into MCP Tools.
- Scripts like
test:unitbecome tools liketest_unit. - The tool description includes the actual command (e.g.,
vitest run) so the AI knows what it's running.
- Scripts like
- Execution: When the AI calls a tool, the server executes the script in your project's root directory using the detected package manager.
🔧 Advanced / CLI Usage
You can run the server manually for debugging or if you need to pass specific flags.
CLI Flags
--cwd <path>: Manually set the working directory.--pm <npm|pnpm|yarn|bun>: Force a specific package manager.--config <path>: Path to a specific JSON config file.--verbose: Print debug logs to stderr.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repo.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
License
MIT © Felix Stubner
Source: README.md at commit 8268fac
Tools
0Version history
1- v0.2.13LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts