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

by parasjain2426

329 downloads
Not rated
GitHub

About

This is a basic MCP Server-Client Impl using SSE

Details

Author
parasjain2426
Downloads
329
Categories
Other

- FastAPI-based server and client with SSE transport
- Two defined tools: upload_claim and get_claim_details
- Client endpoints mirror server tools for easy invocation
- Simple in‑memory data storage (resets on restart)
- Minimal prototype suitable for learning or experimentation

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name 🧠 Model Context Protocol (MCP) - Server-Client Implementation
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Run the MCP server on port 8000 and the MCP client on port 5000, both using python main.py after installing dependencies from requirements.txt. The client exposes POST endpoints /upload_claim and /get_claim_details that invoke the corresponding tools on the server.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83e\udde0 model context protocol (mcp) - server-client implementation": {
            "mcp_server_client_impl": {
                "command": "python",
                "args": [
                    "main.py"
                ]
            }
        }
    }
}

McpServers

{
    "mcp_server_client_impl": {
        "command": "python",
        "args": [
            "main.py"
        ]
    }
}

🧠 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 reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.