file-conversion
MCP server for converting between everyday file formats (CSV, Excel, Markdown, Word), including a GxP-compliant Markdown to Word template. Exposes four conversion tools over stdio.
README
file-conversion
A small library + CLI + MCP server for converting between everyday file formats. Built primarily for Claude Desktop to call during other workflows, but usable directly from the command line.
Currently supports:
- CSV → Excel (
.csv→.xlsx, one sheet) - Excel → CSV per sheet (
.xlsx→ one.csvper sheet in an output directory) - Markdown → Word (
.md→.docx, via pandoc) - Markdown → Word, GxP template — same as above, plus a version-history table, a definitions table, and a footer with title and version on every page
See requirements/requirements.md for the CLI spec and requirements/mcp.md for the MCP server spec.
Quick start
1. System dependency
The markdown → Word converters use pandoc. Install once:
brew install pandoc
2. Virtual environment
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
3. Smoke test
.venv/bin/file-conversion --help
CLI usage
file-conversion COMMAND [ARGS]...
Commands:
csv-to-xlsx CSV_PATH XLSX_PATH [--sheet-name NAME]
xlsx-to-csvs XLSX_PATH OUTPUT_DIR
md-to-docx MD_PATH DOCX_PATH [--landscape]
md-to-docx-gxp MD_PATH DOCX_PATH [--title TEXT] [--version TEXT] [--landscape]
md-to-docx-gxp reads optional YAML frontmatter from the markdown to populate
the version table and definitions table. CLI flags --title and --version
override frontmatter when provided. See requirements/requirements.md for the
frontmatter schema.
--landscape sets Letter landscape page orientation (11" × 8.5") on both
markdown → Word commands — useful for documents with wide tables. Without it,
pandoc's page setup is left untouched and Word applies its default portrait
page.
.venv/bin/file-conversion md-to-docx wide-tables.md wide-tables.docx --landscape
.venv/bin/file-conversion md-to-docx-gxp sop.md sop.docx --landscape
MCP server
python -m file_conversion.mcp_server exposes the same four conversions as MCP
tools over stdio. Add it to your Claude Desktop config as a regular MCP server.
Both markdown → Word tools take a landscape: bool = False argument matching
the CLI flag.
Contributing
See CONTRIBUTING.md for how to set up a dev environment,
run the tests, and submit a pull request.
License
Apache License 2.0 — see LICENSE.
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.