Model-Context-Protocol

Model-Context-Protocol

3

The MCP File System API is a server that allows interaction with a file system using HTTP requests and integrates with the Google Gemini API. It supports various file operations and is designed for efficient file handling and text summarization.

šŸš€ 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

MethodEndpointDescription
GET/read-text-from-file?file_path=path.txtRead file contents
POST/invokeCall 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! šŸŽÆ