π§ Model Context Protocol (MCP) Server
About
A modular FastAPI-based MCP (Model Context Protocol) server that supports reading local JSON and Excel files via HTTP API. Easily extensible for agents and automation tools like Flowsie AI or n8n. Includes Docker support and clean production-ready structure.
Details
- Author
- sathishj21
- Downloads
- 355
- Categories
- Developer Tools
Jump to
- Reads local JSON and Excel files and returns JSON
- Exposes a single REST endpoint: GET /local/read
- Supports .json, .xlsx, and .xls file formats
- Configurable via the app/configs/ directory
- Can be run locally or inside a Docker container
- Built with FastAPI and includes autoβgenerated Swagger docs at /docs
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
π§ Model Context Protocol (MCP) ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install dependencies with pip install -r requirements.txt (requires Python 3.10+), then run locally with uvicorn app.main:app --reload --port 8000. Use the endpoint GET /local/read with a query parameter filename pointing to a file inside app/local_data/. A Docker image can be built with docker build -t mcp-server . and run with docker run -p 8000:8000 mcp-server.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"\ud83e\udde0 model context protocol (mcp) server": {
"mcp-server-sathishj21": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-server",
"."
]
}
}
}
}
McpServers
{
"mcp-server-sathishj21": {
"command": "docker",
"args": [
"build",
"-t",
"mcp-server",
"."
]
}
}
π§ Model Context Protocol (MCP) Server
This project is a modular, FastAPI-based MCP server designed for use in agent-based systems and orchestration tools like Flowsie AI and n8n. It currently supports reading local JSON and Excel files and returns the data in JSON format.
---
π Project Structure
mcp_project/
βββ app/
β βββ configs/ # App configuration settings
β βββ local_data/ # Folder to store local JSON/Excel files
β βββ models/ # (Reserved for data models)
β βββ routers/ # FastAPI route handlers
β βββ services/ # Business logic (file readers, connectors)
β βββ utils/ # Utility functions (logging, parsing)
β βββ main.py # FastAPI app entry point
βββ Dockerfile # Docker setup
βββ requirements.txt # Python dependencies
---
π Getting Started
1. Install dependencies
Make sure you have Python 3.10+ installed:
pip install -r requirements.txt
2. Run the app locally
uvicorn app.main:app --reload --port 8000
Server will be available at: http://localhost:8000/docs
3. Example Usage
Endpoint: GET /local/read
Query Parameter:
- filename: Name of the file inside app/local_data/ (e.g., sample.json, data.xlsx)
curl -X 'GET' 'http://localhost:8000/local/read?filename=sample.json' -H 'accept: application/json'
---
π³ Docker Usage
Build Docker Image
docker build -t mcp-server .
Run the Container
docker run -p 8000:8000 mcp-server
Then access the server at: http://localhost:8000/docs
---
π¦ File Support
The local file reader MCP server supports:
- .json β Standard structured JSON
- .xlsx / .xls β Excel files (auto-converted to JSON)
Returned format is always a JSON list or dict.
---
π Future Modules (Suggested)
- design_system_connector: For querying design metadata
- gmail_connector: Secure access to Gmail via OAuth
- context_session_handler: Track and manage agent sessions
---
π License
MIT License β use freely and modify as needed.
---
β¨ Author
This project was generated via [ChatGPT-4] and customized for real-world MCP use cases.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





