MCP functionality for custom user scripts written in JS
This server has moderate structural issues that limit its production readiness. Tool definitions are present with names and descriptions, but parameter schemas are incomplete or missing validation details. The server provides 6 tools for Obsidian macro execution and vector search, but lacks consistency in schema documentation, parameter validation constraints, and error handling guidance. Most tools fall into the 45-55 range; none reach the 70+ threshold for confident production recommendation.
Execute a macro script with provided parameters
Get information about a macro including its parameters and documentation
List all available macro scripts in the tools folder
Read a macro script file from the tools folder
Manually trigger synchronization of vault files to the vector database
Search the vector database for files matching a query
execute_macro params lacks validation constraints. 'params' is typed as object with no schema, format, or valid value guidance. LLMs cannot know what fields the macro accepts or what types each field should be.
Missing parameter descriptions for 'limit' in vector_search. The rubric requires every parameter to have a description explaining what it controls and valid ranges. Numeric limits should state min/max (e.g., '1-100').
No output schemas documented. The rubric mandates that tools returning structured data must document the response schema so LLMs can plan downstream calls and extract data. All 6 tools lack return type documentation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Error handling is not visible in tool definitions. No recovery guidance (e.g., 'If macro not found, call list_macros first'). No indication of which errors are retryable vs user-fixable.
Tool descriptions are generic and lack context for selection. E.g., 'Execute a macro script with provided parameters' does not explain WHEN to use this vs get_macro_info, what happens to the vault, or what side effects to expect. Descriptions should state: WHAT it does, WHEN to use it, and any prerequisites.
sync_vector_index has a WRITE risk but no confirmation or dry-run capability. The rubric requires irreversible operations to support a dry-run or confirmation step to prevent catastrophic errors by agents.
Parameter 'macroName' in read_macro, execute_macro, and get_macro_info lacks validation details. Description says '(with or without .js extension)' but provides no guidance on naming constraints, length limits, or allowed characters. LLMs cannot validate input without formal constraints.