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

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

Local
github.com/parasjain2426Developer Tools0Updated 81w ago

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

A minimal FastAPI MCP server-client prototype for development and learning. It demonstrates tool calls over SSE, with claim data kept in memory and reset when the server restarts.

Key features

  1. 01FastAPI server and client
  2. 02SSE over HTTP communication
  3. 03Claim upload and detail tools
  4. 04In-memory data storage

Use cases

  1. 01Learning an SSE-based MCP flow
  2. 02Testing claim upload and lookup calls

MCP support

Includes an MCP server exposing `upload_claim` and `get_claim_details` tools, plus a FastAPI client that calls them over SSE.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.