feat: implement Obsidian MCP Bundle MVP (Phase 1-3)
- Complete project setup with TypeScript, Jest, MCPB manifest - Implement foundational infrastructure (CLI executor, logger, error handler) - Add 9 file operation tools for User Story 1 - Full MCP protocol compliance with stdio transport - Input validation and sanitization for security - Comprehensive error handling with actionable messages - Constitutional compliance: all 6 principles satisfied MVP includes: - obsidian_create_note, read, append, prepend, delete, move, rename, open, file_info - Zod validation schemas for all parameters - 30s timeout configuration with per-command overrides - Stderr-only logging with sanitized output - Graceful shutdown handling Build: ✅ 0 errors, 0 vulnerabilities Tasks: 48/167 complete (MVP milestone) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
45
manifest.json
Normal file
45
manifest.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"version": "0.3",
|
||||
"name": "obsidian-mcp",
|
||||
"display_name": "Obsidian CLI Bundle",
|
||||
"description": "MCP Bundle for Obsidian CLI - Enable AI assistants to manage Obsidian vaults through conversational interface",
|
||||
"author": "Obsidian MCP Contributors",
|
||||
"homepage": "https://github.com/obsidian-mcp/obsidian-mcp-bundle",
|
||||
"license": "MIT",
|
||||
"icon": "assets/icon.png",
|
||||
"server": {
|
||||
"type": "node",
|
||||
"entry_point": "dist/index.js"
|
||||
},
|
||||
"mcp_config": {
|
||||
"command": "node",
|
||||
"args": [
|
||||
"${__dirname}/dist/index.js"
|
||||
],
|
||||
"env": {
|
||||
"OBSIDIAN_VAULT": "${user_config.vault_name}",
|
||||
"MCP_LOG_LEVEL": "info"
|
||||
}
|
||||
},
|
||||
"user_config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"vault_name": {
|
||||
"type": "string",
|
||||
"description": "Name of the Obsidian vault to manage",
|
||||
"required": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"compatibility": {
|
||||
"platforms": ["darwin", "win32", "linux"],
|
||||
"node": ">=18.0.0",
|
||||
"obsidian_cli": ">=1.0.0"
|
||||
},
|
||||
"capabilities": {
|
||||
"tools": true,
|
||||
"resources": false,
|
||||
"prompts": false
|
||||
},
|
||||
"tools": []
|
||||
}
|
||||
Reference in New Issue
Block a user