aidevops 2.79.0 → 2.79.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -41
- package/VERSION +1 -1
- package/aidevops.sh +1 -1
- package/package.json +1 -1
- package/setup.sh +124 -3
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ The result: AI agents that work *with* your development process, not around it.
|
|
|
71
71
|
[](#comprehensive-service-coverage)
|
|
72
72
|
[](https://agents.md/)
|
|
73
73
|
[](https://github.com/marcusquinn/aidevops/blob/main/AGENTS.md)
|
|
74
|
-
[](#mcp-integrations)
|
|
75
75
|
[](#comprehensive-service-coverage)
|
|
76
76
|
|
|
77
77
|
<!-- AI-CONTEXT-START -->
|
|
@@ -153,7 +153,7 @@ git clone https://github.com/marcusquinn/aidevops.git ~/Git/aidevops
|
|
|
153
153
|
- Configure your AI assistants automatically
|
|
154
154
|
- Guide you through recommended tools (Tabby, Zed, Git CLIs)
|
|
155
155
|
|
|
156
|
-
**New users: Start OpenCode and type `/onboarding`** to configure your services interactively. The onboarding wizard will:
|
|
156
|
+
**New users: Start [OpenCode](https://opencode.ai/) and type `/onboarding`** to configure your services interactively. OpenCode is the recommended tool for aidevops - all features, agents, and workflows are designed and tested for it first. The onboarding wizard will:
|
|
157
157
|
- Explain what **[aidevops](https://aidevops.sh)** can do
|
|
158
158
|
- Ask about your work to give personalized recommendations
|
|
159
159
|
- Show which services are configured vs need setup
|
|
@@ -374,13 +374,13 @@ The secure workflow is included at `.github/workflows/opencode-agent.yml`.
|
|
|
374
374
|
|
|
375
375
|
See `.agent/tools/git/opencode-github-security.md` for the full security documentation.
|
|
376
376
|
|
|
377
|
-
**Supported AI Assistants:**
|
|
377
|
+
**Supported AI Assistants:** OpenCode is the recommended and primary-tested tool. All 18 assistants below have MCP configuration support, but only OpenCode receives continual testing and first-class integration. Other tools are supported as a courtesy for users evaluating aidevops capabilities.
|
|
378
378
|
|
|
379
|
-
**
|
|
379
|
+
**Recommended:**
|
|
380
380
|
|
|
381
|
-
- **[
|
|
382
|
-
- **[
|
|
383
|
-
- **[Zed](https://zed.dev/)** - High-performance
|
|
381
|
+
- **[OpenCode](https://opencode.ai/)** - The recommended AI coding agent. Powerful agentic TUI/CLI with native MCP support, Tab-based agent switching, LSP integration, plugin ecosystem, and excellent DX. All aidevops features are designed and tested for OpenCode first.
|
|
382
|
+
- **[Tabby](https://tabby.sh/)** - Recommended terminal. Colour-coded Profiles per project/repo, **auto-syncs tab title with git repo/branch.**
|
|
383
|
+
- **[Zed](https://zed.dev/)** - Recommended editor. High-performance with AI integration (use with the OpenCode Agent Extension).
|
|
384
384
|
|
|
385
385
|
### Terminal Tab Title Sync
|
|
386
386
|
|
|
@@ -394,6 +394,8 @@ Your terminal tab/window title automatically shows `repo/branch` context when wo
|
|
|
394
394
|
|
|
395
395
|
See `.agent/tools/terminal/terminal-title.md` for customization options.
|
|
396
396
|
|
|
397
|
+
**Also Supported (community-tested):**
|
|
398
|
+
|
|
397
399
|
**IDE-Based:**
|
|
398
400
|
|
|
399
401
|
- **[Cursor](https://cursor.sh/)** - AI-first IDE with MCP support
|
|
@@ -663,34 +665,47 @@ The setup script offers to install these tools automatically.
|
|
|
663
665
|
|
|
664
666
|
## **MCP Integrations**
|
|
665
667
|
|
|
666
|
-
**Model Context Protocol servers for real-time AI assistant integration.** The framework
|
|
667
|
-
|
|
668
|
-
### **All Supported MCPs**
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
668
|
+
**Model Context Protocol servers for real-time AI assistant integration.** The framework configures these MCPs primarily for **[OpenCode](https://opencode.ai/)** (recommended). Configuration support is also available for 17 other AI assistants including Cursor, Claude Code/Desktop, Windsurf, Continue.dev, Cody, Zed, GitHub Copilot, Kilo Code, Kiro, AntiGravity, Gemini CLI, Droid, Warp AI, Aider, and Qwen.
|
|
669
|
+
|
|
670
|
+
### **All Supported MCPs (18 active)**
|
|
671
|
+
|
|
672
|
+
MCP packages are installed globally via `bun install -g` for instant startup (no `npx` registry lookups). Run `setup.sh` or `aidevops update-tools` to update to latest versions.
|
|
673
|
+
|
|
674
|
+
| MCP | Purpose | Tier | API Key Required |
|
|
675
|
+
|-----|---------|------|------------------|
|
|
676
|
+
| [Augment Context Engine](https://docs.augmentcode.com/context-services/mcp/overview) | Semantic codebase retrieval | Global | Yes (Augment account) |
|
|
677
|
+
| [Claude Code MCP](https://github.com/steipete/claude-code-mcp) | Claude as sub-agent | Global | No |
|
|
678
|
+
| [osgrep](https://github.com/Ryandonofrio3/osgrep) | Local semantic search | Global | No |
|
|
679
|
+
| [Amazon Order History](https://github.com/marcusquinn/amazon-order-history-csv-download-mcp) | Order data extraction | Per-agent | No |
|
|
680
|
+
| [Chrome DevTools](https://chromedevtools.github.io/devtools-protocol/) | Browser debugging & automation | Per-agent | No |
|
|
681
|
+
| [Context7](https://context7.com/) | Library documentation lookup | Per-agent | No |
|
|
682
|
+
| [Docker MCP](https://docs.docker.com/ai/mcp-catalog/) | Container management | Per-agent | No |
|
|
683
|
+
| [Google Analytics](https://developers.google.com/analytics) | Analytics data | Per-agent | Yes (Google API) |
|
|
684
|
+
| [Google Search Console](https://developers.google.com/webmaster-tools) | Search performance data | Per-agent | Yes (Google API) |
|
|
685
|
+
| [Grep by Vercel](https://grep.app/) | GitHub code search | Per-agent | No |
|
|
686
|
+
| [LocalWP](https://localwp.com/) | WordPress database access | Per-agent | No (local) |
|
|
687
|
+
| [macOS Automator](https://github.com/steipete/macos-automator-mcp) | macOS automation | Per-agent | No |
|
|
688
|
+
| [Outscraper](https://outscraper.com/) | Google Maps & business data | Per-agent | Yes |
|
|
689
|
+
| [Playwriter](https://github.com/nicholasgriffintn/playwriter) | Browser with extensions | Per-agent | No |
|
|
690
|
+
| [QuickFile](https://github.com/marcusquinn/quickfile-mcp) | Accounting API | Per-agent | Yes |
|
|
691
|
+
| [Repomix](https://github.com/yamadashy/repomix) | Codebase packing for AI context | Per-agent | No |
|
|
692
|
+
| [Sentry](https://sentry.io/) | Error tracking | Per-agent | Yes |
|
|
693
|
+
| [Socket](https://socket.dev/) | Dependency security | Per-agent | No |
|
|
694
|
+
|
|
695
|
+
**Tier explanation:**
|
|
696
|
+
- **Global** - Tools always available (loaded into every session)
|
|
697
|
+
- **Per-agent** - Tools disabled globally, enabled per-agent via config (zero context overhead when unused)
|
|
698
|
+
|
|
699
|
+
### **SEO Integrations (curl subagents - no MCP overhead)**
|
|
700
|
+
|
|
701
|
+
These use direct API calls via curl, avoiding MCP server startup entirely:
|
|
702
|
+
|
|
703
|
+
| Integration | Purpose | API Key Required |
|
|
704
|
+
|-------------|---------|------------------|
|
|
672
705
|
| [Ahrefs](https://ahrefs.com/api) | SEO analysis & backlinks | Yes |
|
|
673
|
-
| [Augment Context Engine](https://docs.augmentcode.com/context-services/mcp/overview) | Semantic codebase retrieval | Yes (Augment account) |
|
|
674
706
|
| [DataForSEO](https://dataforseo.com/) | SERP, keywords, backlinks, on-page | Yes |
|
|
675
|
-
| [Chrome DevTools](https://chromedevtools.github.io/devtools-protocol/) | Browser debugging & automation | No |
|
|
676
|
-
| [Cloudflare Browser](https://developers.cloudflare.com/browser-rendering/) | Server-side rendering | Yes (Cloudflare) |
|
|
677
|
-
| [Context7](https://context7.com/) | Library documentation lookup | No |
|
|
678
|
-
| [Crawl4AI](https://github.com/unclecode/crawl4ai) | Web crawling & scraping | No |
|
|
679
|
-
| [Google Search Console](https://developers.google.com/webmaster-tools) | Search performance data | Yes (Google API) |
|
|
680
|
-
| [Grep by Vercel](https://grep.app/) | GitHub code search | No |
|
|
681
|
-
| [LocalWP](https://localwp.com/) | WordPress database access | No (local) |
|
|
682
|
-
| [Next.js DevTools](https://nextjs.org/docs) | React/Next.js assistance | No |
|
|
683
|
-
| [Outscraper](https://outscraper.com/) | Google Maps & business data extraction | Yes |
|
|
684
|
-
| [PageSpeed Insights](https://developers.google.com/speed/docs/insights/v5/get-started) | Performance auditing | Yes (Google API) |
|
|
685
|
-
| [Perplexity](https://docs.perplexity.ai/) | AI-powered research | Yes |
|
|
686
|
-
| [Playwright](https://playwright.dev/) | Cross-browser testing (auto-installed by setup.sh) | No |
|
|
687
|
-
| [Repomix](https://github.com/yamadashy/repomix) | Codebase packing for AI context | No |
|
|
688
707
|
| [Serper](https://serper.dev/) | Google Search API (web, images, news) | Yes |
|
|
689
|
-
| [
|
|
690
|
-
| [Snyk](https://snyk.io/) | Security vulnerability scanning | Yes |
|
|
691
|
-
| [Stagehand (JS)](https://github.com/browserbase/stagehand) | AI browser automation | Optional (Browserbase) |
|
|
692
|
-
| [Stagehand (Python)](https://github.com/anthropics/stagehand-python) | AI browser automation | Optional (Browserbase) |
|
|
693
|
-
| [llm-tldr](https://github.com/parcadei/llm-tldr) | Semantic code analysis (95% token savings) | No |
|
|
708
|
+
| [Hostinger](https://developers.hostinger.com/) | Hosting management | Yes |
|
|
694
709
|
|
|
695
710
|
### **By Category**
|
|
696
711
|
|
|
@@ -715,12 +730,11 @@ The setup script offers to install these tools automatically.
|
|
|
715
730
|
|
|
716
731
|
**SEO & Research:**
|
|
717
732
|
|
|
718
|
-
- [
|
|
719
|
-
- [
|
|
720
|
-
- [
|
|
721
|
-
- [
|
|
722
|
-
- [
|
|
723
|
-
- [Grep by Vercel](https://grep.app/) - Search code snippets across GitHub repositories
|
|
733
|
+
- [Google Search Console](https://developers.google.com/webmaster-tools) - Search performance insights (MCP)
|
|
734
|
+
- [Grep by Vercel](https://grep.app/) - Search code snippets across GitHub repositories (MCP)
|
|
735
|
+
- [Ahrefs](https://ahrefs.com/api) - SEO analysis, backlink research, keyword data (curl subagent)
|
|
736
|
+
- [DataForSEO](https://dataforseo.com/) - Comprehensive SEO data APIs (curl subagent)
|
|
737
|
+
- [Serper](https://serper.dev/) - Google Search API (curl subagent)
|
|
724
738
|
- **Keyword Research** - Strategic keyword research with SERP weakness detection (via DataForSEO + Serper + Ahrefs)
|
|
725
739
|
- **Site Crawler** - Screaming Frog-like SEO auditing: broken links, redirects, meta issues, structured data
|
|
726
740
|
- **Domain Research** - DNS intelligence via THC (4.51B records) and Reconeer APIs: rDNS, subdomains, CNAMEs
|
|
@@ -739,9 +753,10 @@ The setup script offers to install these tools automatically.
|
|
|
739
753
|
- [LocalWP](https://localwp.com/) - Direct WordPress database access
|
|
740
754
|
- [Next.js DevTools](https://nextjs.org/docs) - React/Next.js development assistance
|
|
741
755
|
|
|
742
|
-
**
|
|
756
|
+
**Accounts & Finance:**
|
|
743
757
|
|
|
744
|
-
- [
|
|
758
|
+
- [QuickFile](https://github.com/marcusquinn/quickfile-mcp) - Accounting API integration (MCP)
|
|
759
|
+
- [Amazon Order History](https://github.com/marcusquinn/amazon-order-history-csv-download-mcp) - Order data extraction (MCP)
|
|
745
760
|
|
|
746
761
|
### **Quick Setup**
|
|
747
762
|
|
|
@@ -756,6 +771,34 @@ bash .agent/scripts/setup-mcp-integrations.sh stagehand-both # Both versions
|
|
|
756
771
|
bash .agent/scripts/setup-mcp-integrations.sh chrome-devtools
|
|
757
772
|
```
|
|
758
773
|
|
|
774
|
+
### OpenCode LSP Configuration
|
|
775
|
+
|
|
776
|
+
OpenCode includes [built-in LSP servers](https://opencode.ai/docs/lsp/) for 35+ languages. For aidevops projects that use Markdown and TOON extensively, add these optional LSP servers to your `opencode.json` for real-time diagnostics during editing:
|
|
777
|
+
|
|
778
|
+
```json
|
|
779
|
+
{
|
|
780
|
+
"lsp": {
|
|
781
|
+
"markdownlint": {
|
|
782
|
+
"command": ["markdownlint-language-server", "--stdio"],
|
|
783
|
+
"extensions": [".md"]
|
|
784
|
+
},
|
|
785
|
+
"toon-lsp": {
|
|
786
|
+
"command": ["toon-lsp"],
|
|
787
|
+
"extensions": [".toon"]
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
```
|
|
792
|
+
|
|
793
|
+
**Install the servers:**
|
|
794
|
+
|
|
795
|
+
```bash
|
|
796
|
+
npm install -g markdownlint-language-server # Markdown diagnostics
|
|
797
|
+
cargo install toon-lsp # TOON syntax validation
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
These catch formatting and syntax issues during editing, reducing preflight/postflight fix cycles.
|
|
801
|
+
|
|
759
802
|
## **Browser Automation**
|
|
760
803
|
|
|
761
804
|
6 browser tools benchmarked and integrated for AI-assisted web automation, dev testing, and data extraction. Agents automatically select the optimal tool based on task requirements.
|
|
@@ -860,12 +903,14 @@ Repomix runs as an MCP server for direct AI assistant integration:
|
|
|
860
903
|
{
|
|
861
904
|
"repomix": {
|
|
862
905
|
"type": "local",
|
|
863
|
-
"command": ["
|
|
906
|
+
"command": ["repomix", "--mcp"],
|
|
864
907
|
"enabled": true
|
|
865
908
|
}
|
|
866
909
|
}
|
|
867
910
|
```
|
|
868
911
|
|
|
912
|
+
> Install globally first: `bun install -g repomix` (done automatically by `setup.sh`)
|
|
913
|
+
|
|
869
914
|
See `.agent/tools/context/context-builder.md` for complete documentation.
|
|
870
915
|
|
|
871
916
|
## **Augment Context Engine - Semantic Codebase Search**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.79.
|
|
1
|
+
2.79.2
|
package/aidevops.sh
CHANGED
package/package.json
CHANGED
package/setup.sh
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# AI Assistant Server Access Framework Setup Script
|
|
4
4
|
# Helps developers set up the framework for their infrastructure
|
|
5
5
|
#
|
|
6
|
-
# Version: 2.79.
|
|
6
|
+
# Version: 2.79.2
|
|
7
7
|
#
|
|
8
8
|
# Quick Install (one-liner):
|
|
9
9
|
# bash <(curl -fsSL https://aidevops.dev/install)
|
|
@@ -228,10 +228,57 @@ cleanup_deprecated_mcps() {
|
|
|
228
228
|
jq 'del(.agent.SEO.tools["dataforseo_*"]) | del(.agent.SEO.tools["serper_*"]) | del(.agent.SEO.tools["ahrefs_*"])' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
|
|
229
229
|
fi
|
|
230
230
|
|
|
231
|
+
# Migrate npx/pipx commands to bare binary names (faster startup)
|
|
232
|
+
# Maps: package-name -> binary-name
|
|
233
|
+
local -A mcp_migrations=(
|
|
234
|
+
["chrome-devtools-mcp"]="chrome-devtools-mcp"
|
|
235
|
+
["mcp-server-gsc"]="mcp-server-gsc"
|
|
236
|
+
["repomix"]="repomix"
|
|
237
|
+
["playwriter"]="playwriter"
|
|
238
|
+
["@steipete/macos-automator-mcp"]="macos-automator-mcp"
|
|
239
|
+
["@steipete/claude-code-mcp"]="claude-code-mcp"
|
|
240
|
+
["analytics-mcp"]="analytics-mcp"
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
for pkg in "${!mcp_migrations[@]}"; do
|
|
244
|
+
local bin_name="${mcp_migrations[$pkg]}"
|
|
245
|
+
# Check if any MCP entry uses npx/bunx with this package
|
|
246
|
+
if jq -e ".mcp | to_entries[] | select(.value.command != null) | select(.value.command | join(\" \") | test(\"npx.*${pkg}|bunx.*${pkg}|pipx.*run.*${pkg}\"))" "$tmp_config" > /dev/null 2>&1; then
|
|
247
|
+
if command -v "$bin_name" &> /dev/null; then
|
|
248
|
+
# Find the MCP key and update its command to bare binary
|
|
249
|
+
local mcp_key
|
|
250
|
+
mcp_key=$(jq -r ".mcp | to_entries[] | select(.value.command != null) | select(.value.command | join(\" \") | test(\"npx.*${pkg}|bunx.*${pkg}|pipx.*run.*${pkg}\")) | .key" "$tmp_config" 2>/dev/null | head -1)
|
|
251
|
+
if [[ -n "$mcp_key" ]]; then
|
|
252
|
+
# Preserve --mcp flag for repomix
|
|
253
|
+
if [[ "$bin_name" == "repomix" ]]; then
|
|
254
|
+
jq ".mcp[\"$mcp_key\"].command = [\"$bin_name\", \"--mcp\"]" "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
|
|
255
|
+
else
|
|
256
|
+
jq ".mcp[\"$mcp_key\"].command = [\"$bin_name\"]" "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
|
|
257
|
+
fi
|
|
258
|
+
((cleaned++))
|
|
259
|
+
fi
|
|
260
|
+
fi
|
|
261
|
+
fi
|
|
262
|
+
done
|
|
263
|
+
|
|
264
|
+
# Migrate outscraper from bash -c wrapper to bare binary
|
|
265
|
+
if jq -e '.mcp.outscraper.command | join(" ") | test("bash.*outscraper")' "$tmp_config" > /dev/null 2>&1; then
|
|
266
|
+
if command -v outscraper-mcp-server &> /dev/null; then
|
|
267
|
+
# Source the API key and set it in environment
|
|
268
|
+
local outscraper_key=""
|
|
269
|
+
if [[ -f "$HOME/.config/aidevops/mcp-env.sh" ]]; then
|
|
270
|
+
# shellcheck source=/dev/null
|
|
271
|
+
outscraper_key=$(source "$HOME/.config/aidevops/mcp-env.sh" && echo "${OUTSCRAPER_API_KEY:-}")
|
|
272
|
+
fi
|
|
273
|
+
jq --arg key "$outscraper_key" '.mcp.outscraper.command = ["outscraper-mcp-server"] | .mcp.outscraper.environment = {"OUTSCRAPER_API_KEY": $key}' "$tmp_config" > "${tmp_config}.new" && mv "${tmp_config}.new" "$tmp_config"
|
|
274
|
+
((cleaned++))
|
|
275
|
+
fi
|
|
276
|
+
fi
|
|
277
|
+
|
|
231
278
|
if [[ $cleaned -gt 0 ]]; then
|
|
232
279
|
create_backup_with_rotation "$opencode_config" "opencode"
|
|
233
280
|
mv "$tmp_config" "$opencode_config"
|
|
234
|
-
print_info "
|
|
281
|
+
print_info "Updated $cleaned MCP entry/entries in opencode.json (removed npx overhead, using global binaries)"
|
|
235
282
|
else
|
|
236
283
|
rm -f "$tmp_config"
|
|
237
284
|
fi
|
|
@@ -2085,6 +2132,79 @@ setup_nodejs_env() {
|
|
|
2085
2132
|
fi
|
|
2086
2133
|
}
|
|
2087
2134
|
|
|
2135
|
+
# Install MCP servers globally for fast startup (no npx/pipx overhead)
|
|
2136
|
+
install_mcp_packages() {
|
|
2137
|
+
print_info "Installing MCP server packages globally (eliminates npx startup delay)..."
|
|
2138
|
+
|
|
2139
|
+
# Node.js MCP packages (prefer bun, fallback to npm)
|
|
2140
|
+
local node_mcps=(
|
|
2141
|
+
"chrome-devtools-mcp"
|
|
2142
|
+
"mcp-server-gsc"
|
|
2143
|
+
"repomix"
|
|
2144
|
+
"playwriter"
|
|
2145
|
+
"@steipete/macos-automator-mcp"
|
|
2146
|
+
"@steipete/claude-code-mcp"
|
|
2147
|
+
)
|
|
2148
|
+
|
|
2149
|
+
local installer=""
|
|
2150
|
+
local install_cmd=""
|
|
2151
|
+
|
|
2152
|
+
if command -v bun &> /dev/null; then
|
|
2153
|
+
installer="bun"
|
|
2154
|
+
install_cmd="bun install -g"
|
|
2155
|
+
elif command -v npm &> /dev/null; then
|
|
2156
|
+
installer="npm"
|
|
2157
|
+
install_cmd="npm install -g"
|
|
2158
|
+
else
|
|
2159
|
+
print_warning "Neither bun nor npm found - cannot install MCP packages"
|
|
2160
|
+
print_info "Install bun (recommended): curl -fsSL https://bun.sh/install | bash"
|
|
2161
|
+
return 0
|
|
2162
|
+
fi
|
|
2163
|
+
|
|
2164
|
+
print_info "Using $installer to install/update Node.js MCP packages..."
|
|
2165
|
+
|
|
2166
|
+
# Always install latest (bun install -g is fast and idempotent)
|
|
2167
|
+
local updated=0
|
|
2168
|
+
local failed=0
|
|
2169
|
+
for pkg in "${node_mcps[@]}"; do
|
|
2170
|
+
if $install_cmd "${pkg}@latest" > /dev/null 2>&1; then
|
|
2171
|
+
((updated++))
|
|
2172
|
+
else
|
|
2173
|
+
((failed++))
|
|
2174
|
+
print_warning "Failed to install/update $pkg"
|
|
2175
|
+
fi
|
|
2176
|
+
done
|
|
2177
|
+
|
|
2178
|
+
if [[ $updated -gt 0 ]]; then
|
|
2179
|
+
print_success "$updated Node.js MCP packages installed/updated to latest via $installer"
|
|
2180
|
+
fi
|
|
2181
|
+
if [[ $failed -gt 0 ]]; then
|
|
2182
|
+
print_warning "$failed packages failed (check network or package names)"
|
|
2183
|
+
fi
|
|
2184
|
+
|
|
2185
|
+
# Python MCP packages (install or upgrade)
|
|
2186
|
+
if command -v pipx &> /dev/null; then
|
|
2187
|
+
print_info "Installing/updating analytics-mcp via pipx..."
|
|
2188
|
+
if command -v analytics-mcp &> /dev/null; then
|
|
2189
|
+
pipx upgrade analytics-mcp > /dev/null 2>&1 || true
|
|
2190
|
+
else
|
|
2191
|
+
pipx install analytics-mcp > /dev/null 2>&1 || print_warning "Failed to install analytics-mcp"
|
|
2192
|
+
fi
|
|
2193
|
+
fi
|
|
2194
|
+
|
|
2195
|
+
if command -v uv &> /dev/null; then
|
|
2196
|
+
print_info "Installing/updating outscraper-mcp-server via uv..."
|
|
2197
|
+
if command -v outscraper-mcp-server &> /dev/null; then
|
|
2198
|
+
uv tool upgrade outscraper-mcp-server > /dev/null 2>&1 || true
|
|
2199
|
+
else
|
|
2200
|
+
uv tool install outscraper-mcp-server > /dev/null 2>&1 || print_warning "Failed to install outscraper-mcp-server"
|
|
2201
|
+
fi
|
|
2202
|
+
fi
|
|
2203
|
+
|
|
2204
|
+
print_info "MCP servers will start instantly (no registry lookups on each launch)"
|
|
2205
|
+
return 0
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2088
2208
|
# Setup LocalWP MCP server for AI database access
|
|
2089
2209
|
setup_localwp_mcp() {
|
|
2090
2210
|
print_info "Setting up LocalWP MCP server..."
|
|
@@ -2843,7 +2963,7 @@ setup_google_analytics_mcp() {
|
|
|
2843
2963
|
if jq --arg creds "$creds_path" --arg proj "$project_id" --argjson enabled "$enable_mcp" \
|
|
2844
2964
|
'.mcp["google-analytics-mcp"] = {
|
|
2845
2965
|
"type": "local",
|
|
2846
|
-
"command": ["
|
|
2966
|
+
"command": ["analytics-mcp"],
|
|
2847
2967
|
"environment": {
|
|
2848
2968
|
"GOOGLE_APPLICATION_CREDENTIALS": $creds,
|
|
2849
2969
|
"GOOGLE_PROJECT_ID": $proj
|
|
@@ -3026,6 +3146,7 @@ main() {
|
|
|
3026
3146
|
confirm_step "Update OpenCode configuration" && update_opencode_config
|
|
3027
3147
|
confirm_step "Setup Python environment (DSPy, crawl4ai)" && setup_python_env
|
|
3028
3148
|
confirm_step "Setup Node.js environment" && setup_nodejs_env
|
|
3149
|
+
confirm_step "Install MCP packages globally (fast startup)" && install_mcp_packages
|
|
3029
3150
|
confirm_step "Setup LocalWP MCP server" && setup_localwp_mcp
|
|
3030
3151
|
confirm_step "Setup Augment Context Engine MCP" && setup_augment_context_engine
|
|
3031
3152
|
confirm_step "Setup osgrep (local semantic search)" && setup_osgrep
|