MCP server for Pine Script v6 validation and reference lookup, grounded in the validation engine from jpantsjoha/pinescript-vscode-extension
Two tools with solid naming (verb_noun pattern) and comprehensive descriptions (180-250 chars each). Input schemas present with proper types and descriptions. However, output schemas are not documented in the visible code, only partial return structure shown in the truncated source. Error handling is present but generic. No parameter constraints (enums) despite opportunities (e.g., severity levels). Tool descriptions are good but lack explicit 'when to use' guidance and dependency hints. Missing tool annotations (readOnlyHint, idempotentHint). Both tools are READ_ONLY and idempotent, but this is not declared in the schema.
Return the real signature of a Pine Script v6 built-in — required and optional parameters, and every overload. Use this instead of recalling a signature: wrong parameter names are the most common Pine compile error, and several drawing functions have two valid call forms.
Validate Pine Script v6 source and return structured diagnostics with line numbers. Runs the same two diagnostic paths as the VS Code extension, so the result matches what the user sees in their editor. Call this before telling anyone a script works.
Output schemas not documented. validate_pine_script returns {valid, error_count, warning_count, diagnostics[]} but the full structure is not visible in source. LLMs cannot plan downstream operations without knowing return field types and structure.
No tool annotations (readOnlyHint, idempotentHint) despite both tools being read-only and idempotent. This metadata helps agents reason about retry safety and side effects.
lookup_pine_reference description lacks 'when to use' guidance. It should explicitly state: 'Call this BEFORE writing Pine code to verify parameter names and overloads, not after compilation fails.' This guides agent selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
validate_pine_script accepts both 'code' and 'file_path' but does not document mutual exclusivity or precedence. Description should state: 'Provide either code OR file_path (not both); code takes precedence if both supplied.'
Error messages are generic ('Provide either code or file_path'). Should include recovery guidance: 'Provide either code or file_path. Example: {"code": "indicator(...)"}' or 'Example: {"file_path": "/path/to/script.pine"}'