MCP Server
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
Clone the repository:
git clone <repository-url>
cd mcp-serverCreate 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\activateInstall dependencies:
# Using UV
uv pip install -r requirements.txt
# Or using pip
pip install -r requirements.txtSet up environment variables: Create a
.envfile 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 UVUsage
Basic Usage
Run the main application:
python main.pyOr with UV:
uv run main.pyRunning the MCP Server
The MCP server can be run independently:
python mcp_server.pyOr with UV:
uv run mcp_server.pyCLI 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 fileMCP Server Features
The MCP server provides the following tools and resources:
Tools
read_document: Read contents of a documentedit_document: Edit document content by replacing text
Resources
docs://documents: List all available documentsdocs://documents/{doc_id}: Get specific document content
Prompts
format: Rewrite document in Markdown formatsummarize: Summarize document contents
Available Documents
The server comes with sample documents:
deposition.md- Testimony documentationreport.pdf- Technical reportfinancials.docx- Financial informationoutlook.pdf- Performance projectionsplan.md- Implementation planspec.txt- Technical specifications
Configuration
Environment Variables
CLAUDE_MODEL: The Claude model to use (default: claude-3-sonnet-20240229)ANTHROPIC_API_KEY: Your Anthropic API keyUSE_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 pytestCode Style
The project follows Python best practices and uses type hints throughout.
Troubleshooting
Common Issues
API Key Error: Ensure your
ANTHROPIC_API_KEYis set correctly in the.envfileModel Error: Verify the
CLAUDE_MODELis a valid model nameUV Not Found: Install UV or set
USE_UV=0to use standard Python
Debug Mode
The MCP server runs in DEBUG mode by default. Check the console output for detailed logging information.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
[Add your license information here]
Support
For issues and questions, please open an issue on the repository.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yashwitam/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server