%% Reusable MCP pattern: host to product APIs
%% Reference architecture: a reusable pattern, not a live client integration
flowchart TB
subgraph z0["Your AI host environment"]
user["User
named person"]
host["AI host application
chat app, IDE or agent"]
clients["MCP clients
one per server"]
approve["Human approval
sensitive actions"]
end
subgraph z1["GeekMidst reference pattern (proposed)"]
gw["Identity and policy gateway
proposed"]
audit["Audit log and monitoring
every call"]
registry["MCP server registry
internal allowlist"]
adapters["GeekMidst adapters
proposed, not built"]
end
subgraph z2["Vendor servers and product platforms"]
vendor["Vendor-hosted MCP servers
Salesforce, MCE, Data 360, Braze"]
sfapi["Salesforce APIs
REST, Apex, Flow"]
mcapi["Marketing Cloud APIs
Engagement"]
d360api["Data 360 APIs
query, segments"]
brazeapi["Braze REST API
endpoint-scoped keys"]
custom["Custom APIs
your services"]
end
user -->|"question or request"| host
host -->|"tool selection"| clients
clients -->|"MCP requests"| gw
gw -.->|"approval request"| approve
approve -->|"decision"| gw
gw -->|"call record"| audit
gw -->|"server lookup"| registry
gw -->|"vendor server calls"| vendor
gw -->|"adapter calls"| adapters
vendor -->|"Salesforce"| sfapi
vendor -->|"Marketing Cloud"| mcapi
vendor -->|"Data 360"| d360api
vendor -->|"Braze"| brazeapi
adapters -->|"scoped calls"| sfapi
adapters -->|"scoped calls"| brazeapi
adapters -->|"custom calls"| custom
classDef salesforce stroke:#125BD8,fill:#e8f0fd
class sfapi salesforce
classDef data stroke:#2f8a3a,fill:#e9f6ea
class d360api data
classDef engagement stroke:#5747AF,fill:#efedfa
class mcapi,brazeapi engagement
classDef ai stroke:#5747AF,fill:#f6f4fd
class host,clients ai
classDef integration stroke:#334155,fill:#eef2f6
class registry,adapters integration
classDef security stroke:#1f2937,fill:#f3f4f6
class gw,audit security
classDef external stroke:#64748b,fill:#ffffff
class vendor,custom external
classDef people stroke:#125BD8,fill:#ffffff
class user,approve people