Compare commits
10 Commits
ce106ace8a
...
v5.4.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 59cc67f857 | |||
| 6613ef1d67 | |||
| 6619d0a2fb | |||
| dc08ce1439 | |||
| 2173f3389a | |||
| fab1345bcb | |||
| 36e6ac2dd0 | |||
| 3e0e779803 | |||
| 74198743ab | |||
| d57bff184e |
24
.mcp.json
24
.mcp.json
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"gitea": {
|
|
||||||
"command": "/home/lmiranda/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/gitea/run.sh",
|
|
||||||
"args": []
|
|
||||||
},
|
|
||||||
"netbox": {
|
|
||||||
"command": "/home/lmiranda/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/netbox/run.sh",
|
|
||||||
"args": []
|
|
||||||
},
|
|
||||||
"viz-platform": {
|
|
||||||
"command": "/home/lmiranda/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/viz-platform/run.sh",
|
|
||||||
"args": []
|
|
||||||
},
|
|
||||||
"data-platform": {
|
|
||||||
"command": "/home/lmiranda/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/data-platform/run.sh",
|
|
||||||
"args": []
|
|
||||||
},
|
|
||||||
"contract-validator": {
|
|
||||||
"command": "/home/lmiranda/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/contract-validator/run.sh",
|
|
||||||
"args": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -108,7 +108,7 @@ leo-claude-mktplace/
|
|||||||
├── plugins/
|
├── plugins/
|
||||||
│ ├── projman/ # Sprint management
|
│ ├── projman/ # Sprint management
|
||||||
│ │ ├── .claude-plugin/plugin.json
|
│ │ ├── .claude-plugin/plugin.json
|
||||||
│ │ # .mcp.json removed - now at marketplace root
|
│ │ ├── .mcp.json
|
||||||
│ │ ├── mcp-servers/gitea -> ../../../mcp-servers/gitea # SYMLINK
|
│ │ ├── mcp-servers/gitea -> ../../../mcp-servers/gitea # SYMLINK
|
||||||
│ │ ├── commands/ # 14 commands (incl. setup, debug, suggest-version)
|
│ │ ├── commands/ # 14 commands (incl. setup, debug, suggest-version)
|
||||||
│ │ ├── hooks/ # SessionStart: mismatch detection + sprint suggestions
|
│ │ ├── hooks/ # SessionStart: mismatch detection + sprint suggestions
|
||||||
@@ -120,7 +120,7 @@ leo-claude-mktplace/
|
|||||||
│ │ └── agents/
|
│ │ └── agents/
|
||||||
│ ├── pr-review/ # Multi-agent PR review
|
│ ├── pr-review/ # Multi-agent PR review
|
||||||
│ │ ├── .claude-plugin/plugin.json
|
│ │ ├── .claude-plugin/plugin.json
|
||||||
│ │ # .mcp.json removed - now at marketplace root
|
│ │ ├── .mcp.json
|
||||||
│ │ ├── mcp-servers/gitea -> ../../../mcp-servers/gitea # SYMLINK
|
│ │ ├── mcp-servers/gitea -> ../../../mcp-servers/gitea # SYMLINK
|
||||||
│ │ ├── commands/ # 6 commands (incl. setup)
|
│ │ ├── commands/ # 6 commands (incl. setup)
|
||||||
│ │ ├── hooks/ # SessionStart mismatch detection
|
│ │ ├── hooks/ # SessionStart mismatch detection
|
||||||
@@ -131,14 +131,14 @@ leo-claude-mktplace/
|
|||||||
│ │ └── agents/
|
│ │ └── agents/
|
||||||
│ ├── data-platform/ # Data engineering (NEW v4.0.0)
|
│ ├── data-platform/ # Data engineering (NEW v4.0.0)
|
||||||
│ │ ├── .claude-plugin/plugin.json
|
│ │ ├── .claude-plugin/plugin.json
|
||||||
│ │ # .mcp.json removed - now at marketplace root
|
│ │ ├── .mcp.json
|
||||||
│ │ ├── mcp-servers/ # pandas, postgresql, dbt MCPs
|
│ │ ├── mcp-servers/ # pandas, postgresql, dbt MCPs
|
||||||
│ │ ├── commands/ # 7 commands
|
│ │ ├── commands/ # 7 commands
|
||||||
│ │ ├── hooks/ # SessionStart PostgreSQL check
|
│ │ ├── hooks/ # SessionStart PostgreSQL check
|
||||||
│ │ └── agents/ # 2 agents
|
│ │ └── agents/ # 2 agents
|
||||||
│ ├── viz-platform/ # Visualization (NEW v4.0.0)
|
│ ├── viz-platform/ # Visualization (NEW v4.0.0)
|
||||||
│ │ ├── .claude-plugin/plugin.json
|
│ │ ├── .claude-plugin/plugin.json
|
||||||
│ │ # .mcp.json removed - now at marketplace root
|
│ │ ├── .mcp.json
|
||||||
│ │ ├── mcp-servers/ # viz-platform MCP
|
│ │ ├── mcp-servers/ # viz-platform MCP
|
||||||
│ │ ├── commands/ # 7 commands
|
│ │ ├── commands/ # 7 commands
|
||||||
│ │ ├── hooks/ # SessionStart DMC check
|
│ │ ├── hooks/ # SessionStart DMC check
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"issue_number": {
|
"issue_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue number"
|
"description": "Issue number"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -189,7 +189,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"issue_number": {
|
"issue_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue number"
|
"description": "Issue number"
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
@@ -211,7 +211,7 @@ class GiteaMCPServer:
|
|||||||
"description": "New labels"
|
"description": "New labels"
|
||||||
},
|
},
|
||||||
"milestone": {
|
"milestone": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Milestone ID to assign"
|
"description": "Milestone ID to assign"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -229,7 +229,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"issue_number": {
|
"issue_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue number"
|
"description": "Issue number"
|
||||||
},
|
},
|
||||||
"comment": {
|
"comment": {
|
||||||
@@ -424,7 +424,7 @@ class GiteaMCPServer:
|
|||||||
"description": "Tags to filter by (optional)"
|
"description": "Tags to filter by (optional)"
|
||||||
},
|
},
|
||||||
"limit": {
|
"limit": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"default": 20,
|
"default": 20,
|
||||||
"description": "Maximum results"
|
"description": "Maximum results"
|
||||||
},
|
},
|
||||||
@@ -462,7 +462,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"milestone_id": {
|
"milestone_id": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Milestone ID"
|
"description": "Milestone ID"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -506,7 +506,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"milestone_id": {
|
"milestone_id": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Milestone ID"
|
"description": "Milestone ID"
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
@@ -541,7 +541,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"milestone_id": {
|
"milestone_id": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Milestone ID"
|
"description": "Milestone ID"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -560,7 +560,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"issue_number": {
|
"issue_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue number"
|
"description": "Issue number"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -578,11 +578,11 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"issue_number": {
|
"issue_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue that will depend on another"
|
"description": "Issue that will depend on another"
|
||||||
},
|
},
|
||||||
"depends_on": {
|
"depends_on": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue that blocks issue_number"
|
"description": "Issue that blocks issue_number"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -600,11 +600,11 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"issue_number": {
|
"issue_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue that depends on another"
|
"description": "Issue that depends on another"
|
||||||
},
|
},
|
||||||
"depends_on": {
|
"depends_on": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Issue being depended on"
|
"description": "Issue being depended on"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -782,7 +782,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"pr_number": {
|
"pr_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Pull request number"
|
"description": "Pull request number"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -800,7 +800,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"pr_number": {
|
"pr_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Pull request number"
|
"description": "Pull request number"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -818,7 +818,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"pr_number": {
|
"pr_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Pull request number"
|
"description": "Pull request number"
|
||||||
},
|
},
|
||||||
"repo": {
|
"repo": {
|
||||||
@@ -836,7 +836,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"pr_number": {
|
"pr_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Pull request number"
|
"description": "Pull request number"
|
||||||
},
|
},
|
||||||
"body": {
|
"body": {
|
||||||
@@ -855,7 +855,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"path": {"type": "string"},
|
"path": {"type": "string"},
|
||||||
"position": {"type": ["integer", "string"]},
|
"position": {"type": "integer"},
|
||||||
"body": {"type": "string"}
|
"body": {"type": "string"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -876,7 +876,7 @@ class GiteaMCPServer:
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"pr_number": {
|
"pr_number": {
|
||||||
"type": ["integer", "string"],
|
"type": "integer",
|
||||||
"description": "Pull request number"
|
"description": "Pull request number"
|
||||||
},
|
},
|
||||||
"body": {
|
"body": {
|
||||||
|
|||||||
8
plugins/cmdb-assistant/.mcp.json
Normal file
8
plugins/cmdb-assistant/.mcp.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"netbox": {
|
||||||
|
"command": "${CLAUDE_PLUGIN_ROOT}/mcp-servers/netbox/run.sh",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
plugins/contract-validator/.mcp.json
Normal file
9
plugins/contract-validator/.mcp.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"contract-validator": {
|
||||||
|
"type": "stdio",
|
||||||
|
"command": "${CLAUDE_PLUGIN_ROOT}/mcp-servers/contract-validator/run.sh",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
plugins/data-platform/.mcp.json
Normal file
9
plugins/data-platform/.mcp.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"data-platform": {
|
||||||
|
"type": "stdio",
|
||||||
|
"command": "${CLAUDE_PLUGIN_ROOT}/mcp-servers/data-platform/run.sh",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# doc-guardian notification hook
|
# doc-guardian notification hook
|
||||||
# Tracks documentation dependencies and queues updates
|
# Tracks documentation dependencies and queues updates
|
||||||
|
# This is a command hook - guaranteed not to block workflow
|
||||||
#
|
#
|
||||||
# SILENT BY DEFAULT - No output to avoid interrupting Claude's workflow.
|
# IMPORTANT: Output is purely informational - uses passive language
|
||||||
# Changes are queued to .doc-guardian-queue for later processing.
|
# to avoid triggering Claude to seek user confirmation.
|
||||||
# Run /doc-sync or /doc-audit to see and process pending updates.
|
# Run /doc-sync to process the queue when ready.
|
||||||
#
|
|
||||||
# Set DOC_GUARDIAN_VERBOSE=1 to enable notification output.
|
|
||||||
|
|
||||||
# Read tool input from stdin (JSON with file_path)
|
# Read tool input from stdin (JSON with file_path)
|
||||||
INPUT=$(cat)
|
INPUT=$(cat)
|
||||||
@@ -49,26 +48,40 @@ DEPENDENT_DOCS="${DOC_DEPS[$MODIFIED_TYPE]}"
|
|||||||
# Queue file for tracking pending updates
|
# Queue file for tracking pending updates
|
||||||
QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue"
|
QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue"
|
||||||
|
|
||||||
# Add to queue (always, for deduplication we check file+type combo)
|
# Debounce: skip notification if same type was logged in last 5 seconds
|
||||||
# Format: timestamp | type | file_path | dependent_docs
|
# This prevents 4+ rapid notifications during batch edits
|
||||||
QUEUE_ENTRY="$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
|
DEBOUNCE_SECONDS=5
|
||||||
|
|
||||||
# Check if this exact file+type combo already exists in queue (dedup)
|
|
||||||
if [ -f "$QUEUE_FILE" ]; then
|
if [ -f "$QUEUE_FILE" ]; then
|
||||||
if grep -qF "| $MODIFIED_TYPE | $FILE_PATH |" "$QUEUE_FILE" 2>/dev/null; then
|
LAST_ENTRY=$(tail -1 "$QUEUE_FILE" 2>/dev/null || true)
|
||||||
# Already queued, skip silently
|
LAST_TYPE=$(echo "$LAST_ENTRY" | cut -d'|' -f2 | tr -d ' ')
|
||||||
|
LAST_TIME=$(echo "$LAST_ENTRY" | cut -d'|' -f1 | tr -d ' ')
|
||||||
|
|
||||||
|
if [ "$LAST_TYPE" = "$MODIFIED_TYPE" ] && [ -n "$LAST_TIME" ]; then
|
||||||
|
# Convert timestamps to seconds for comparison
|
||||||
|
LAST_EPOCH=$(date -d "$LAST_TIME" +%s 2>/dev/null || echo "0")
|
||||||
|
NOW_EPOCH=$(date +%s)
|
||||||
|
DIFF=$((NOW_EPOCH - LAST_EPOCH))
|
||||||
|
|
||||||
|
if [ "$DIFF" -lt "$DEBOUNCE_SECONDS" ]; then
|
||||||
|
# Still add to queue, but skip notification
|
||||||
|
{
|
||||||
|
echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
|
||||||
|
} >> "$QUEUE_FILE" 2>/dev/null || true
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Add to queue
|
# Add to queue (create if doesn't exist, append if does)
|
||||||
echo "$QUEUE_ENTRY" >> "$QUEUE_FILE" 2>/dev/null || true
|
{
|
||||||
|
echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
|
||||||
|
} >> "$QUEUE_FILE" 2>/dev/null || true
|
||||||
|
|
||||||
# SILENT by default - only output if DOC_GUARDIAN_VERBOSE is set
|
# Count pending updates
|
||||||
# This prevents Claude from stopping to ask about documentation updates
|
|
||||||
if [ "${DOC_GUARDIAN_VERBOSE:-0}" = "1" ]; then
|
|
||||||
PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1")
|
PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1")
|
||||||
echo "[doc-guardian] queued: $MODIFIED_TYPE ($PENDING_COUNT pending)"
|
|
||||||
fi
|
# Output passive notification (no action implied)
|
||||||
|
# Uses "queued" instead of "update needed" to avoid triggering Claude to ask about it
|
||||||
|
echo "[doc-guardian] drift queued: $MODIFIED_TYPE → $DEPENDENT_DOCS ($PENDING_COUNT total)"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
8
plugins/pr-review/.mcp.json
Normal file
8
plugins/pr-review/.mcp.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"gitea": {
|
||||||
|
"command": "${CLAUDE_PLUGIN_ROOT}/mcp-servers/gitea/run.sh",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
plugins/projman/.mcp.json
Normal file
8
plugins/projman/.mcp.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"gitea": {
|
||||||
|
"command": "${CLAUDE_PLUGIN_ROOT}/mcp-servers/gitea/run.sh",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# /clear-cache
|
|
||||||
|
|
||||||
Clear plugin cache to force fresh configuration reload. Run this after marketplace updates.
|
|
||||||
|
|
||||||
## When to Use
|
|
||||||
|
|
||||||
- After updating the marketplace (`git pull` or reinstall)
|
|
||||||
- When MCP servers show stale configuration
|
|
||||||
- When plugin changes don't take effect
|
|
||||||
|
|
||||||
## What It Does
|
|
||||||
|
|
||||||
1. Clears `~/.claude/plugins/cache/leo-claude-mktplace/`
|
|
||||||
2. Forces Claude Code to re-read `.mcp.json` files on next session
|
|
||||||
|
|
||||||
## Instructions
|
|
||||||
|
|
||||||
Run this command, then **restart your Claude Code session** for changes to take effect.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rm -rf ~/.claude/plugins/cache/leo-claude-mktplace/
|
|
||||||
```
|
|
||||||
|
|
||||||
After clearing, inform the user: "Cache cleared. Restart Claude Code for changes to take effect."
|
|
||||||
@@ -10,6 +10,19 @@ PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "$(realpath "$0")")")}"
|
|||||||
# Marketplace root is 2 levels up from plugin root (plugins/projman -> .)
|
# Marketplace root is 2 levels up from plugin root (plugins/projman -> .)
|
||||||
MARKETPLACE_ROOT="$(dirname "$(dirname "$PLUGIN_ROOT")")"
|
MARKETPLACE_ROOT="$(dirname "$(dirname "$PLUGIN_ROOT")")"
|
||||||
VENV_REPAIR_SCRIPT="$MARKETPLACE_ROOT/scripts/venv-repair.sh"
|
VENV_REPAIR_SCRIPT="$MARKETPLACE_ROOT/scripts/venv-repair.sh"
|
||||||
|
PLUGIN_CACHE="$HOME/.claude/plugins/cache/leo-claude-mktplace"
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# Clear stale plugin cache (MUST run before MCP servers load)
|
||||||
|
# ============================================================================
|
||||||
|
# The cache at ~/.claude/plugins/cache/ holds versioned .mcp.json files.
|
||||||
|
# After marketplace updates, cached configs may point to old paths.
|
||||||
|
# Clearing forces Claude to read fresh configs from installed marketplace.
|
||||||
|
|
||||||
|
if [[ -d "$PLUGIN_CACHE" ]]; then
|
||||||
|
rm -rf "$PLUGIN_CACHE"
|
||||||
|
# Don't output anything - this should be silent and automatic
|
||||||
|
fi
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# Auto-repair MCP venvs (runs before other checks)
|
# Auto-repair MCP venvs (runs before other checks)
|
||||||
|
|||||||
9
plugins/viz-platform/.mcp.json
Normal file
9
plugins/viz-platform/.mcp.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"viz-platform": {
|
||||||
|
"type": "stdio",
|
||||||
|
"command": "${CLAUDE_PLUGIN_ROOT}/mcp-servers/viz-platform/run.sh",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user