MCP.so
Sign In
Servers

MCP File Reader Server

@spar65

Overview

What is MCP File Reader Server?

A simple MCP server that reads files from a designated data directory. It supports two transport modes: Stdio (managed by Cursor) and SSE (run manually via Uvicorn/Starlette). Designed for developers who want to make local file content accessible to AI assistants within Cursor.

How to use MCP File Reader Server?

Install Python 3.8+, clone the repo, create a virtual environment, and install dependencies (mcp, uvicorn[standard], starlette, httpx). For Stdio mode, configure the global Cursor MCP config file to point to the server script and toggle it on in Cursor Settings. For SSE mode, run ./start_sse.sh and let Cursor discover the server via the project’s .mcp.json file. Then issue prompts like read test.txt using the file-reader server (Stdio) or read sse_test.txt using the file-reader-sse server (SSE).

Key features of MCP File Reader Server

  • Two transport modes: Stdio (Cursor-managed) and SSE (manual Uvicorn)
  • Reads files from a dedicated data directory per mode
  • Includes an SSE client script for manual testing
  • Logging output to stderr for troubleshooting
  • MIT licensed

Use cases of MCP File Reader Server

  • Let an AI assistant read configuration or log files from a local data folder
  • Provide file content as context during coding sessions in Cursor
  • Test MCP server interactions using the included SSE client script
  • Securely expose a limited directory of text files to an MCP client

FAQ from MCP File Reader Server

Which data directory does each mode use?

Stdio mode (file-reader) reads from ~/mcp_data (home directory). SSE mode (file-reader-sse) reads from ./project_mcp_data_sse (within the project directory).

How do I run the SSE server?

Run ./start_sse.sh in the project root. It installs dependencies and starts a Uvicorn server listening on http://127.0.0.1:8080. The client connects to the /sse path.

What dependencies are required?

Python 3.8+, the mcp package, and for SSE mode additionally uvicorn[standard], starlette, and httpx.

Can I toggle the server in Cursor’s UI?

Yes, for Stdio mode you must first configure the global cursor_mcp_config.json, then restart Cursor and toggle file-reader on in Cursor Settings → MCP.

What transport does each mode use?

Stdio mode runs the server as a subprocess managed by Cursor. SSE mode runs an HTTP server that listens for SSE connections; the client connects via sse_client.

More from Other