DocuMCP

DocuMCP

A document management system with MCP integration, enabling Claude Desktop to upload, search, and access documents via natural language.

Category
Visit Server

README

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

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured