Skip to content

Architecture Overview

Deployer

Prodgy is a distributed platform composed of multiple services that communicate with each other. Each service has a specific responsibility and can be deployed independently.

ServiceTechnologyPortDescription
APINode.js / Express4000Main backend — authentication, CRUD, websockets, REST API
WebReact / Vite3000Platform frontend (SPA)
ServiceNode.js / Express / BullMQ5000Queue processing and asynchronous tasks
EnginePython / FastAPI / LangGraph8001AI execution engine — agent and workflow orchestration
StudioReact / Vite5173Visual workflow editor
GatewayNode.js / Express / MCP SDK3100MCP server — exposes integrations and tools for external MCP clients
AgenticNode.js / Express / AI SDK3200AI agent orchestrator — multi-step execution with LLM providers
AssistantC# / .NET 8443 / 8445Microsoft Teams bot (calls and messages)
DocsAstro / Starlight4321Platform documentation

                    ┌──────────┐
                    │   Web    │ (3000)
                    │  Studio  │ (5173)
                    └────┬─────┘
                         │ HTTP
                    ┌────▼─────┐
                    │   API    │ (4000)
                    └──┬─┬─┬──┘
                       │ │ │
            ┌──────────┘ │ └──────────┐
            │            │            │
      ┌─────▼────┐  ┌───▼────┐  ┌────▼─────┐
      │  Service  │  │ Engine │  │ Supabase │
      │  (5000)   │  │ (8001) │  │ (Postgres)│
      └─────┬─────┘  └───┬────┘  └──────────┘
            │             │
       ┌────▼─────┐       │
       │  Redis   │◄──────┘
       │  (6379)  │
       └──────────┘

      ┌───────────┐
      │  Gateway  │ (3100)
      │  (MCP)    │──── HTTP ──→ API (4000)
      └───────────┘

      ┌───────────┐
      │  Agentic  │ (3200)
      │  (AI SDK) │──── HTTP ──→ API (4000)
      └───────────┘

      ┌───────────┐
      │ Assistant  │ (443/8445)
      │  (.NET)    │──── HTTP ──→ API (4000)
      └─────┬──────┘             Redis (6379)

      Microsoft Teams

The platform’s central service. All requests from frontends and external integrations go through it.

  • Authentication and authorization (JWT + API Tokens)
  • REST API for all resources (agents, integrations, knowledge, etc.)
  • WebSocket via Socket.io for real-time updates
  • Organization, product, and user management
  • Communication with Supabase (PostgreSQL)
  • Proxy to Engine and Service

React application that provides the platform interface.

  • Monitoring dashboard
  • Chat playground with agents
  • Integration and knowledge base management
  • Admin panel
  • Light/dark theme

Processes asynchronous tasks using BullMQ with Redis as broker.

  • Data pipeline processing
  • Document import and indexing
  • Background task execution
  • Automatic retries with configurable backoff

AI agent execution engine written in Python.

  • Agent orchestration via LangGraph
  • Semantic search with embeddings (pgvector)
  • Integration with LLM providers (OpenAI, Anthropic, Google)
  • Workflow and MCP tool execution

React application for visual agent workflow creation.

  • Drag-and-drop workflow editor
  • Node and connection configuration
  • Workflow preview and testing
  • Available only to system users

MCP server that exposes Prodgy integrations and tools for external MCP clients (Claude Code, Cursor, Windsurf, etc.).

  • MCP protocol via HTTP (StreamableHTTP transport)
  • Bridge between external AI clients and the Prodgy integration ecosystem
  • Platform tools (knowledge search, agents, integration catalog)
  • Dynamic integration tools (loaded from the organization’s active integrations)
  • Communication with the API via service tokens and user tokens

AI agent orchestration service using Vercel AI SDK.

  • Multi-step agent execution with streamText and generateText
  • Support for multiple LLM providers (OpenAI, Azure OpenAI, Anthropic, Google)
  • Streaming (SSE) and direct execution endpoints
  • Automatic agent discovery per workspace
  • Dynamic integration tool loading via API

.NET service for Microsoft Teams integration.

  • Messages and calls via Bot Framework
  • Real-time audio transcription
  • Task scheduling via Redis
  • Requires SSL certificate and Azure AD

The platform’s primary database.

AspectDetail
ProviderSupabase (managed PostgreSQL)
Extensionspgvector (embeddings), UUID, JSONB
AuthenticationJWT (anon key + service role key)
AccessVia Supabase client (Node.js and Python)

Cache and queue broker.

AspectDetail
Version7+ (Alpine)
DB 0BullMQ queues (Service)
DB 1Cache and scheduling (Assistant)
PersistenceAOF (Append-Only File)

Authentication between services is done via static tokens in headers:

CommunicationHeaderEnvironment Variable
Any → APIX-Api-KeyPRODGY_API_TOKEN
Service → EngineX-Api-KeyPRODGY_ENGINE_TOKEN
API → ServiceX-Api-KeyPRODGY_SERVICE_TOKEN
Gateway → APIX-Api-KeyPRODGY_API_TOKEN
Agentic → APIX-Api-KeyPRODGY_API_TOKEN
Assistant → APIX-Api-KeyConfigured in appsettings.json