Skip to main content
Glama

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

  1. Ensure you have Python 3.12+ installed.

  2. Install uv if not already installed:

    pip install uv
  3. Clone or download this project to your local machine.

  4. Navigate to the project directory:

    cd "path/to/mcp server"
  5. 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.py

The 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:

  1. In one terminal, start the server:

    uv run python mcp_server.py
  2. In 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.

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mparth14/MCP-anthropic'

If you have feedback or need assistance with the MCP directory API, please join our Discord server