MCP Server Client
by muralianand12345
The MCP Server Client project outlines a system architecture involving multiple services and tools, including a frontend, API, and various backend components. It leverages services like OpenAI for chat completion and embedding, and incorporates tools like MCP servers for specific tasks.
View on GitHub
Last updated: N/A
%%{init: {'flowchart': {'curve': 'bezier'}}}%%
flowchart TB
subgraph Client
User["User"]
Frontend["Streamlit Frontend"]
end
subgraph API
NestJS["NestJS API"]
subgraph Services
ChatService["Chat Service"]
AgentService["Agent Service"]
ToolAgentService["Tool Agent Service"]
RagService["RAG Service"]
OpenAIService["OpenAI Service"]
end
end
subgraph Tools
MCP1["MCP Server 1"]
MCP2["MCP Server 2"]
end
subgraph Storage
LocalStack["AWS S3"]
PGVector["PGVector"]
PostgreSQL["Postgres DB"]
end
subgraph External
OpenAI["OpenAI API"]
end
User -- "query" --> Frontend
Frontend -- "response" --> User
Frontend -- "POST /chat" <--> NestJS
NestJS <--> ChatService
ChatService <--> RagService
ChatService <--> AgentService
ChatService <--> ToolAgentService
RagService -- "embedding" <--> OpenAIService
RagService <--> PGVector
ToolAgentService -- "/sse" <--> MCP1
ToolAgentService -- "/sse" <--> MCP2
AgentService -- "chat-completion" <--> OpenAIService
OpenAIService <--> OpenAI
MCP1 <--> LocalStack
MCP2 <--> PostgreSQL
%% Data flow
class User,Frontend client
class NestJS,ChatService,AgentService,ToolAgentService,RagService,OpenAIService api
class MCP1,MCP2 tools
class LocalStack,PostgreSQL storage
class OpenAI external