vale_status
Verify Vale installation status and accessibility to ensure the prose linting tool is properly configured for checking text files for style and grammar issues.
Instructions
Check if Vale (vale.sh) is installed and accessible. Use this first if other Vale tools fail. Returns installation status, version if available, and installation instructions for the current platform.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:258-281 (handler)The main handler for the 'vale_status' tool within the CallToolRequestSchema handler. It invokes checkValeInstalled() to verify installation and returns a formatted response with status, version, and platform-specific installation instructions if needed.case "vale_status": { debug("Checking Vale installation status..."); const valeCheck = await checkValeInstalled(); debug(`Vale installed: ${valeCheck.installed}, version: ${valeCheck.version}`); return { content: [ { type: "text", text: JSON.stringify({ installed: valeCheck.installed, version: valeCheck.version, platform: process.platform, installation_instructions: valeCheck.installed ? null : getInstallationInstructions(), message: valeCheck.installed ? `Vale is installed and ready to use (${valeCheck.version})` : "Vale is not installed. Please install it to use Vale linting tools.", }, null, 2), }, ], }; }
- src/index.ts:207-210 (schema)Input schema for the 'vale_status' tool: an empty object since no parameters are required.inputSchema: { type: "object", properties: {}, },
- src/index.ts:203-211 (registration)Registration of the 'vale_status' tool in the TOOLS array, which is returned by the ListToolsRequestHandler. Includes name, description, and schema.{ name: "vale_status", description: "Check if Vale (vale.sh) is installed and accessible. Use this first if other Vale tools fail. Returns installation status, version if available, and installation instructions for the current platform.", inputSchema: { type: "object", properties: {}, }, },
- src/vale-runner.ts:29-67 (helper)Helper function checkValeInstalled() that performs the actual check by running 'vale --version' command asynchronously with caching to avoid repeated checks.export async function checkValeInstalled(): Promise<{ installed: boolean; version?: string; error?: string; }> { // Return cached result if already checked if (valeInstallCache.checked) { return { installed: valeInstallCache.installed, version: valeInstallCache.version, error: valeInstallCache.error, }; } // Perform the check try { const { stdout } = await execAsync("vale --version"); valeInstallCache = { checked: true, installed: true, version: stdout.trim(), }; } catch (error) { valeInstallCache = { checked: true, installed: false, error: error instanceof Error ? error.message : "Vale not found in PATH. To install Vale, go to https://vale.sh/docs/vale-cli/installation/", }; } return { installed: valeInstallCache.installed, version: valeInstallCache.version, error: valeInstallCache.error, }; }