conceptshared last reviewed 2026-05-21

Aspire MCP ecosystem โ€” connected tools + per-environment matrix

Context

Aspire uses Model Context Protocol (MCP) extensively to give AI agents programmatic access to external services. Knowing which MCP is wired up where is the single most-asked question by new agents โ€” and getting it wrong means wasted token cycles trying tools that don't work.

This concept page is the single source of truth for the inventory. Source files: MEMORY.md (reference_mcp_inventory) + claude_desktop_config.json + ~/.claude.json mcpServers.

Detail

Where MCPs live (3 environments)

EnvironmentConfig fileUse case
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonKom's day-to-day chat
Claude Code (this CLI)~/.claude.json mcpServersThis session right now
OpenClaw VPS agentsPer-agent config under ~/.openclaw/ on VPSBackground 28-agent fleet

A given MCP can be present in 0, 1, 2, or all 3 โ€” and that placement matters.

Inventory by category (as of 2026-05-21)

Finance / accounting

MCPCodeDesktopCloudNotes
Xero (5 orgs: adg, ahg, sixdegree, chanyathai, venice)โœ…โœ…โ€”Xero MCP wrappers broken for some calls โ€” fall back to curl with X-API-Key on xero.aspiredigitalgroup.com.au
PowerEPOSโœ…โœ…โ€”Six Degrees / Chanya Thai / Venice POS data
Stripe (Zinga eSIM account)โœ…โ€”โ€”Connected to wrong account for alby-studio audit; needs separate alby-studio Stripe account wiring

Hospitality ops

MCPNotes
TandaRosters, timesheets, leave, payroll
STAAHAccommodation channel manager (NOTE: STAAH MCP repointed to Zinga Channel Manager at cm.getzinga.com.au)
PowerEPOSPOS / sales / stock for 3 venues

Knowledge OS specific

MCPStatus
ko-knowledge (this project!)โœ… wired in Claude Code; 6 tools (health, knowledge_query, get_page, ingest, update_page, lint_page)
Recall MCP (per-agent FTS5 over briefs/memory/dreams/skills)OpenClaw only
Skill-registry MCP (per-agent skill files)OpenClaw only

Comms

Analytics

Browser automation (4 distinct, all in Code)

MCPWhen to use
Claude in ChromePaired Browser 1, one Claude session at a time, flip-flop
chrome-devtools--isolated, parallel-safe, no cookies; for ad-hoc clean browser
playwright (master)Persistent profile at ~/.cache/playwright-mcp-profile/, one session at a time; for logins/state-changing work
playwright-parallel--isolated --storage-state ~/.cache/playwright-mcp-storage-state.json --output-mode stdout, true parallel across sessions; for scrape/audit

Default routing:

AI / LLM

Design

Other notable

How to choose the right MCP

The decision tree (per aios-workflow):

  1. Need to read/write a specific app's data? โ†’ use that app's MCP if listed above
  2. Need to call an LLM? โ†’ Always through Aspire LLM Gateway, never direct
  3. Need to send a notification? โ†’ Telegram per telegram-bot-pattern for internal, SendGrid for customers
  4. Need to deploy code? โ†’ Coolify MCP if customer-facing app, GitLab MCP for CI

What's NOT yet wired but planned

Related

๐Ÿ”— Relationships

graph LR aspire_mcp_ecosystem["aspire-mcp-ecosystem"]:::self aspire_mcp_ecosystem --> aspire_llm_gateway_only_egress["aspire-llm-gateway-only-egress"] aspire_mcp_ecosystem --> aios_workflow["aios-workflow"] aspire_mcp_ecosystem --> telegram_bot_pattern["telegram-bot-pattern"] aspire_mcp_ecosystem --> knowledge_os_stage_1["knowledge-os-stage-1"] classDef self fill:#715EE3,color:#fff,stroke:#291F50;