mcp-server

yashwitam/mcp-server

3.1

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MCP Server is a Model Context Protocol server implementation that provides document management capabilities through a CLI interface powered by Claude AI.

Tools
2
Resources
0
Prompts
0

MCP Server

A Model Context Protocol (MCP) server implementation that provides document management capabilities through a CLI interface powered by Claude AI.

Overview

This project implements an MCP server that allows you to:

  • Read and edit documents
  • List available documents
  • Format documents using Markdown
  • Summarize document contents
  • Interact with documents through a CLI chat interface powered by Claude AI

Features

  • Document Management: Read, edit, and manage various document types
  • MCP Protocol: Implements the Model Context Protocol for AI tool integration
  • Claude AI Integration: Uses Anthropic's Claude for intelligent document processing
  • CLI Interface: Command-line chat interface for document interactions
  • Multiple Document Formats: Support for various document types (MD, PDF, DOCX, TXT)

Prerequisites

  • Python 3.8+
  • UV package manager (recommended) or pip
  • Anthropic API key

Installation

  1. Clone the repository:
git clone <repository-url>
cd mcp-server
  1. Create and activate a virtual environment:
# Using UV (recommended)
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Or using standard Python
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
# Using UV
uv pip install -r requirements.txt

# Or using pip
pip install -r requirements.txt
  1. Set up environment variables: Create a .env file in the project root:
CLAUDE_MODEL=claude-3-sonnet-20240229
ANTHROPIC_API_KEY=your_anthropic_api_key_here
USE_UV=1  # Set to 0 if not using UV

Usage

Basic Usage

Run the main application:

python main.py

Or with UV:

uv run main.py

Running the MCP Server

The MCP server can be run independently:

python mcp_server.py

Or with UV:

uv run mcp_server.py

CLI Chat Interface

The application provides a CLI chat interface where you can:

  • Ask questions about documents
  • Request document summaries
  • Format documents
  • Edit document contents

Project Structure

mcp-server/
├── core/                   # Core application modules
│   ├── chat.py            # Chat functionality
│   ├── claude.py          # Claude AI service integration
│   ├── cli.py             # CLI application logic
│   ├── cli_chat.py        # CLI chat interface
│   └── tools.py           # Utility tools
├── mcp_server.py          # MCP server implementation
├── mcp_client.py          # MCP client implementation
├── main.py                # Main application entry point
└── README.md              # This file

MCP Server Features

The MCP server provides the following tools and resources:

Tools

  • read_document: Read contents of a document
  • edit_document: Edit document content by replacing text

Resources

  • docs://documents: List all available documents
  • docs://documents/{doc_id}: Get specific document content

Prompts

  • format: Rewrite document in Markdown format
  • summarize: Summarize document contents

Available Documents

The server comes with sample documents:

  • deposition.md - Testimony documentation
  • report.pdf - Technical report
  • financials.docx - Financial information
  • outlook.pdf - Performance projections
  • plan.md - Implementation plan
  • spec.txt - Technical specifications

Configuration

Environment Variables

  • CLAUDE_MODEL: The Claude model to use (default: claude-3-sonnet-20240229)
  • ANTHROPIC_API_KEY: Your Anthropic API key
  • USE_UV: Set to "1" to use UV, "0" to use standard Python

UV vs Python

The application can use either UV or standard Python. Set USE_UV=1 in your .env file to use UV, or USE_UV=0 to use standard Python.

Development

Running Tests

# Using UV
uv run pytest

# Using Python
python -m pytest

Code Style

The project follows Python best practices and uses type hints throughout.

Troubleshooting

Common Issues

  1. API Key Error: Ensure your ANTHROPIC_API_KEY is set correctly in the .env file
  2. Model Error: Verify the CLAUDE_MODEL is a valid model name
  3. UV Not Found: Install UV or set USE_UV=0 to use standard Python

Debug Mode

The MCP server runs in DEBUG mode by default. Check the console output for detailed logging information.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

[Add your license information here]

Support

For issues and questions, please open an issue on the repository.