MCP Document Server
# MCP Server for Document Management
A local development server that provides a simple interface for managing and accessing markdown documents using the Model Context Protocol (MCP).
## Features
- Serve markdown documents from a local directory
- List available documents
- Read document contents
- Simple and fast local development setup
- Support for both direct MCP and SSE communication
## Project Structure
```
.
├── documents/ # Directory containing markdown files
├── tools/ # Tool definitions
├── resources/ # Resource templates
├── utils/ # Utility functions
└── server.js # Main server file
```
## Setup
1. Install dependencies:
```bash
npm install
```
2. Create a `documents` directory in the project root and add your markdown files:
```bash
mkdir documents
```
3. Start the server:
```bash
npm start
```
4. In a separate terminal, run the inspector:
```bash
npm run inspect
```
## Usage
The server provides the following functionality:
1. List Documents:
- Access available markdown files through the inspector
- Files are listed with their names (without .md extension)
2. Read Documents:
- Click on any document in the inspector to view its contents
- Documents are served with proper markdown formatting
3. File Management:
- Add new markdown files to the `documents` directory
- Files are automatically detected and made available
- Only `.md` files are supported
## Development
The server uses:
- Express.js for the web server
- Model Context Protocol (MCP) for communication
- SSE (Server-Sent Events) for real-time updates
- Direct MCP communication for simple requests
## Error Handling
The server includes:
- Automatic port conflict resolution
- Graceful error handling for file operations
- Connection management for SSE
- Proper cleanup of resources
## Notes
- This is a local development server, not intended for production use
- No security measures are implemented as it's meant for local use only
- File operations are optimized for quick access and response
lv.TDQS
Scored across 2 tools
The two tools 'add' and 'test_docs_path' have no descriptions, making their purposes unclear. 'add' is extremely vague and could refer to many operations, while 'test_docs_path' suggests a testing function, but without descriptions, it's impossible to determine if they overlap or serve distinct roles. The lack of clarity creates significant ambiguity.
The tool names show inconsistency: 'add' uses a simple verb with no noun, while 'test_docs_path' uses a snake_case pattern with a verb-noun structure. This mixing of conventions (simple verb vs. descriptive snake_case) makes the naming unpredictable and chaotic, lacking a coherent pattern across the set.
With only 2 tools and no descriptions, it's difficult to assess the server's purpose, but based on the server name 'MCP Document Server', this count feels too thin for a document management domain. A document server typically requires more operations (e.g., create, read, update, delete, search), making 2 tools insufficient and poorly scoped.
Inferred from the server name, a document server should cover basic CRUD operations and document lifecycle management. With only vague tools like 'add' and 'test_docs_path', there are severe gaps—no clear ways to retrieve, update, delete, or search documents. This surface is highly incomplete and will likely cause agent failures in handling document-related tasks.