Carrot MCP
A collection of MCP (Model Context Protocol) servers for various hardware and data interfaces.
Installation
pip
pip install carrot-mcp
This installs all MCP servers (pdf, io, nfc, office) by default.
uv
uv pip install carrot-mcp
Install specific servers only
# pip or uv
pip install carrot-mcp[pdf]
pip install carrot-mcp[io]
pip install carrot-mcp[nfc]
pip install carrot-mcp[office]
Or install sub-packages directly
pip install carrot-mcp-pdf
pip install carrot-mcp-io
pip install carrot-mcp-nfc
pip install carrot-mcp-office
Quick Start
uvx (recommended)
# Run a specific server directly (no install needed)
uvx carrot-mcp-pdf@latest
uvx carrot-mcp-io@latest
uvx carrot-mcp-nfc@latest
uvx carrot-mcp-office@latest
CLI
# List all available servers
carrot-mcp list
# Run a specific server
carrot-mcp pdf
carrot-mcp io
carrot-mcp nfc
carrot-mcp office
# Run with uv
uv run carrot-mcp office
Python module
python -m carrot_mcp_pdf
python -m carrot_mcp_io
python -m carrot_mcp_nfc
python -m carrot_mcp_office
Available Servers
| Server | Package | Category | Description |
|---|---|---|---|
carrot-mcp-pdf |
Document | PDF processing | |
| Office | carrot-mcp-office |
Document | Excel & Word automation with auto-backup |
| IO | carrot-mcp-io |
Hardware | Serial, TCP, UDP communication |
| NFC | carrot-mcp-nfc |
Hardware | NFC reader (PN532, CLRC663) |
Document Servers
PDF MCP Tools
| Tool | Description |
|---|---|
version |
Get server version info |
get_toc |
Get table of contents with page ranges |
get_pages |
Convert specific pages to markdown (supports multimodal/OCR/force_ocr) |
create_task |
Start background full PDF conversion (multimodal/force_ocr option) |
get_status |
Check progress of background conversion task |
Office MCP Tools
| Tool | Description |
|---|---|
version |
Get server version info and backup configuration |
Excel Tools
| Tool | Description |
|---|---|
workbook_metadata |
Get workbook metadata (sheet names, properties) |
workbook_search |
Search for values in a sheet |
create_sheet |
Create a new sheet (creates workbook if needed) |
rename_sheet |
Rename a sheet |
delete_sheet |
Delete a sheet |
insert_rows |
Insert rows into a sheet |
delete_rows |
Delete rows from a sheet |
insert_columns |
Insert columns into a sheet |
delete_columns |
Delete columns from a sheet |
read_range |
Read cell values from a range |
write_range |
Write a 2D array to a range (supports formulas) |
copy_range |
Copy a range to another location |
delete_range |
Clear cell contents in a range |
read_chart |
Read chart information from a sheet |
write_chart |
Create a chart (bar, line, pie, scatter) |
format_range |
Format cells (font, color, alignment, merge/unmerge) |
Word Tools
| Tool | Description |
|---|---|
inspect |
Inspect document structure (paragraphs, tables, images) |
insert_para |
Insert a paragraph |
modify_para |
Modify paragraph text |
format_para |
Format a paragraph (style, alignment, font) |
delete_para |
Delete a paragraph |
insert_table |
Insert a table with optional data |
modify_table |
Modify a table cell |
format_table |
Apply a table style |
delete_table |
Delete a table |
insert_image |
Insert an image |
delete_image |
Delete an inline image |
Backup Tools
| Tool | Description |
|---|---|
backup_history |
List all backup versions of a file |
backup_restore |
Restore a file to a specific backup version |
Features:
- Auto-backup: All modifications are automatically versioned
- Legacy format support:
.doc→.docx,.xls→.xlsxvia win32com (Windows) - 100 version limit with 14-day expiry per file
Hardware Servers
IO MCP Tools
| Tool | Description |
|---|---|
version |
Get server version info |
list_transports |
List available transport types and serial ports |
open |
Open a connection (serial, tcp, udp) |
close |
Close a connection |
read |
Blocking read from buffer with timeout |
recv |
Non-blocking read from buffer |
write |
Write data (hex or ascii with escape support) |
script |
Execute a sequence of I/O operations (write/read/wait/flush) |
history |
Get operation history for a connection |
NFC MCP Tools
| Tool | Description |
|---|---|
version |
Get server version info |
list_readers |
List available reader types and transports |
connect |
Connect to NFC reader |
disconnect |
Disconnect from reader |
find |
Find and activate an NFC card |
transceive |
Raw frame exchange with bit-level control |
exchange |
Data exchange with auto CRC |
reqa |
ISO14443-A REQA |
wupa |
ISO14443-A WUPA |
halt |
ISO14443-A HALT |
select |
ISO14443-A SELECT |
anticoll |
ISO14443-A anti-collision |
field_on |
Turn on RF field |
field_off |
Turn off RF field |
script |
Execute a sequence of NFC operations |
trace_get |
Get trace log entries |
trace_clear |
Clear trace log buffer |
MCP Configuration
Add to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"carrot-pdf": {
"command": "uvx",
"args": ["carrot-mcp-pdf@latest"]
},
"carrot-office": {
"command": "uvx",
"args": ["carrot-mcp-office@latest"]
},
"carrot-io": {
"command": "uvx",
"args": ["carrot-mcp-io@latest"]
},
"carrot-nfc": {
"command": "uvx",
"args": ["carrot-mcp-nfc@latest"]
}
}
}
Development
# Clone and setup
git clone <repo-url>
cd carrot-mcp
uv sync --all-packages
# Run tests
uv run pytest
# Run tests for specific server
uv run pytest tests/pdf/ -v
uv run pytest tests/office/ -v
uv run pytest tests/io/ -v
uv run pytest tests/nfc/ -v
# Bump version and release
bump.bat # interactive
bump.bat carrot-mcp-office # direct package
License
Apache License 2.0 - see LICENSE for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
carrot_mcp-0.0.6.tar.gz
(149.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file carrot_mcp-0.0.6.tar.gz.
File metadata
- Download URL: carrot_mcp-0.0.6.tar.gz
- Upload date:
- Size: 149.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0ec45bd69f04f2ba02b656a553e64c51226f5fadf8d74907266262c27a5fbcc
|
|
| MD5 |
aea328709c414f75ef1089273f0e221a
|
|
| BLAKE2b-256 |
1b27768a28d558d4bc37f63b376836f9fa528b5a95ac21753bd4a80460431e54
|
File details
Details for the file carrot_mcp-0.0.6-py3-none-any.whl.
File metadata
- Download URL: carrot_mcp-0.0.6-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af3fd0ea57dde84751c3b2fcfd9029d701cf71582e8b0d888ba4359f1a4872f2
|
|
| MD5 |
f3c97c0362d45d45dc7d1d47c861e3d8
|
|
| BLAKE2b-256 |
60e3f26bf85a8a650966bb5a6c3534cccd590ce870759a7d760d19b3c65c0dc8
|