Discover, index, and search the Vercel Templates gallery from your terminal or agent.
No public Vercel API exists — this tool builds a local, searchable catalog with install commands, metadata, and semantic search so you can find the right starter template in seconds.
Get the first search result in under a minute:
pip install vercel-templates-discovery
vercel-templates index
vercel-templates search "ai chatbot" --jsonExample output:
[
{
"slug": "/templates/next.js/chatbot",
"title": "Chatbot",
"description": "A full-featured, hackable Next.js AI chatbot built by Vercel",
"github_url": "https://github.com/vercel/chatbot",
"owner": "vercel",
"repository": "chatbot"
}
]- Search by keyword — full-text search over titles, descriptions, frameworks, and use cases.
- Search by intent — semantic search with local embeddings (opt-in via Ollama).
- Show details — print GitHub URL, install command, README excerpt, and metadata for any template.
- Compare templates — diff two templates side by side by fields.
- Recommend templates — score templates against a stack or feature set.
- Stay current — nightly re-index workflow or
vercel-templates index --reset. - Plug into agents — MCP server, REST API, and cross-agent skill included.
- Use it anywhere — Python CLI, TypeScript CLI, local Docker build, or programmatic API.
pip install vercel-templates-discoveryRequires Python 3.10+.
npm install -g @imkxnny/vercel-templates-discoveryRequires Node.js 20+.
A Docker image is built automatically on tagged releases. To build locally before the first image is published:
docker build -t vercel-templates-discovery .
docker run --rm vercel-templates-discovery vercel-templates --helpTo persist the index, mount a volume:
docker run --rm -v vercel-templates-cache:/root/.cache/vercel-templates \
vercel-templates-discovery vercel-templates indexvercel-templates indexvercel-templates search "ai chatbot" --limit 3
vercel-templates search "ecommerce" --jsonpip install -e ".[semantic]" # Python only; npm package includes sqlite-vec by default
vercel-templates semantic "AI chatbot" --limit 5
vercel-templates search "AI chatbot" --semanticSemantic search requires a running Ollama instance (default: http://localhost:11434). See Configuration for customization.
vercel-templates show /templates/next.js/chatbotvercel-templates diff /templates/next.js/chatbot /templates/next.js/blogvercel-templates recommend "next.js, ai, tailwind"vercel-templates export --output templates.json
vercel-templates export --output templates.json --include-readmesThe default export includes metadata only. Full READMEs are opt-in via --include-readmes.
vercel-templates serve
vercel-templates serve --host 0.0.0.0 --port 8080Endpoints:
| Endpoint | Description |
|---|---|
GET /health |
Health check |
GET /templates?q=...&limit=... |
Keyword search |
GET /templates/semantic?q=...&limit=... |
Semantic search (requires semantic extra) |
GET /templates/recommend?stack=... |
Recommend by stack |
GET /templates/recent |
Recently added templates |
GET /templates/trending |
Trending templates |
GET /templates/{slug} |
Get one template by slug |
GET /categories |
List frameworks and use cases |
Start the stdio MCP server (blocks and reads/writes JSON-RPC messages on stdin/stdout):
python -m vercel_templates.mcp_server
# or
vercel-templates-mcpTools exposed:
search_templates(query, limit)search_templates_semantic(query, limit)get_template(slug)list_categories()recommend_templates(stack, limit)list_recent_templates()list_trending_templates()
Claude Desktop / Cursor config:
{
"mcpServers": {
"vercel-templates": {
"command": "python",
"args": ["-m", "vercel_templates.mcp_server"]
}
}
}A cross-agent skill is included in skills/productivity/vercel-templates-discovery/ and is listed on skills.sh. Install it into any compatible agent with:
npx skills add imKXNNY/vercel-templates-discovery --yesSupported agents include Claude Code, Cursor, Copilot, Codex, OpenCode, and Hermes. The skill tells the agent how to invoke the CLI, REST API, and MCP server correctly.
Copy or symlink the skill into your Hermes profile's skills/ directory:
# Windows native Hermes
copy /Y skills\productivity\vercel-templates-discovery %LOCALAPPDATA%\hermes\skills\vercel-templates-discovery
# WSL / Linux / macOS
ln -s skills/productivity/vercel-templates-discovery ~/.hermes/profiles/default/skills/vercel-templates-discovery| Variable | Default | Description |
|---|---|---|
VTD_OLLAMA_URL |
http://localhost:11434/api/embed |
Ollama embeddings endpoint |
VTD_EMBEDDING_MODEL |
nomic-embed-text-v2-moe:latest |
Embedding model name |
When you change the embedding model, existing vectors are no longer semantically compatible. Re-run vercel-templates index --reset before querying.
vercel_templates/ # Python implementation
├── scraper.py # crawler + SQLite cache
├── cli.py # Typer CLI
├── server.py # FastAPI REST server
├── mcp_server.py # stdio MCP server
└── embeddings.py # Ollama + sqlite-vec semantic search
ts/ # TypeScript / Node implementation
├── src/
│ ├── scraper.ts # crawler + SQLite cache
│ ├── cli.ts # Commander CLI
│ ├── mcp-server.ts # stdio MCP server
│ └── index.ts # library exports
└── tests/
The scraper parses Vercel's server-rendered pages and Next.js flight payloads to extract metadata, GitHub URLs, and install commands. The entire catalog can be rebuilt in under a minute.
See docs/PROJECT_PLAN.md for the roadmap and CHANGELOG.md for release notes. Version 1.0.0 is released and available on PyPI and npm. A Docker image is built automatically for each tag and published to GitHub Container Registry once the repository is public.
This project is unofficial and community-driven. Feedback, ideas, and bug reports are very welcome:
- Open a GitHub Issue
- Join the discussion on the Vercel Community Showcase
This is an unofficial, community-maintained tool. It is not affiliated with, endorsed by, or sponsored by Vercel. It is intended for personal research, local catalog building, and agent workflows. Please review Vercel's Terms of Service and use responsibly.
MIT