Document Assistant MCP Server

Document Assistant MCP Server

Provides tools for indexing documents, creating notes, searching content, and extracting metadata to enable document processing and knowledge management.

Category
Visit Server

README

Document Assistant MCP Server

A Model Context Protocol (MCP) server for document processing, note-taking, and knowledge management. This server provides tools for indexing documents, creating notes, searching content, and extracting metadata.

Features

  • Document Indexing: Index documents for fast search and retrieval
  • Note Taking: Create and organize markdown notes with tags
  • Search: Search indexed documents by keywords and tags
  • Metadata Extraction: Extract metadata from documents automatically

Installation

Prerequisites

  • Python 3.10 or higher
  • pip (Python package installer)

Setup

  1. Clone or download this repository to your workspace

  2. Activate your Python virtual environment:

source myvenv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Install the package in development mode:
pip install -e .

Project Structure

.
├── .clinerules/              # Cline rules for coding standards
│   ├── 01-coding.md          # Core coding standards
│   ├── 02-documentation.md   # Documentation requirements
│   └── current-sprint.md     # Current sprint rules
├── memory-bank/              # Cline Memory Bank
│   ├── common-knowledge/     # Document format knowledge
│   ├── code-snippets/        # Reusable code patterns
│   └── configuration/        # Configuration settings
├── src/
│   └── document_assistant/   # Main package
│       ├── server.py         # MCP server implementation
│       └── utils/            # Utility modules
│           ├── errors.py              # Custom exceptions
│           └── document_processor.py  # Document processing logic
├── requirements.txt          # Python dependencies
├── setup.py                  # Package setup configuration
└── README.md                 # This file

Usage

Starting the Server

Run the MCP server using Python:

python -m document_assistant.server

Or use the installed console script:

document-assistant

Available Tools

1. index_document

Index a document for search and retrieval.

Parameters:

  • path (required): Path to the document to index
  • tags (optional): Array of tags for categorization

Example:

{
  "path": "/path/to/document.md",
  "tags": ["work", "project"]
}

2. create_note

Create a new note in markdown format.

Parameters:

  • title (required): Title of the note
  • content (required): Content of the note in markdown
  • tags (optional): Array of tags for the note

Example:

{
  "title": "Meeting Notes",
  "content": "## Discussion Points\n\n- Item 1\n- Item 2",
  "tags": ["meeting", "2024"]
}

3. search_documents

Search indexed documents by keywords or tags.

Parameters:

  • query (required): Search query string
  • tags (optional): Array of tags to filter results
  • limit (optional): Maximum number of results (default: 10)

Example:

{
  "query": "meeting",
  "tags": ["work"],
  "limit": 5
}

4. extract_metadata

Extract metadata from a document.

Parameters:

  • path (required): Path to the document

Example:

{
  "path": "/path/to/document.md"
}

Configuration

Storage Locations

  • Documents: ./documents (created automatically)
  • Index: ./index (created automatically)
  • Backups: ./backups (if enabled)

Supported File Formats

  • Markdown (.md)
  • Plain text (.txt)
  • JSON (.json)

Development

Running Tests

pytest tests/

Code Style

This project follows PEP 8 coding standards. Use the following tools for code quality:

# Format code
black src/

# Check style
flake8 src/

# Type checking
mypy src/

MCP Configuration

To use this server with Cline or other MCP clients, add it to your MCP settings:

{
  "mcpServers": {
    "document-assistant": {
      "command": "python",
      "args": ["-m", "document_assistant.server"],
      "cwd": "/home/wjmuse/workspace/mcp_daily_life"
    }
  }
}

Memory Bank

The memory-bank/ directory contains custom instructions for Cline:

  • common-knowledge/: Document format knowledge and best practices
  • code-snippets/: Reusable MCP patterns and code examples
  • configuration/: Server settings and preferences

Contributing

  1. Follow the coding standards in .clinerules/01-coding.md
  2. Update documentation as per .clinerules/02-documentation.md
  3. Check current sprint rules in .clinerules/current-sprint.md

License

MIT License

Troubleshooting

Import Errors

If you encounter import errors, ensure:

  1. Virtual environment is activated
  2. Dependencies are installed: pip install -r requirements.txt
  3. Package is installed in development mode: pip install -e .

Path Issues

  • Use absolute paths when possible
  • Ensure document paths are accessible
  • Check file permissions

Support

For issues and questions, please refer to:

  • .clinerules/ directory for development guidelines
  • memory-bank/ directory for knowledge base
  • MCP documentation: https://docs.cline.bot/mcp

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