dart-run
Execute Dart scripts with specified arguments and working directory through the Dart MCP Server for AI-assisted development workflows.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | Path to the Dart script to run | |
| args | No | Arguments to pass to the script | |
| workingDir | No | Working directory for the command |
Implementation Reference
- src/tools/run.ts:11-30 (handler)The main handler function for the 'dart-run' tool. It runs the specified Dart script using 'dart run', handles paths, and returns stdout/stderr.export async function run({ script, args = [], workingDir }: z.infer<typeof runSchema>) { // Convert relative script path to absolute path const absoluteScript = toAbsolutePath(script, workingDir); // If workingDir is provided, ensure it's absolute const absoluteWorkingDir = workingDir ? toAbsolutePath(workingDir) : workingDir; const { stdout, stderr } = await executeDartCommand('run', [absoluteScript, ...args], absoluteWorkingDir); return { content: [ { type: "text" as const, text: stdout || stderr } ], isError: !!stderr }; }
- src/tools/run.ts:5-9 (schema)Zod input schema for the 'dart-run' tool defining script path, optional arguments, and working directory.export const runSchema = z.object({ script: z.string().describe('Path to the Dart script to run'), args: z.array(z.string()).optional().describe('Arguments to pass to the script'), workingDir: z.string().optional().describe('Working directory for the command') });
- src/index.ts:41-41 (registration)Registers the 'dart-run' tool with the MCP server using the runSchema and run handler.server.tool('dart-run', runSchema.shape, run);
- src/index.ts:23-23 (registration)Imports the run handler and runSchema from the tools/run module.import { run, runSchema } from './tools/run.js';