Local File Reader MCP Server
by Savi-04
README.md
# Local File Reader MCP Server
This is a Model Context Protocol (MCP) server that provides an `analyze_spending` tool to AI assistants. It securely reads local files (CSV, JSON, TXT, MD, PDF, etc.) from the project directory and returns their text contents to the AI for analysis.
## Features
- **Supports multiple formats**: Reads text-based files out of the box, and uses `pdf-parse` to extract text from PDFs.
- **Secure**:
- Prevents path traversal and symlink attacks (only reads files inside the project directory).
- Prevents Out of Memory (OOM) crashes by enforcing a 10MB file size limit.
- Sanitizes error messages to prevent sensitive path leakage.
## Prerequisites
- Node.js (v18 or higher recommended)
- npm
## Setup & Installation
1. Open your terminal in the project directory (`mcp-project`).
2. Install the dependencies:
```bash
npm install
```
## Testing the Server (Using the MCP Inspector)
The easiest way to test this server is to use the official MCP Inspector. This spins up a local web interface where you can pretend to be the AI and test the tool manually.
1. Run the inspector command:
```bash
npx @modelcontextprotocol/inspector node index.js
```
2. The terminal will output a URL like `http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=...`. Open this link in your browser.
3. In the Inspector UI, go to the **Tools** tab.
4. Select `analyze_spending`.
5. Enter the `filename` of a file that exists in this directory (e.g. `test.csv` or `document.pdf`) and hit Run. The contents of the file will be returned!
## Using the Server with a real AI Agent
You can hook this local server up to any MCP-compatible AI client (like Claude Desktop or Cursor).
For example, to configure it in Claude Desktop, you would add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"local-file-reader": {
"command": "node",
"args": [
"/absolute/path/to/your/mcp-project/index.js"
]
}
}
}
```
Once connected, you can ask the AI: *"Can you analyze my spending in the data.csv file?"* and it will seamlessly use this tool to fetch the file contents.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues