parasjain2426/mcp_server_client_impl
If you are the rightful owner of mcp_server_client_impl and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This project is a simple Model Context Protocol (MCP) system that includes an MCP Server and an MCP Client, communicating via Server-Sent Events (SSE) using FastAPI.
π§ Model Context Protocol (MCP) - Server-Client Implementation
This project is a simple Model Context Protocol (MCP) system that includes an MCP Server and a MCP Client, communicating via Server-Sent Events (SSE) using FastAPI. It demonstrates lightweight tool invocation using SSE over HTTP.
ποΈ Architecture Overview
+-------------+ SSE HTTP +-------------+
| | <------------------------------------> | |
| MCP CLIENT | | MCP SERVER |
| (FastAPI) | /upload_claim β upload_claim | (SSE Tools) |
| Port: 5000 | /get_claim_details β get_claim_details | Port: 8000 |
+-------------+ +-------------+
π Project Structure
.
βββ client/ # MCP Client (FastAPI app)
β βββmain.py
β
βββ server/ # MCP Server with SSE tools
β βββmain.py
|
βββ README.md
βββ requirements.txt
π§ MCP Server
- Port:
8000
- Framework: FastAPI
- Protocol: Server-Sent Events (SSE)
- Defined Tools:
upload_claim
get_claim_details
βΆοΈ Running the MCP Server
cd server
pip install -r requirements.txt
python main.py
π MCP Client
- Port:
5000
- Framework: FastAPI
- Endpoints:
POST /upload_claim
β Callsupload_claim
tool on the MCP ServerGET /get_claim_details
β Callsget_claim_details
tool on the MCP Server
βΆοΈ Running the MCP Client
cd client
pip install -r requirements.txt
python main.py
π Communication Flow
- Client sends an SSE HTTP request to the MCP Server to invoke a tool.
- Server processes the request and streams the response back via SSE.
π¬ Sample Requests
POST /upload_claim
curl -X POST http://localhost:5000/upload_claim \
-H "Content-Type: application/json" \
-d '{
"emp_id": "12345",
"claim": "This is a dummy claim!"
}'
POST /get_claim_details
curl -X POST http://localhost:5000/get_claim_details \
-H "Content-Type: application/json" \
-d '{
"claim_id": "12345"
}'
π§° Requirements
Python 3.10+
requirements.txt`
"mcp[cli]"
fastapi
httpx
Install dependencies in each directory using:
pip install -r requirements.txt
β οΈ Notes
- This is a minimal prototype intended for development or educational use.
- Data is stored in-memory and will reset on server restart.
- SSE is used for simplicity and streaming compatibility.