← ClaudeAtlas

mycogrove-multi-tenant-architecturelisted

Comprehensive procedures for implementing and managing Myco's Grove multi-tenant architecture with request context management. Covers request context threading through transport boundaries, project identity binding via .myco/project.toml, multi-tenant database schema design, context enforcement across six layers, MCP transport unification, Grove registry management, and comprehensive importer architecture. Use when implementing multi-tenant features, setting up Grove projects, debugging context propagation issues, or ensuring request context isolation.
goondocks-co/myco · ★ 13 · AI & Automation · score 79
Install: claude install-skill goondocks-co/myco
# Grove Multi-Tenant Architecture and Request Context Management Comprehensive guide for implementing Myco's Grove multi-tenant architecture, covering request context threading, project identity management, schema design, transport unification, and security patterns. ## Prerequisites - Grove infrastructure is deployed and accessible - Understanding of Myco's daemon architecture and MCP transport layer - Database schema version 32+ for multi-tenant support - Project-local .myco/ vault structure in place ## Procedure A: Request Context Threading Through Transport Boundaries Implement request context extraction and propagation across all tool entry points. ### Context Structure All requests carry a normalized context object: ```typescript { groveId, projectId, machineId } ``` ### Transport-Specific Context Extraction **CLI Transport** (`packages/myco/src/cli/tool.ts`): ```typescript import { requestContextFromEnvironment } from '@myco/tools/request-context.js'; const requestContext = requestContextFromEnvironment(process.env, vaultDir); const tools = createMycoTools(vaultDir, new DaemonClient(vaultDir), { requestContext }); ``` **MCP Stdio Bridge** (via `myco mcp`): ```typescript const requestContext = requestContextFromEnvironment(process.env, vaultDir); const headers = requestContextHeaders(requestContext); const mcpResponse = await daemonClient.mcp(headers); ``` ### Tool Factory Integration Thread context through `packages/myco/src/tools/index.ts`: ```typescript