// share.gitpitcher.com
Git PitcherBuild Pack WebpageShared artifact
May 16, 2026

Build blueprint

Rebuild as a hosted, multi-tenant automation hub with authentication, workspaces, and macro recording/execution before expanding to scheduling and marketplace.

Let developers and teams build, execute, and share multi-tool automation workflows from a single mobile or web interface, reducing cross-tool toil to zero.

This version is optimized for builders. It breaks the product into entities, routes, modules, implementation phases, and practical first moves you can actually execute.

MVP scope

8

Entities

6

Flows

8

Phases

5

Blueprint

Product thesis and MVP scope

Let developers and teams build, execute, and share multi-tool automation workflows from a single mobile or web interface, reducing cross-tool toil to zero.

Target user

Developers, SREs, and power users in small to mid‑sized teams who juggle GitHub, Slack, Notion, and other services daily and need a central, no‑code way to chain their actions.

MVP scope

  • Register and connect to MCP servers via OAuth, with encrypted credential storage and token refresh.
  • Record a macro by capturing a sequence of real tool invocations from a connected server.
  • Edit macro steps in a form‑based editor (reorder, delete, modify parameters).
  • Execute a macro on demand and display step‑by‑step progress and a terminal‑style output log.
  • View execution history with status, timestamps, and replay capability.
  • Share a macro as a read‑only link that another logged‑in user can import and run in their workspace.
  • Create a workspace and invite a teammate via email; basic role (admin/member).
  • Deploy the whole stack as a single Docker Compose service for self‑hosting.

System

Entities, flows, and modules

Entities

User

id (uuid), email (string, unique), password_hash (string), name (string), created_at (timestamp), updated_at (timestamp) — Core identity; linked to workspaces via a join table. Password auth initially, later supplemented with social logins.

Workspace

id (uuid), name (string), owner_id (fk → User), created_at (timestamp) — Isolation boundary for servers, macros, and executions. Every resource is scoped to a workspace.

MCPServer

id (uuid), workspace_id (fk → Workspace), name (string), type (string, e.g., 'github', 'slack'), credentials (encrypted JSON), config (JSON: headers, baseUrl, timeout), created_by (fk → User) — Stores encrypted OAuth tokens and connection metadata; the MCP client reads this to establish tool lists.

Macro

id (uuid), workspace_id (fk → Workspace), name (string), description (text), steps (JSON array of {serverId, toolName, params}), created_by (fk → User), is_shared (boolean), share_token (uuid, nullable), created_at (timestamp) — The macro definition. Steps are stored as ordered JSON; the execution engine plays them back sequentially.

Execution

id (uuid), macro_id (fk → Macro), status (enum: pending|running|success|failed|cancelled), started_at (timestamp), finished_at (timestamp), log (JSON array of step results), triggered_by (fk → User) — Tracks every run of a macro. The log holds per‑step output and errors for the debugger.

WorkspaceMember

workspace_id (fk → Workspace), user_id (fk → User), role (enum: 'admin' | 'member'), invited_at (timestamp), accepted_at (timestamp, nullable) — Join table with role. Invites are created with accepted_at = null until the user accepts.

Flows

Sign‑up / Login

app/(tabs)/onboarding.tsx (initial screen) — User registration, email verification, and JWT issuance; redirect to workspace creation if none.

MCP Servers Dashboard

app/(tabs)/mcp-servers.tsx — List currently connected servers; tap to see detail, add new, or disconnect.

Add / Edit Server

app/(tabs)/add-server.tsx & app/(tabs)/edit-server.tsx — OAuth flow or manual API key entry; test connection; save credentials encrypted.

Macro Builder

app/(tabs)/macro-builder.tsx — Start recording; capture tool calls in real time; stop and name the macro; land in editor.

Macro Editor & Chaining

app/(tabs)/macro-editor.tsx & app/(tabs)/macro-chaining.tsx — View step list; edit params; reorder; add conditions/simple branching; chain two macros.

Execution History & Debugger

app/(tabs)/execution-history.tsx & app/(tabs)/execution-debugger.tsx — Past runs; tap to open a debug view showing step‑by‑step logs and any error details.

Macro Sharing

app/(tabs)/macro-sharing.tsx — Generate a shareable link; view link history; manage access revocation.

Workspace Settings & Invites

app/(tabs)/admin-dashboard.tsx (restricted to admin) — Invite members, change roles, see billing usage (future), and workspace name.

Backend modules

Auth Service

Handles user registration, login, JWT signing/verification, and OAuth state management. Exposes middleware for route protection. — Without auth, no multi‑tenancy or user‑specific data separation—everything else is blocked.

MCP Connection Manager

Maintains active MCP client instances per server; handles encryption/decryption of stored credentials; provides a tool discovery API. — The core value prop is automating MCP servers; a robust connection layer must be in place to record and execute.

Macro Engine

Recording instrument that captures tool calls; persists step definitions; provides a playback engine with step‑by‑step execution. — Macro recording is the headline feature; it must be reliable, idempotent, and give immediate feedback.

Execution Logger

Persists execution status and per‑step logs in real time; exposes a streaming endpoint for live debugger. — Debugging automations requires observability into runs; without it, users cannot trust their workflows.

Sharing Service

Creates short‑lived tokens that grant read‑only access to a macro; manages import flow into another workspace. — Collaboration is a key differentiator; even a basic share link unlocks viral growth within teams.

Workspace Service

Manages workspace CRUD, member invitations, and role‑based access control (resource scoping). — Multi‑tenancy is required for any paid plan; this isolates data and defines usage boundaries.

Phases

Implementation phases

Phase 1

Phase 1: Base Camp – Auth & Server Management

Stand up a multi‑tenant backend with user auth, workspaces, and the ability to connect a GitHub MCP server.

Deliverables

  • Database schema for Users, Workspaces, WorkspaceMembers, and MCPServers
  • Auth Service with register/login endpoints (JWT)
  • Workspace creation and invite/accept flow
  • OAuth flow for GitHub (server‑side token exchange, encrypted storage)
  • Basic MCP Servers list/add/edit mobile pages
  • Docker Compose with PostgreSQL and Node backend

Exit criteria

  • A new user can sign up, create a workspace, and successfully connect a GitHub server via OAuth.
  • The connected server appears in the dashboard and can be tested with a simple tool call (e.g., list repos).
  • All sensitive credentials are encrypted at rest with a workspace‑scoped key.
Phase 2

Phase 2: The Macro Loop – Record, Edit, Save

Enable users to record a sequence of tool calls from any connected server and persist it as a reusable macro.

Deliverables

  • Recording instrumentation in MCPClient that intercepts calls and stores them in a buffer
  • Macro model and API endpoints (CRUD)
  • Macro Builder screen with start/stop recording and step preview
  • Macro Editor screen for modifying steps manually (reorder, delete, edit params)
  • Unit tests for the recording and serialization logic

Exit criteria

  • A user can record a 3‑step macro from a GitHub server (e.g., create issue, comment, close) and save it.
  • The saved macro appears in the macro list and can be edited; step changes are reflected on re‑play.
Phase 3

Phase 3: Run & Reflect – Execution Engine + History

Let users run a macro and see a step‑by‑step execution log with pass/fail status.

Deliverables

  • ExecutionRunner service that plays back macro steps via the MCP connection
  • Execution and StepResult database tables
  • Synchronous execution API endpoint with real‑time log streaming (SSE)
  • Execution History screen with list of past runs
  • Execution Debugger screen showing step logs, errors, and timing
  • Cancel execution flow

Exit criteria

  • A user selects a macro, taps 'Run', and sees a live log of each step completing or failing.
  • Failed steps are clearly marked with error details; the user can replay the macro.
  • Execution history persists across app restarts and shows sorted by date.
Phase 4

Phase 4: Share & Collaborate

Introduce macro sharing via links and simple workspace member invitation.

Deliverables

  • Share token generation and validation logic
  • Macro Sharing screen with 'Create link' and 'Manage links'
  • Import flow: user with link can preview macro and import into their own workspace
  • Workspace invitation improvements (email notifications, accept/reject)
  • Basic role‑based gating: only owner can delete; member can run

Exit criteria

  • Alice can generate a share link for a macro; Bob can open the link, review steps, and import it into his workspace.
  • Bob’s imported macro runs successfully against his own connected servers (with his credentials).
  • Alice can revoke the link, and subsequent access is denied.
Phase 5

Phase 5: Polish & Launch – Observability, Billing, Marketplace Seed

Add production readiness, a payment tier, and a small library of featured macros to validate commercial intent.

Deliverables

  • Structured logging (Pino/Winston) and error tracking (Sentry) integration
  • Usage‑based billing with Stripe (metered: execution count + workspace seats)
  • Simple landing page with sign‑up and waitlist for free‑tier self‑hosted
  • Pre‑built macro gallery with 10 community macros (GitHub → Slack, Notion → GitHub, etc.)
  • Basic analytics dashboard (executions per day, active users, error rate)

Exit criteria

  • A paying customer can subscribe to a Pro plan and see usage metering in real time.
  • Application logs are shipped to an external service and alert on 5xx spike.
  • The gallery displays 10 macros; users can import them with one tap.

Build first

Build first, skip first, and watchouts

First things to build

  • Database migration scripts for users, workspaces, mcp_servers using Drizzle ORM.
  • Registration and login endpoints with JWT, plus a middleware to protect all API routes.
  • Workspace creation and simple invite-by-email model (accept flow later).
  • GitHub OAuth flow: redirect to GitHub, exchange code, encrypt token, store in MCPServer.
  • `MCPServerManager` class that loads connected servers on startup and initializes MCP clients.
  • Basic React Native screens for Sign‑up, Workspace list, and MCP Servers list (using Expo Router).
  • Docker Compose file that boots PostgreSQL, runs migrations, and serves the unified Expo+Node app.

Not to build yet

  • Full macro scheduling with cron expressions and background jobs (post‑MVP).
  • Marketplace or public macro gallery with voting and comments (Phase 5 seed only).
  • Advanced execution debugger with breakpoints and step‑by‑step stepping (simplify to log viewer).
  • Admin dashboard with user analytics, billing management, and server health (Phase 5).
  • AI‑assisted macro generation or natural‑language automation (too speculative).
  • White‑label / OEM SDK for embedding the hub in other products.

Risks / blockers

  • Authentication and multi‑tenancy are absent; without them, the product cannot protect user data and is unfit for any hosted plan.
  • No observability (logging, error tracking) means debugging production failures is blind; user trust erodes quickly.
  • The repository shows a single active contributor despite 4 listed; high bus factor—if that person leaves, development halts.
  • Billing integration is partial; until Stripe is wired, there is no path to revenue for the hosted service.
  • Mobile‑first UX may be too constrained for heavy macro editing; power users may prefer a desktop‑optimized web dashboard.

Builder prompts

Derived builder prompts

Master

Master context prompt

Expand prompt
You are building a fresh implementation inspired by the CassieMarie0728/mcp-hub repository.
Treat the repository as a reverse-engineering reference, not as the default destination codebase.
Infer the product, architecture, entities, and flows from the reference repository, then rebuild the core system intentionally from scratch.
Do not blindly clone the original repo. Do not default to patching or refactoring it in place.
Build in small phases and keep the first version focused and maintainable.
Product thesis: Let developers and teams build, execute, and share multi-tool automation workflows from a single mobile or web interface, reducing cross-tool toil to zero.
Commercial/product framing: Workflow automation remains desktop-bound and script-heavy; a mobile-optimized, no-code MCP orchestrator unlocks ad‑hoc automation for distributed teams and lowers the integration barrier.
Target user: Developers, SREs, and power users in small to mid‑sized teams who juggle GitHub, Slack, Notion, and other services daily and need a central, no‑code way to chain their actions.
MVP scope:
- Register and connect to MCP servers via OAuth, with encrypted credential storage and token refresh.
- Record a macro by capturing a sequence of real tool invocations from a connected server.
- Edit macro steps in a form‑based editor (reorder, delete, modify parameters).
- Execute a macro on demand and display step‑by‑step progress and a terminal‑style output log.
- View execution history with status, timestamps, and replay capability.
- Share a macro as a read‑only link that another logged‑in user can import and run in their workspace.
- Create a workspace and invite a teammate via email; basic role (admin/member).
- Deploy the whole stack as a single Docker Compose service for self‑hosting.
Stack assumptions:
- Frontend: Expo (React Native) with Expo Router for file‑based cross‑platform routing; NativeWind for utility‑first styling.
- Backend: Node.js with Express or a lightweight server framework, co‑located in `server/_core/`.
- Database: PostgreSQL accessed through Drizzle ORM, with migrations generated via `drizzle-kit`.
- Auth: JWT stored in SecureStore (mobile) or httpOnly cookie (web); OAuth flows use Expo AuthSession.
- MCP protocol: `@modelcontextprotocol/sdk` client and transport layers, managed by a singleton `MCPClientManager` (from `lib/mcp-client.ts`).
- Deployment: Docker with multi‑stage build (Node 20‑alpine), exposed on port 3000, orchestrated via `docker‑compose.yml`.
- Testing: Vitest for unit/service tests, with React Testing Library for component tests.
- CI: GitHub Actions for lint, type‑check, test, and Docker build on every push.
Key entities:
- User: id (uuid), email (string, unique), password_hash (string), name (string), created_at (timestamp)
- Workspace: id (uuid), name (string), owner_id (fk → User), created_at (timestamp)
- MCPServer: id (uuid), workspace_id (fk → Workspace), name (string), type (string, e.g., 'github', 'slack'), credentials (encrypted JSON)
- Macro: id (uuid), workspace_id (fk → Workspace), name (string), description (text), steps (JSON array of {serverId, toolName, params})
- Execution: id (uuid), macro_id (fk → Macro), status (enum: pending|running|success|failed|cancelled), started_at (timestamp), finished_at (timestamp)
- WorkspaceMember: workspace_id (fk → Workspace), user_id (fk → User), role (enum: 'admin' | 'member'), invited_at (timestamp), accepted_at (timestamp, nullable)
Core pages / routes / flows:
- Sign‑up / Login (app/(tabs)/onboarding.tsx (initial screen)): User registration, email verification, and JWT issuance; redirect to workspace creation if none.
- MCP Servers Dashboard (app/(tabs)/mcp-servers.tsx): List currently connected servers; tap to see detail, add new, or disconnect.
- Add / Edit Server (app/(tabs)/add-server.tsx & app/(tabs)/edit-server.tsx): OAuth flow or manual API key entry; test connection; save credentials encrypted.
- Macro Builder (app/(tabs)/macro-builder.tsx): Start recording; capture tool calls in real time; stop and name the macro; land in editor.
- Macro Editor & Chaining (app/(tabs)/macro-editor.tsx & app/(tabs)/macro-chaining.tsx): View step list; edit params; reorder; add conditions/simple branching; chain two macros.
- Execution History & Debugger (app/(tabs)/execution-history.tsx & app/(tabs)/execution-debugger.tsx): Past runs; tap to open a debug view showing step‑by‑step logs and any error details.
- Macro Sharing (app/(tabs)/macro-sharing.tsx): Generate a shareable link; view link history; manage access revocation.
- Workspace Settings & Invites (app/(tabs)/admin-dashboard.tsx (restricted to admin)): Invite members, change roles, see billing usage (future), and workspace name.
Backend services / modules:
- Auth Service: Handles user registration, login, JWT signing/verification, and OAuth state management. Exposes middleware for route protection.
- MCP Connection Manager: Maintains active MCP client instances per server; handles encryption/decryption of stored credentials; provides a tool discovery API.
- Macro Engine: Recording instrument that captures tool calls; persists step definitions; provides a playback engine with step‑by‑step execution.
- Execution Logger: Persists execution status and per‑step logs in real time; exposes a streaming endpoint for live debugger.
- Sharing Service: Creates short‑lived tokens that grant read‑only access to a macro; manages import flow into another workspace.
- Workspace Service: Manages workspace CRUD, member invitations, and role‑based access control (resource scoping).
Do not build yet:
- Full macro scheduling with cron expressions and background jobs (post‑MVP).
- Marketplace or public macro gallery with voting and comments (Phase 5 seed only).
- Advanced execution debugger with breakpoints and step‑by‑step stepping (simplify to log viewer).
- Admin dashboard with user analytics, billing management, and server health (Phase 5).
- AI‑assisted macro generation or natural‑language automation (too speculative).
- White‑label / OEM SDK for embedding the hub in other products.
Major risks / blockers:
- Authentication and multi‑tenancy are absent; without them, the product cannot protect user data and is unfit for any hosted plan.
- No observability (logging, error tracking) means debugging production failures is blind; user trust erodes quickly.
- The repository shows a single active contributor despite 4 listed; high bus factor—if that person leaves, development halts.
- Billing integration is partial; until Stripe is wired, there is no path to revenue for the hosted service.
- Mobile‑first UX may be too constrained for heavy macro editing; power users may prefer a desktop‑optimized web dashboard.
Work in phases. After each phase, summarize what was built, what remains, and which assumptions from the reference repo you intentionally did or did not keep.

Phase 1

Phase 1 foundation prompt

Expand prompt
Phase 1 foundation

Objective: Stand up a multi‑tenant backend with user auth, workspaces, and the ability to connect a GitHub MCP server.

Deliverables:
- Database schema for Users, Workspaces, WorkspaceMembers, and MCPServers
- Auth Service with register/login endpoints (JWT)
- Workspace creation and invite/accept flow
- OAuth flow for GitHub (server‑side token exchange, encrypted storage)
- Basic MCP Servers list/add/edit mobile pages
- Docker Compose with PostgreSQL and Node backend
- Exit: A new user can sign up, create a workspace, and successfully connect a GitHub server via OAuth.
- Exit: The connected server appears in the dashboard and can be tested with a simple tool call (e.g., list repos).
- Exit: All sensitive credentials are encrypted at rest with a workspace‑scoped key.

Rules:
- Start by reverse engineering the product shape from the reference repo, then create a clean fresh project structure.
- Set up the minimum schema, services, routes, and project structure required for the MVP.
- Avoid polish work, avoid optional abstractions, and avoid copying implementation details you do not understand.

Start by reverse engineering the reference repository, then implement the fresh build in the smallest clean sequence.

Phase 2

Phase 2 core flow prompt

Expand prompt
Phase 2 core flow

Objective: Enable users to record a sequence of tool calls from any connected server and persist it as a reusable macro.

Deliverables:
- Recording instrumentation in MCPClient that intercepts calls and stores them in a buffer
- Macro model and API endpoints (CRUD)
- Macro Builder screen with start/stop recording and step preview
- Macro Editor screen for modifying steps manually (reorder, delete, edit params)
- Unit tests for the recording and serialization logic
- Exit: A user can record a 3‑step macro from a GitHub server (e.g., create issue, comment, close) and save it.
- Exit: The saved macro appears in the macro list and can be edited; step changes are reflected on re‑play.

Rules:
- Implement the core pages, routes, and backend modules needed for the happy path in the fresh build.
- Use the reference repo for behavior and architecture cues, not as the code target.
- Preserve maintainability and add only the minimum comments needed.

Start by reverse engineering the reference repository, then implement the fresh build in the smallest clean sequence.

Phase 3

Phase 3 polish/refactor prompt

Expand prompt
Phase 3 polish and refactor

Objective: Let users run a macro and see a step‑by‑step execution log with pass/fail status.

Deliverables:
- ExecutionRunner service that plays back macro steps via the MCP connection
- Execution and StepResult database tables
- Synchronous execution API endpoint with real‑time log streaming (SSE)
- Execution History screen with list of past runs
- Execution Debugger screen showing step logs, errors, and timing
- Cancel execution flow
- Exit: A user selects a macro, taps 'Run', and sees a live log of each step completing or failing.
- Exit: Failed steps are clearly marked with error details; the user can replay the macro.
- Exit: Execution history persists across app restarts and shows sorted by date.

Rules:
- Refine the fresh implementation without introducing a large refactor.
- Improve validation, edge cases, and developer ergonomics where the core flow already exists.
- Prefer targeted cleanup over architecture churn or feature creep.

Start by reverse engineering the reference repository, then implement the fresh build in the smallest clean sequence.

Deploy

Deploy/finalization prompt

Expand prompt
Deploy and finalization

Objective: Prepare the implementation for release, verification, and handoff.

Deliverables:
- Verify the main flows work.
- Check configuration, environment assumptions, and release blockers.
- Summarize remaining risks and suggested follow-up work.

Rules:
- Do not add speculative infrastructure.
- Focus on practical release readiness, tests, and explicit known gaps versus the reference repo.

Start by reverse engineering the reference repository, then implement the fresh build in the smallest clean sequence.

Bugfix

Bugfix/refinement prompt

Expand prompt
Bugfix and refinement

Objective: Fix the specific bug or implementation gap in the fresh build while preserving the established architecture.

Deliverables:
- Reproduce the issue in the rebuilt implementation.
- Patch the smallest reliable fix.
- Explain what caused it, how to verify the fix, and whether the reference repo suggests an architecture guardrail you missed.

Rules:
- Inspect the fresh implementation before editing.
- Do not rewrite working systems just to fix a localized issue.

Start by reverse engineering the reference repository, then implement the fresh build in the smallest clean sequence.

Shared with Git Pitcher

This webpage is a public artifact generated from a repository. Git Pitcher turns repos into Repo Reads, Audits, and Build Packs you can actually use with an AI coding agent.

    Build Pack · CassieMarie0728/mcp-hub