Provides tools for managing and editing documents, including a dedicated prompt template for formatting document content into Markdown.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Document MCP ServerList all documents and read the content of deposition.md"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Document MCP Server
A simple MCP (Model Context Protocol) server and MCP client for managing documents using FastMCP.
Features
Tools:
read_doc_contents: Read the contents of a document.edit_document: Edit a document by replacing text.return all the docs: List all document IDs.
Resources:
docs://documents: JSON list of document IDs.docs://documents/{doc_id}: Plain text content of a specific document.
Prompts:
format_to_md: Prompt template for formatting documents to Markdown.
Prerequisites
Python 3.12 or higher
uv (Python package manager and project manager)
Installation
Ensure you have Python 3.12+ installed.
Install uv if not already installed:
pip install uvClone or download this project to your local machine.
Navigate to the project directory:
cd "path/to/mcp server"Create a virtual environment and install dependencies:
uv sync
Running the Server
To run the MCP server in development mode:
uv run mcp dev mcp_server.pyThe server runs on stdio transport, suitable for MCP clients.
Testing the Functionality
Test client is provided in mcp_client.py to verify the server works.
To test:
In one terminal, start the server:
uv run python mcp_server.pyIn another terminal, run the test client:
uv run mcp_client.py
This will connect to the server and list the available tools, printing them to the console.
For more advanced testing, you can modify mcp_client.py to call specific tools, read resources, or get prompts.
Example: To read a document content, you could add code like:
# Inside the async main function
doc_content = await client.call_tool("read_doc_contents", {"doc_id": "deposition.md"})
print(doc_content)Project Structure
mcp_server.py: The main MCP server implementation.mcp_client.py: A test client for interacting with the server.pyproject.toml: Project configuration and dependencies.
Notes
The server uses an in-memory dictionary for documents. Changes are not persisted.
Ensure the virtual environment is activated when running Python commands.