Blank Files MCP

效率与工作流

by filearchitect

用于从 blankfiles.com 列出并获取最小可用空白文件的 MCP 服务器,适合模板与占位场景。

什么是 Blank Files MCP

用于从 blankfiles.com 列出并获取最小可用空白文件的 MCP 服务器,适合模板与占位场景。

README

Blank Files Website

Laravel application that powers blankfiles.com. Browse and download minimal valid blank files by type and category. File data and assets are served from the filearchitect/blank-files repository via a configurable CDN.

Requirements

  • PHP 8.2+
  • Composer
  • Node.js 18+ (for Vite frontend build)

Installation

bash
git clone https://github.com/filearchitect/blankfiles-website.git
cd blankfiles-website
composer install
cp .env.example .env
php artisan key:generate

Set CDN_URL in .env (see Configuration). Then build the frontend and run the app:

bash
npm install && npm run build
php artisan serve

Or use Laravel Herd with a .test domain.

Configuration

VariableDescription
CDN_URLRequired. Base URL used to construct downloadable file URLs as {CDN_URL}/files/{filename}. Default: https://raw.githubusercontent.com/filearchitect/blank-files/main (set in config/app.php).
CATALOG_URLOptional. Direct URL for the catalog JSON (files/files.json). Default is https://raw.githubusercontent.com/filearchitect/blank-files/main/files/files.json for freshness.
CACHE_ENABLEDOptional. When true, the file list from the CDN is cached. TTL is controlled by CATALOG_TTL_MINUTES (default 10). See config/cache.php and app/Services/FileService.php.
CATALOG_TTL_MINUTESOptional. Cache TTL in minutes for the remote catalog when CACHE_ENABLED=true. Lower values reflect new formats sooner; higher values reduce CDN fetches.
API_KEYSOptional. Comma-separated API keys for higher-rate API clients (used by X-API-Key or Authorization: Bearer ...).
API_PUBLIC_RATE_LIMITOptional. Public API requests/minute limit (default 30).
API_KEY_RATE_LIMITOptional. API-key requests/minute limit (default 300).
API_USAGE_LOG_CHANNELOptional. Logging channel for API usage analytics (default api_usage).
OPENPANEL_CLIENT_IDOptional. Enables OpenPanel web analytics script when set.
OPENPANEL_CLIENT_SECRETOptional. Reserved for server-side OpenPanel events (not exposed to browser script).

Project structure

PathPurpose
app/Http/Controllers/FileController.phpWeb: homepage, file detail page, download proxy.
app/Http/Controllers/Api/FileController.phpAPI: list all files, list files by type.
app/Services/FileService.phpFetches catalog JSON (CATALOG_URL) and formats file URLs from CDN_URL.
routes/web.phpWeb routes (home, files show, download).
routes/api.phpAPI v1 routes.
resources/views/files/Blade views for file listing and file detail.

Deployment

On push to main, GitHub Actions:

  1. Builds the frontend (Vite) with npm ci and npm run build.
  2. SCPs public/build/ to the Forge server.
  3. Triggers a Laravel Forge deployment.
  4. Runs php artisan optimize:clear on the server.

Required repository secrets:

  • FORGE_SSH_HOST — SSH host for the server.
  • FORGE_SSH_USER — SSH user (e.g. forge).
  • SSH_PRIVATE_KEY — Private key for SCP/SSH.
  • FORGE_SERVER_ID — Forge server ID.
  • FORGE_SITE_ID — Forge site ID.
  • FORGE_API_KEY — Forge deploy token.

See .github/workflows/deploy.yml.


For developers and bots

Base URL

Production: https://blankfiles.com. HTML and JSON are available; use Accept: application/json where applicable.

Web routes

MethodPathDescription
GET/Homepage: file list by category. Responds with JSON when Accept: application/json. Throttle: 30/min.
GET/upload-testingBinary-focused landing page for upload testing intent, linking to high-demand file formats and categories.
GET/files/{category}/{type}SEO-friendly file detail page (e.g. /files/document-spreadsheet/xlsx). Constraints: category, type = [A-Za-z0-9\-]+.
GET/files/download/{category}/{type}Download proxy: streams the file with Content-Disposition: attachment (filename blank.{type} or blank.{type}.zip). Throttle: 60/min.

API routes (prefix api/v1)

MethodPathResponse
GET/api/v1/files{ "files": [ ... ], "meta": { "version", "generated_at", "count" } }.
GET/api/v1/files/{type}Same schema, filtered by extension.
GET/api/v1/files/{category}/{type}Same schema with exactly one matching entry when found; 404 when missing.
GET/api/v1/statusAPI health + aggregate catalog metrics (file_count, type_count, category_count) and upstream source info.

Machine-friendly notes

  • The canonical file catalog schema is defined in the blank-files repo: files/files.json (key files, array of { type, url, category, package? }).
  • Download URLs: use the API url field for direct CDN access, or GET /files/download/{category}/{type} for a same-origin download with a predictable filename.
  • Conditional requests are supported on API responses and sitemap (ETag, Last-Modified).
  • Rate limits: public IP-based limits and optional API-key limits (X-API-Key).
  • API usage analytics are logged to storage/logs/api-usage-*.log (configurable channel).
  • Compatibility policy: API policy.
  • Web landing analytics for growth pages are logged to storage/logs/web-traffic-*.log.

Client snippets

bash
curl -sS "https://blankfiles.com/api/v1/files/document-spreadsheet/xlsx" \
  -H "Accept: application/json" \
  -H "X-API-Key: $BLANKFILES_API_KEY"
js
const res = await fetch("https://blankfiles.com/api/v1/files", {
  headers: { "Accept": "application/json", "If-None-Match": etag }
});
if (res.status === 304) {
  // unchanged
}
python
import requests
r = requests.get("https://blankfiles.com/api/v1/status", timeout=20)
r.raise_for_status()
print(r.json())

Compatibility policy

  • URL versioning is stable under /api/v1/*.
  • Breaking changes require a new major API path version.
  • Deprecated endpoints are kept for at least 90 days before removal.
  • New fields may be added; clients should ignore unknown fields.

Related

MCP server (for agent marketplaces/registries)

This repository now includes a minimal MCP server that exposes Blank Files as tool calls.

  • Script: scripts/mcp/blankfiles-mcp.mjs
  • Run: npm run mcp:server
  • Optional env: BLANKFILES_BASE_URL (default: https://blankfiles.com)

Available MCP tools:

  • list_blank_files — list files, optional filters (category, type, limit)
  • files_by_type — list entries by extension
  • file_by_category_type — deterministic single lookup by category + extension

Example local MCP client config entry:

json
{
  "mcpServers": {
    "blankfiles": {
      "command": "node",
      "args": ["/absolute/path/to/blankfiles-website/scripts/mcp/blankfiles-mcp.mjs"],
      "env": {
        "BLANKFILES_BASE_URL": "https://blankfiles.com"
      }
    }
  }
}

Registry submission helpers:

  • Template metadata: scripts/mcp/registry/server.json.template
  • Publish checklist: scripts/mcp/registry/PUBLISHING.md

Published package workspace:

  • packages/blankfiles-mcp (publish as @filearchitect/blankfiles-mcp)

OpenClaw skill (ClawHub discoverability)

This repository includes an OpenClaw-ready skill bundle:

  • Skill path: skills/blankfiles
  • Skill entry: skills/blankfiles/SKILL.md
  • Publish guide: skills/blankfiles/references/publish.md

Typical publish flow:

bash
npm i -g clawhub
clawhub login
clawhub publish ./skills/blankfiles \
  --slug blankfiles \
  --name "Blank Files Gateway" \
  --version 1.0.0 \
  --changelog "Initial release" \
  --tags latest

License

This project is licensed under the MIT License.

常见问题

Blank Files MCP 是什么?

用于从 blankfiles.com 列出并获取最小可用空白文件的 MCP 服务器,适合模板与占位场景。

相关 Skills

技能工坊

by anthropics

Universal
热门

覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。

技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。

效率与工作流
未扫描114.1k

表格处理

by anthropics

Universal
热门

围绕 .xlsx、.xlsm、.csv、.tsv 做读写、修复、清洗、格式整理、公式计算与格式转换,适合修改现有表格、生成新报表或把杂乱数据整理成交付级电子表格。

做 Excel/CSV 相关任务很省心,能直接读写、修复、清洗和格式转换,尤其擅长把乱七八糟的表格整理成交付级文件。

效率与工作流
未扫描114.1k

PPT处理

by anthropics

Universal
热门

处理 .pptx 全流程:创建演示文稿、提取和解析幻灯片内容、批量修改现有文件,支持模板套用、合并拆分、备注评论与版式调整。

涉及PPTX的创建、解析、修改到合并拆分都能一站搞定,连备注、模板和评论也能处理,做演示文稿特别省心。

效率与工作流
未扫描114.1k

相关 MCP Server

文件系统

编辑精选

by Anthropic

热门

Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。

这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。

效率与工作流
83.4k

by wonderwhy-er

热门

Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。

这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。

效率与工作流
5.9k

EdgarTools

编辑精选

by dgunning

热门

EdgarTools 是无需 API 密钥即可解析 SEC EDGAR 财报的开源 Python 库。

这个工具解决了金融数据获取的痛点——直接让 AI 读取结构化财报,比如让 Claude 分析苹果的 10-K 文件。适合量化分析师或金融开发者快速构建数据管道。但注意,它依赖 SEC 网站稳定性,高峰期可能延迟。

效率与工作流
2.0k

评论