MCP Server Prototypes
Provides three MCP servers for interacting with Excel files, PDF documents, and SQLite databases, enabling AI assistants to read, create, update, and analyze local resources.
README
MCP Server Prototypes
Overview
This project investigates the Model Context Protocol (MCP) and demonstrates how AI assistants can interact with external data sources through MCP servers.
Three MCP server prototypes were developed:
- Excel MCP Server
- PDF MCP Server
- SQL MCP Server
These servers expose tools that allow AI assistants such as Claude Desktop to read, create, update, and analyze local resources through a standardized protocol.
MCP Architecture
MCP follows a client-server architecture.
- The user interacts with an AI client.
- The AI client communicates with MCP servers using the MCP protocol.
- MCP servers expose tools.
- Tools perform operations on external resources.
- Results are returned to the AI client and presented to the user.
Architecture Diagram
User
↓
Claude Desktop (MCP Client)
↓
MCP Protocol
↓
MCP Servers
├── Excel Server
├── PDF Server
└── SQL Server
Technical Stack
| Component | Technology |
|---|---|
| Language | Python 3.x |
| MCP Framework | MCP Python SDK (FastMCP) |
| Excel Processing | openpyxl |
| PDF Processing | pdfplumber |
| Database | SQLite |
| Testing Client | Claude Desktop |
| Development Environment | VS Code |
Project Structure
mcp-prototypes/
│
├── README.md
├── requirements.txt
│
├── excel_mcp/
│ ├── server.py
│ └── sample.xlsx
│
├── pdf_mcp/
│ ├── server.py
│ ├── sample1.pdf
│ └── sample2.pdf
│
├── sql_mcp/
│ ├── server.py
│ └── database.db
│
└── .gitignore
Setup
Create Virtual Environment
python3 -m venv venv
Activate Environment
macOS/Linux
source venv/bin/activate
Windows
venv\Scripts\activate
Install Dependencies
pip install -r requirements.txt
SQLite is included with Python and does not require additional installation.
Claude Desktop Configuration
Example MCP configuration:
{
"mcpServers": {
"excel-mcp": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/excel_mcp/server.py"
]
},
"pdf-mcp": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/pdf_mcp/server.py"
]
},
"sql-mcp": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/sql_mcp/server.py"
]
}
}
}
Restart Claude Desktop after modifying the configuration.
Excel MCP Server
Tools
| Tool | Description |
|---|---|
| server_directory | Show server location |
| list_excel_files | List available Excel files |
| create_excel | Create workbook |
| read_excel | Read active sheet |
| read_range | Read cell range |
| read_sheet | Read specific sheet |
| write_row | Append row |
| update_cell | Update cell |
Example Prompts
- List available Excel files
- Create sales.xlsx with columns Customer, Product, Quantity
- Add a new row for Alice
- Read sales.xlsx
- Update Quantity to 500
- Read Sheet2 from sample.xlsx
PDF MCP Server
Tools
| Tool | Description |
|---|---|
| server_directory | Show server location |
| list_pdf_files | List available PDFs |
| read_pdf | Extract text |
| read_pdf_tables | Extract tables |
| pdf_metadata | Retrieve metadata |
Example Prompts
- List available PDF files
- Summarize sample1.pdf
- Extract tables from sample2.pdf
- Show metadata for sample2.pdf
- What are the key findings in sample2.pdf?
SQL MCP Server
Tools
| Tool | Description |
|---|---|
| server_directory | Show server location |
| list_database_files | List SQLite databases |
| list_tables | Show tables |
| describe_table | Show schema |
| run_query | Execute SELECT queries |
| run_write | Execute INSERT/UPDATE/DELETE queries |
| seed_demo_data | Create demo data |
Example Prompts
- Create demo data
- Show all orders
- Describe the orders table
- Add a new order for Sofia
- Update Sofia's quantity to 3
- Which customer placed the most orders?
Key Findings
Traditional AI assistants are limited to information available within the conversation context.
The Model Context Protocol extends these capabilities by allowing AI clients to discover and invoke external tools exposed by MCP servers.
In this project:
- The Excel MCP server provided access to spreadsheets.
- The PDF MCP server provided access to document contents.
- The SQL MCP server provided access to database records.
These tools enabled Claude Desktop to perform real file and database operations through a standardized protocol.
Limitations
These prototypes were designed for demonstration and learning purposes.
Current limitations include:
- No authentication
- Limited error handling
- Direct SQL execution
- Files restricted to server directories
- No role-based access control
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.