Skip to main content
Glama

DocuMCP - Document Management System with MCP Integration

A powerful document management system that combines local file storage with vector database capabilities, accessible through both a web GUI and Claude Desktop via the Model Context Protocol (MCP).

Features

  • ๐Ÿ“š Document Management: Upload, store, and organize documents with a beautiful web interface

  • ๐Ÿ” Vector Search: Semantic search powered by Qdrant vector database

  • ๐Ÿค– MCP Integration: Access documents directly from Claude Desktop

  • ๐Ÿ” Authentication: Secure JWT-based authentication system

  • ๐ŸŽจ Modern GUI: Responsive web dashboard for easy document management

  • ๐Ÿณ Docker Support: Easy deployment with Docker Compose

Related MCP server: MCP Server

Quick Start

Prerequisites

  • Node.js 20+

  • Docker & Docker Compose (optional, for Qdrant)

  • Claude Desktop (for MCP integration)

Installation

  1. Clone and install dependencies:

git clone <repository>
cd documcp
npm install
  1. Start Qdrant (using Docker):

docker run -p 6333:6333 -v ./qdrant_data:/qdrant/storage qdrant/qdrant
  1. Configure environment:

cp .env.example .env
# Edit .env with your settings
  1. Build and start the application:

npm run build
npm start
  1. Access the web interface: Open http://localhost:3456 in your browser

  • Default login: admin / admin123

Docker Deployment

For production deployment with Docker:

docker-compose up -d

This will start:

  • Qdrant vector database on port 6333

  • DocuMCP web server on port 3456

  • MCP server on port 3457

Claude Desktop Integration

  1. Build the MCP server:

npm run build
  1. Add to Claude Desktop configuration:

Edit your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this configuration:

{
  "mcpServers": {
    "documcp": {
      "command": "node",
      "args": ["/path/to/documcp/dist/mcp-server.js"],
      "env": {
        "QDRANT_URL": "http://localhost:6333",
        "COLLECTION_NAME": "documents"
      }
    }
  }
}
  1. Restart Claude Desktop

Available MCP Tools

Once configured, Claude can use these tools:

  • list_documents - List all documents in the system

  • search_documents - Semantic search across documents

  • read_document - Read specific document content

  • delete_document - Remove documents from the system

Architecture

DocuMCP/
โ”œโ”€โ”€ Web GUI (Express + HTML/JS)
โ”‚   โ”œโ”€โ”€ Authentication (JWT)
โ”‚   โ”œโ”€โ”€ File Upload/Download
โ”‚   โ””โ”€โ”€ Document Management
โ”œโ”€โ”€ MCP Server
โ”‚   โ””โ”€โ”€ Document Access Tools
โ”œโ”€โ”€ Storage Layer
โ”‚   โ”œโ”€โ”€ Local File System (./uploads)
โ”‚   โ””โ”€โ”€ Qdrant Vector DB
โ””โ”€โ”€ API Layer
    โ”œโ”€โ”€ REST API
    โ””โ”€โ”€ MCP Protocol

Configuration

Environment Variables

Variable

Description

Default

PORT

Web server port

3456

JWT_SECRET

JWT signing secret

(required)

ADMIN_PASSWORD

Admin login password

admin123

QDRANT_URL

Qdrant server URL

http://localhost:6333

COLLECTION_NAME

Qdrant collection

documents

UPLOAD_DIR

File storage directory

./uploads

MAX_FILE_SIZE

Max upload size (bytes)

10485760

Development

# Run in development mode
npm run dev

# Run MCP server standalone
npm run mcp:dev

# Build TypeScript
npm run build

Security Notes

โš ๏ธ Important for Production:

  • Change default JWT_SECRET and ADMIN_PASSWORD

  • Use HTTPS in production

  • Configure proper CORS settings

  • Implement rate limiting

  • Add file type restrictions

  • Use environment-specific configs

Troubleshooting

Qdrant Connection Issues

  • Ensure Qdrant is running: docker ps

  • Check logs: docker logs qdrant

  • Verify port 6333 is accessible

MCP Server Not Connecting

  • Check Claude Desktop logs

  • Verify path in config is absolute

  • Ensure Node.js is in PATH

Upload Failures

  • Check MAX_FILE_SIZE setting

  • Verify uploads directory permissions

  • Check available disk space

License

MIT

Contributing

Pull requests welcome! Please ensure:

  • Code follows TypeScript best practices

  • Tests pass (when implemented)

  • Documentation is updated

  • Security considerations addressed

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A file management system powered by Claude AI that provides document access and manipulation through MCP protocol and Telegram bot integration, enabling users to interact with files via natural language commands.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that provides document management capabilities including reading, editing, and summarizing documents through a CLI chat interface powered by Claude AI.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying enterprise documents (DOCX, PDF, PPTX) using natural language, with hybrid search and MCP integration for Claude Desktop and other agents.
      MIT