Back to MCP directory
publicPublicdnsLocal runtime

Model-Context-Protocol

该项目实现了一个基于FastAPI的MCP服务器,支持通过HTTP请求与文件系统交互,包括文件创建、读取、复制、移动和删除,并集成了Google Gemini API进行文件内容处理和摘要生成。

article

README

🚀 MCP 文件系统 API

本项目实现了一个 MCP(模型上下文协议)服务器,可通过 HTTP 请求与 文件系统 进行交互。它支持 文件创建、读取、复制、移动和删除 等操作,采用 FastAPI 实现。此外,还集成了 Google Gemini API 用于处理和总结文件内容。

✨ 主要特性

  • ✅ 支持多种文件格式的读取 (.txt, .csv, .json, .xml, .docx)
  • ✅ 高效流式处理大文件
  • ✅ 集成 Google Gemini API 实现文本摘要功能
  • ✅ 支持 Cloud Run 部署

🛠️ 技术栈

  • Python 3.9+
  • FastAPI
  • MCP(模型上下文协议)
  • Google Gemini API
  • Uvicorn(ASGI 服务器)
  • httpx(异步 HTTP 请求)
  • aiofiles(异步文件处理)
  • Docker & Cloud Run

📦 安装指南

1️⃣ 克隆仓库

$ git clone https://github.com/Vijayk-213/Model-Context-Protocol.git
$ cd Model-Context-Protocol

2️⃣ 创建虚拟环境

$ python3 -m venv venv
$ source venv/bin/activate  # 在 Windows 上使用 `venv\Scripts\activate`

3️⃣ 安装依赖项

$ pip install -r requirements.txt

4️⃣ 设置环境变量

创建一个 .env 文件并添加你的 Google Gemini API Key

MCP_SERVER_URL=http://127.0.0.1:8000
GEMINI_API_KEY=your_gemini_api_key

🚀 快速开始

启动 MCP 服务器

$ uvicorn mcp_server:app --host 127.0.0.1 --port 8000 --reload

运行主应用

$ python main.py

📚 详细文档

📌 API 端点

| 方法 | 端点 | 描述 | |--------|----------------|---------------------------------| | GET | /read-text-from-file?file_path=path.txt | 读取文件内容 | | POST | /invoke | 调用 MCP 函数 |

🛠️ 未来增强

  • ✅ 实现 WebSocket 以支持实时文件更新
  • ✅ 添加对 云存储(Google Cloud Storage、AWS S3) 的支持
  • ✅ 改进 错误处理和日志记录

📌 贡献

欢迎自由地打开问题或拉取请求来改进项目!

🚀 愉快的编码! 🎯

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client