Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Film stills from 5,489 films, searchable by lighting, lens character, shot size, colour and mood.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://framethrower.ai/api/mcp在终端中运行这条命令
claude mcp add --transport http framethrower https://framethrower.ai/api/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"framethrower": {
"url": "https://framethrower.ai/api/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"framethrower": {
"type": "http",
"url": "https://framethrower.ai/api/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://framethrower.ai/api/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 framethrower.ai 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AI Deprecations
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Film references, inside your agent. Connect any MCP client to a cinematography reference library of 5,489 films, indexed frame by frame on lighting, lens character, shot size, colour and mood.
Ask for a look in conversation and the agent comes back with real frames, credited to their film, director and cinematographer.
https://framethrower.ai/api/mcp
Remote server, OAuth 2.1, four tools, no rate limits, $2 of credits free on signup (no card).
Settings → Connectors → Add custom connector → paste:
https://framethrower.ai/api/mcp
Sign in when the browser opens. That's it.
One-click:
Or add to ~/.cursor/mcp.json:
{
"mcpServers": { "framethrower": { "url": "https://framethrower.ai/api/mcp" } } }
Bridge with mcp-remote, which handles the OAuth flow for you:
{
"mcpServers": { "framethrower": { "command": "npx", "args": ["-y", "mcp-remote", "https://framethrower.ai/api/mcp"] } } }
Full per-client steps in docs/install.md.
| Tool | Credits | What it does |
|---|---|---|
search_frames | 2 | Search by concept, mood, colour, composition or scene, in natural language |
find_by_craft | 2 | Find frames by cinematography attribute — lens, shot size, style, setting, time of day, director, year |
find_similar | 2 | More frames like one already shortlisted. This is the refinement loop |
get_frame_details | 2 | Full metadata, thumbnail and link for a single frame |
search_frames| Argument | Type | Notes |
|---|---|---|
query | string, required | e.g. "neon-lit rainy street at night" |
limit | number, 1–40 | defaults to 12 |
find_by_craftAll optional — combine them to narrow.
| Argument | Type | Notes |
|---|---|---|
lens | string | "anamorphic", "spherical", "vintage_soft" |
shot_size | string | "closeup", "wide", "medium" |
visual_style | string | |
setting | string | "interior" or "exterior" |
time_of_day | string | "night", "day" |
director | string | |
year_min / year_max | number | year range |
limit | number, 1–40 | defaults to 12 |
find_similar| Argument | Type | Notes |
|---|---|---|
frameId | string, required | an id from a previous result |
limit | number, 1–40 | defaults to 12 |
get_frame_details| Argument | Type | Notes |
|---|---|---|
frameId | string, required |
The server sends usage instructions on connect, so a client doesn't need to be told how to behave. The loop it asks for:
search_frames with what you described.find_similar on that frame, or a find_by_craft with attributes adjusted.Every result keeps a link back to FrameThrower, because inline image rendering in chat is unreliable and the gallery is where the frames look like themselves.
See examples/prompts.md for conversations that work.
$2 of credits free on signup, no card. Then $1 = 1,000 credits, and each tool call costs 2 — so $1 covers 500 calls. Credits never expire. There are no rate limits.
Run out and the tool replies with a message saying so, including your balance and where to top up, so the agent can explain itself rather than failing silently.
Tools return metadata, a thumbnail URL, colour palettes and a deep link back to FrameThrower. Never raw image bytes.
This is a discovery and reference tool, not an image-delivery pipe. The frames are not ours to license — they are shown at reduced resolution as references for commentary, education and study, and rights remain with their owners. See intended use.
The FrameThrower MCP server is remote and hosted — you connect to it, you don't run it. So this repo is the connector: manifests, per-client setup, tool signatures and worked examples. Nothing to install, nothing to keep running, and no API key to manage — OAuth means the agent acts as your signed-in FrameThrower account.
npm install framethrower-ai (source)Same account, same credits.
FrameThrower is the reference app for the future creative: one of the largest film still libraries on the internet, callable from a REST API, an MCP server and an npm SDK. Built by senior filmmakers and ads creatives, for working film professionals.
MIT licensed.