🧠 Model Context Protocol (MCP) - Server-Client Implementation

🧠 Model Context Protocol (MCP) - Server-Client Implementation

By parasjain2426 GitHub

This is a basic MCP Server-Client Impl using SSE

mcp server-client
Overview

What is Model Context Protocol (MCP)?

Model Context Protocol (MCP) is a server-client implementation that facilitates communication between an MCP Client and MCP Server using Server-Sent Events (SSE) with FastAPI. It allows for lightweight tool invocation over HTTP.

How to use MCP?

To use MCP, set up the MCP Server and Client by following the instructions in the README. Start the server and client applications, and use the provided endpoints to interact with the system.

Key features of MCP?

  • Lightweight communication using Server-Sent Events (SSE)
  • FastAPI framework for both server and client
  • Defined tools for uploading claims and retrieving claim details

Use cases of MCP?

  1. Submitting claims through the MCP Client.
  2. Retrieving details of submitted claims.
  3. Educational purposes for understanding server-client communication.

FAQ from MCP?

  • What is the purpose of the MCP?

The MCP serves as a prototype for demonstrating server-client communication using SSE.

  • Is the MCP suitable for production use?

No, this is a minimal prototype intended for development or educational use only.

  • How is data stored in MCP?

Data is stored in-memory and will reset on server restart.

Content

🧠 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.

No tools information available.

-

mcp model-context-protocol
View Details

Buttplug.io Model Context Protocol (MCP) Server

mcp buttplug
View Details

MCP web search using perplexity without any API KEYS

mcp puppeteer
View Details

free MCP server hosting using vercel

mcp mantle-network
View Details

MCPHubs is a website that showcases projects related to Anthropic's Model Context Protocol (MCP)

mcp mcp-server
View Details

Share MCP 是一个专注于 Model Context Protocol (MCP) 的导航站点。它提供了丰富的 MCP 相关资源、工具和服务的分类展示,帮助开发者快速找到所需的 MCP 解决方案。

mcp agents
View Details