Vijayk-213/Model-Context-Protocol
If you are the rightful owner of Model-Context-Protocol 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 implements an MCP Server for file system interaction via HTTP requests, supporting file operations and integration with Google Gemini API.
π MCP File System API
π Overview
This project implements an MCP (Model Context Protocol) Server that allows interaction with a file system via HTTP requests. It supports file creation, reading, copying, moving, and deletion using FastAPI. Additionally, it integrates with Google Gemini API to process and summarize file contents.
π Features
β
Read various file formats (.txt, .csv, .json, .xml, .docx)
β
Stream large files efficiently
β
Integrate with Google Gemini API for text summarization
β
Cloud Run deployment support
π οΈ Tech Stack
- Python 3.9+
- FastAPI
- MCP (Model Context Protocol)
- Google Gemini API
- Uvicorn (ASGI Server)
- httpx (Async HTTP requests)
- aiofiles (Async File Handling)
- Docker & Cloud Run
π Getting Started
1οΈβ£ Clone the Repository
$ git clone https://github.com/Vijayk-213/Model-Context-Protocol.git
$ cd Model-Context-Protocol
2οΈβ£ Set Up a Virtual Environment
$ python3 -m venv venv
$ source venv/bin/activate # On Windows use `venv\Scripts\activate`
3οΈβ£ Install Dependencies
$ pip install -r requirements.txt
4οΈβ£ Set Environment Variables
Create a .env
file and add your Google Gemini API Key:
MCP_SERVER_URL=http://127.0.0.1:8000
GEMINI_API_KEY=your_gemini_api_key
π Running the Application
Start the MCP Server
$ uvicorn mcp_server:app --host 127.0.0.1 --port 8000 --reload
Run the Main Application
$ python main.py
π API Endpoints
Method | Endpoint | Description |
---|---|---|
GET | /read-text-from-file?file_path=path.txt | Read file contents |
POST | /invoke | Call MCP function |
π οΈ Future Enhancements
β
Implement WebSockets for real-time file updates
β
Add support for cloud storage (Google Cloud Storage, AWS S3)
β
Improve error handling & logging
π Contributing
Feel free to open issues or pull requests to improve the project!
π Happy Coding! π―