test-files-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@test-files-mcpcreate a 5MB PNG image"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Test Files MCP
Generate test files directly from your AI coding assistant.
Need a 20 MB JPEG? A 100,000-row CSV? A corrupted PDF? Ask your MCP client and Test Files MCP creates it locally.
One-click install
Client | What happens when you click |
Cursor | Opens Cursor and prompts you to add the MCP server |
Claude Desktop | Downloads |
Claude Desktop has no URL deeplink for MCP JSON config. The
.mcpbbundle is Anthropic's official one-click install format for local servers.
Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"test-files": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Zulelee/test-files-mcp",
"test-files-mcp"
]
}
}
}Related MCP server: Agent Helper
Why this exists
Testing file uploads, parsers, validators, and storage limits usually means hunting for sample files or writing one-off scripts. Test Files MCP lets you describe what you need in plain language and get a real file on disk with useful metadata back.
Features
Dummy files — exact byte sizes (1 byte to GB-scale, within limits)
Images — JPEG, PNG, WEBP, BMP with dimensions, patterns, and approximate target sizes
PDFs — multi-page, blank or with fixture text, approximate target sizes
CSV — streamed generation up to 1M rows
JSON — valid or intentionally malformed fixtures
ZIP archives — empty, flat, or nested
WAV audio — tones or silence at configurable duration
Corrupted files — truncate, bad headers, garbage bytes, wrong extensions
Edge-case filenames — spaces, unicode, long names, hidden files
File inspection — size, MIME type, SHA256, image/audio metadata
Example prompts
Tell your MCP client things like:
Create a 25 MB JPEG
Generate a CSV with 500,000 rows
Create a corrupted PDF
Give me a 30-second WAV
Create an empty ZIP
Generate a weird filename for upload testingInstallation
With uvx (recommended)
From Git (replace Zulelee with your GitHub username or org):
uvx --from git+https://github.com/Zulelee/test-files-mcp test-files-mcpAfter publishing to PyPI:
uvx test-files-mcpFrom source
git clone https://github.com/Zulelee/test-files-mcp
cd test-files-mcp
uv sync
uv run test-files-mcpCursor setup
This repository follows the Agent Plugins standard. Plugin components live at the repo root:
.plugin/plugin.json # Portable manifest
.cursor-plugin/plugin.json
.mcp.json # MCP server (stdio via uv)
skills/ # Agent skills
commands/ # Slash commands
agents/ # Subagents
rules/ # Project rules
hooks/hooks.json # Lifecycle hooks
.lsp.json # Python LSP configAdd to your Cursor MCP settings (.cursor/mcp.json or Cursor Settings → MCP):
{
"mcpServers": {
"test-files": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Zulelee/test-files-mcp",
"test-files-mcp"
]
}
}
}For local development:
{
"mcpServers": {
"test-files": {
"command": "uv",
"args": ["run", "test-files-mcp"],
"cwd": "/path/to/test-files-mcp"
}
}
}Claude Desktop setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"test-files": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/Zulelee/test-files-mcp",
"test-files-mcp"
]
}
}
}Available MCP tools
Tool | Description |
| Generic file with exact byte size |
| JPEG, PNG, WEBP, BMP images |
| Multi-page PDF fixtures |
| CSV with synthetic rows (streamed) |
| Valid or malformed JSON |
| ZIP archives |
| WAV audio (tone or silence) |
| Corrupted copy of a file |
| Files with tricky filenames |
| Inspect file metadata |
Configuration
Set environment variables to customize behavior:
Variable | Default | Description |
|
| Default output directory |
|
| Maximum file size (MB) |
|
| Maximum CSV rows |
|
| Maximum PDF pages |
|
| Max image width/height |
|
| Max audio duration |
Generated files are written to the output directory and returned as absolute paths.
Safety limits
This MCP intentionally generates large files. Requests exceeding configured limits return a clear error — values are never silently clamped.
Example error:
Requested file size is 500 MB, but the configured maximum is 250 MB.
Set TEST_FILES_MAX_FILE_SIZE_MB to increase the limit.Development
git clone https://github.com/Zulelee/test-files-mcp
cd test-files-mcp
uv sync --group devRunning tests
uv run pytest
uv run ruff check src testsRebuild Claude Desktop bundle
mcpb pack . dist/test-files-mcp.mcpbRegenerate install badge URLs after changing MCP config:
uv run python scripts/generate-install-badges.pyMCP Inspector
uv run mcp dev src/test_files_mcp/server.pyContributing
Contributions welcome! Please open an issue or pull request on GitHub.
Suggested topics for the repository:
mcp, model-context-protocol, python, testing, developer-tools, test-data, fixtures, qa, cursor, claude, file-upload, open-source
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Large Language Models to safely browse and interact with local file systems through secure directory listing, file reading, and content search capabilities. Built with comprehensive security controls and high-performance handling of large directories and files.
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to process files locally — OCR images, extract text from PDFs and DOCX, and describe images using local vision models, all without sending data to external services.
- FlicenseNot gradedqualityDmaintenanceGenerates images using Google's Gemini model, with options to save to file or return as base64 data URL.
- FlicenseNot gradedqualityCmaintenanceEnables file operations (PDF, Office, images, archives, media) through natural language, with tools for reading, writing, converting, and analyzing files locally.1
Related MCP Connectors
Generate images, video, music and voice from your CLI or AI agent. On-brand AI media toolkit.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.
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/Zulelee/test-files-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server