mcp_server_client_impl

parasjain2426/mcp_server_client_impl

3.1

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 β†’ Calls upload_claim tool on the MCP Server
    • GET /get_claim_details β†’ Calls get_claim_details tool on the MCP Server

▢️ Running the MCP Client

cd client
pip install -r requirements.txt
python main.py

πŸ”„ Communication Flow

  1. Client sends an SSE HTTP request to the MCP Server to invoke a tool.
  2. 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.