CSV
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"novaai-innovation-csv-mcp-server": {
"command": "uv",
"args": [
"run",
"csv-mcp-server"
],
"env": {
"CSV_STORAGE_PATH": "/var/data/csvs",
"CSV_MAX_FILE_SIZE": "50",
"CSV_BACKUP_ENABLED": "true",
"CSV_SUPPORT_ABSOLUTE_PATHS": "true"
}
}
}
}This CSV MCP Server provides a focused set of MCP endpoints for managing CSV files through a standard input/output (stdio) transport. It supports creating, reading, updating, deleting, and transforming CSV data, with optional absolute-path access and basic data analysis capabilities, all orchestrated via the MCP protocol over stdio.
How to use
You interact with the server through an MCP client over stdio transport. Start the server using the provided CLI wrapper and then issue commands to manage CSV files. You can run the server with default settings, increase visibility with a log level, or enter development mode if you are actively developing against the MCP endpoints.
How to install
Prerequisites: you should have Node.js and npm installed on your system, as well as access to a shell or terminal where you can run the MCP tooling commands.
Install the CSV MCP Server tool in your project environment using the package manager you prefer. Once installed, you can start the server with the stdio transport by invoking the runtime wrapper.
npm install -g uv
uv add csv-mcp-server
uv run csv-mcp-server
# Optional: run with an explicit log level for debugging
uv run csv-mcp-server --log-level DEBUG
# Development mode (alternative): use the development command if you are actively building against the server
uv run mcp dev csv_mcp_server/server.py
Configuration and runtime notes
Configuration is done via environment variables and runtime flags. The server supports absolute-path access to CSV files and can store data in a configurable base directory. The following environment variables influence behavior when running the server:
- CSV_STORAGE_PATH: Base path for CSV file storage (default: current directory)
- CSV_MAX_FILE_SIZE: Maximum file size in MB (default: 50)
- CSV_BACKUP_ENABLED: Enable automatic backups (default: true)
- CSV_SUPPORT_ABSOLUTE_PATHS: Enable absolute path support (default: true)
Security considerations include path validation, protection of system directories, permission checking, and safe symbolic link resolution to prevent path traversal attacks.
Absolute Path Support
You can create, read, and modify CSV files located anywhere on the filesystem using absolute paths. This enables working with files outside the default storage directory while maintaining backward compatibility with relative paths.
Common operations with absolute paths include creating a CSV at a specific path, obtaining path information, and performing read/update operations directly on the specified file.
Transport
The server communicates exclusively through stdio using JSON-RPC 2.0. This makes it suitable for integration with MCP clients that support stdio transport, as well as command-line tools and scripted workflows.
Examples
Typical usage patterns include creating a CSV with headers and data, reading contents, updating cells, adding or removing rows, and obtaining simple statistics or validations for the data.
Notes
All CSV operations respect absolute-path semantics when enabled and are subject to the implemented security checks to prevent unsafe file access.
Available tools
create_csv
Create a new CSV file with headers and initial data.
create_csv_at_path
Create a CSV file at a specific absolute or relative path.
read_csv
Read and display CSV file contents.
update_csv
Update specific cells or rows in a CSV file.
delete_csv
Delete a CSV file.
add_row
Add new rows to an existing CSV file.
remove_row
Remove specific rows from a CSV file.
get_info
Get basic information about a CSV file.
get_statistics
Get statistical summary of numeric columns.
filter_data
Filter CSV data based on conditions.
sort_data
Sort CSV data by specified columns.
group_data
Group and aggregate CSV data.
validate_data
Validate CSV data integrity and format.
get_path_info
Get detailed information about a file path (supports absolute paths).