EricBoix/mcp_test

★ 0Forks 0PythonGitHub ↗Compare

README

PDF MCP Server

An MCP server that exposes PDF files as resources, page by page, over Streamable HTTP.

Setup

Create and activate a virtual environment, then install dependencies:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Launch

fastmcp run server.py --transport http

The MCP endpoint will be available at http://localhost:8000/mcp.

Options

Flag Default Description
--host 127.0.0.1 Bind address
--port 8000 Port
--reload off Restart on file changes (dev mode)

Example with custom port:

fastmcp run server.py --transport http --port 9000

Resources

Place PDF files in the same directory as server.py. Three resource URIs are exposed:

URI Returns
pdf://list List of all PDF filenames in the server directory
pdf://{filename}/info Page count and metadata for the given PDF
pdf://{filename}/page/{page} Extracted text of page {page} (1-indexed)

Example

pdf://list
pdf://my_document.pdf/info
pdf://my_document.pdf/page/1

Running and testing

Use fastmcp (on cli) to run the server (and select the transport form)

fastmcp run server.py --transport http

Inspecting can be done with

npx @modelcontextprotocol/inspector

and connect after giving the URL returned by fastmcp command (usually http://127.0.0.1:8000/mcp) with a Streamable http transport type.

References

Contributors

EricBoix

Issues