mcpField
A
AI Gateway MCP

AI Gateway MCP

远程服务
github.com媒体与设计01 周前更新

关于 AI Gateway MCP

AI Gateway MCP 是部署在用户 Vercel 账户中的多媒体生成连接器,面向希望通过聊天应用使用 Vercel AI Gateway 模型的人。它支持图像、视频、语音生成及转录,并报告调用费用。

主要功能

  1. 01生成和编辑图像
  2. 02生成、编辑与延展视频
  3. 03生成语音并转录音视频
  4. 04列出模型及目录价格
  5. 05查看额度、支出与生成文件

适用场景

  1. 01为故事章节制作插图
  2. 02用文字或图像生成短视频
  3. 03将文本转换为旁白音频
  4. 04转录会议录音并获取时间戳

MCP 相关

它作为 MCP 服务连接 Claude、ChatGPT 等客户端,向其提供多媒体生成、模型查询和额度查看工具。服务运行于用户自己的 Vercel 部署,并使用该账户的 AI Gateway 额度。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://{host}/mcp/{secret}
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

AI Gateway MCP:在 Claude 和 ChatGPT 中直接使用所有 AI 模型生成图片、视频和语音。无需额外费用。

一键在 Vercel 上部署你自己的副本

只需点击一次,即可完成。
Vercel 会将此仓库复制到你的账户,为你创建私有存储,并询问一个密钥。之后,你的副本会引导你完成其余步骤。

MIT 许可证 基于 Streamable HTTP 的 MCP Next.js 16 结合 Vercel AI Gateway 的 AI SDK

你可以创作什么 · 工作原理 · 开始使用 · 费用 · 工具 · 安全使用


直接在聊天中按提供商的原价使用。没有加价、没有订阅,也无需 API 密钥。 将此连接器添加到 Claude、ChatGPT 或任何 MCP 应用,即可通过 Vercel AI Gateway 使用 400 多种模型生成图片、视频和语音:Veo、Kling、Seedance、Nano Banana、GPT Image、FLUX 等。你在自己的 Vercel 账户上运行自己的副本,因此每次调用都会从你自己的 Gateway 余额中扣费,价格由提供商设定。

claude.ai 上的一段对话:用户要求以最便宜的方式用水彩画一只收集星星的小狐狸,Claude 比较价格,选择 Recraft v4.1 Flash,并展示了价格为 $0.007 的图片。用户接着要求以最便宜的方式将它制作成短视频,Claude 选择 HeyGen Video 1,在聊天中播放了五秒视频,价格为 $0.09。 2026 年 10 月 claude.ai 上的真实对话:一张图片 $0.007,接着是一段五秒视频,价格为 $0.09(HeyGen Video 1)。模型处理时的等待过程已加速。查看演示。

你可以创作什么

用日常语言提出请求。你的聊天助手会利用它已了解的关于你的所有信息来思考和撰写内容;连接器则负责生成图片、视频和语音。

拍摄一部短片

“写一部一分钟的科幻短片,制作分镜,然后为每个场景拍摄并配上声音。”

你的聊天会编写剧本并规划每个镜头。连接器会绘制分镜并拍摄各个场景。

generate_image start_video get_video
10 个带声音的场景:$12.00 使用 Veo 3.1 Fast
写书并绘制插图

“写一个 12 章的睡前故事,讲述一只收集星星的狐狸,并用水彩为每一章绘制插图。”

你的聊天会编写故事。连接器会以统一风格绘制封面和每章的插图。

generate_image edit_image
12 张图片:$1.61 使用 Nano Banana Pro
将它制作成有声书

“用温暖、缓慢的声音朗读第一章,就像讲睡前故事一样。”

连接器会为文本配音,并返回一个可直接在聊天中播放的音频文件。

generate_speech
一章 2,000 个词:约 $0.33 使用 TTS-1 HD
拍摄产品

“把我的杯子照片放在晨光下的白色大理石上,然后制作一段缓慢旋转的转台短片。”

连接器会将你自己的照片编辑成新的镜头,然后从效果最好的一张制作一段短片。

edit_image start_video get_video
4 个镜头和一段 5 秒短片:$0.66 使用 FLUX Kontext Pro 和 Veo 3.1 Fast
让任何人跳舞

“让这张图片中的角色跳出这段视频里的舞蹈。”

连接器会逐帧将参考视频中的动作复制到你的角色身上。

motion_control get_video
一段 10 秒的舞蹈:$1.26 使用 Kling 3.0 Motion Control
规划一个月的帖子

“为我的面包店规划 30 天的帖子,撰写配文,并为每天制作一张图片。”

你的聊天会规划整个月的内容。连接器会为每天制作一张图片,并为重要日子制作竖屏短片。

generate_image start_video get_video
30 张图片和 8 段短片:$10.43 使用 Nano Banana Pro 和 Veo 3.1 Fast
将录音整理成笔记

“转录这场会议并添加时间戳,然后列出决策内容以及各项任务的负责人。”

连接器会转写每个字;你的聊天会将其整理成笔记、字幕或译文。

transcribe
一段 20 分钟的录音:$0.12 使用 Whisper
挑选合适的模型

“制作一段 8 秒的短片,哪个视频模型最便宜,同时效果还不错?”

连接器会列出每个模型及其 AI Gateway 目录价格,让你的聊天为你选择,或并排比较几个模型。

list_models check_credits
免费 查看目录不收取任何费用
费用采用 AI Gateway 目录价格,数据截至 2026 年 10 月,并按所示示例数量计算。这些只是示例,并非报价:服务提供商的账单可能与目录价格不同(请参阅 费用),每次调用都会报告实际费用。调用 list_models 获取今天的目录价格。

工作原理

工作原理:你在 Claude、ChatGPT 或任何 MCP 应用中提问;你在 Vercel 上的个人副本会检查密钥,并使用其 OIDC 令牌调用 AI Gateway,费用从你的额度中扣除;任何图片、视频或语音模型都会作答。

  1. 你在聊天中提问。 Claude、ChatGPT 或任何支持 MCP 的应用都会选择合适的工具。
  2. 你的个人副本作答。 它运行在你的 Vercel 账户上,并检查你的密钥链接。
  3. AI Gateway 运行模型, 费用按服务提供商的价格从你的额度中扣除。无需 API 密钥:你的副本使用 Vercel 自己的令牌进行身份验证。

什么是 MCP? Model Context Protocol 是聊天应用接入外部工具的方式。本项目就是这类工具之一:添加其链接后,你的聊天应用就可以使用 AI Gateway 上的任何模型进行创作。

开始使用

你需要一个 Vercel 账户,以及一个 GitHub、GitLab 或 Bitbucket 账户。

1. 部署

点击按钮。Vercel 会复制仓库并创建你的私有存储。随后,你的新页面会创建你的密钥。选择 使用你的 Agent 设置:将一条提示词复制到连接了 Vercel 的 Claude 中,它会添加密钥指纹(如果缺少存储,也会添加存储),并重新部署。或者选择 手动设置,然后按照步骤操作。

2. 打开你的副本

访问 https://<your-project>.vercel.app。它会检查自身、生成你的链接并测试链接。

3. 将其添加到聊天应用

在 Claude 中:设置 → 连接器 → 添加自定义连接器,然后粘贴链接。ChatGPT 和其他应用会将其作为自定义 MCP 服务接入。

一键在 Vercel 上部署你的个人副本

然后在 Vercel 控制面板中设置支出预算(AI Gateway → 预算)。它是你的链接可支出的实际上限。

你的副本附带专属设置页面

打开副本,就能看到当前进度:由六块石头组成的拱门,每一步对应一块石头。已完成的石头会亮起,下一块会闪烁,点击石头即可打开对应步骤。

设置页面:“构建你的网关。已完成 6 步中的 3 步。”旁边是一座由六块石头组成的拱门,其中三块亮起,下一块以轮廓显示。

每个步骤旁都有一个小拱门徽章,点亮对应的石头;已完成的步骤折叠成一行,下一步则展开。

一步一步来。已完成的步骤会折叠起来,接着展开下一步,并准确说明要做什么。

获取链接并进行测试:粘贴的密钥已隐藏,测试通过并列出全部 15 个工具。

测试你的链接。在生成密钥的浏览器中,系统会自动检查链接;在其他地方,只需粘贴一次并进行测试。用手机打开会显示二维码,扫描后即可在手机上打开你的页面,密钥也已保存。手机上的 Claude 无需这些步骤:在 claude.ai 上添加的连接器会自动显示在那里。

设置密钥:已完成,并显示可在浏览器中生成新密钥的按钮。

密钥永不离开你的浏览器。进入此步骤时,系统会立即在浏览器中生成并保存密钥,并准备好可供复制的链接。Vercel 只会获取密钥的指纹(MCP_SECRET_SHA256),无法用它打开你的连接器:添加指纹后,重新部署一次(存储也会一并配置),页面就会自动检查你的链接。或者按复制设置提示词,将其粘贴到已添加 Vercel 连接器的 Claude 中;它会为你添加指纹并重新部署。

将其添加到聊天应用,提供 Claude、ChatGPT 和其他应用的选项卡,以及可供复制的测试提示词。

添加到你的聊天应用。提供适用于 Claude、ChatGPT 和其他 MCP 应用的操作步骤,以及可供试用的测试提示词。

所有步骤完成后,指南就会永久退场。此后,你的页面会显示品牌,并直接进入使用情况页面。如果之后有任何设置被取消(例如,MCP_SECRET_SHA256 被移除),指南会自动重新出现。

设置完成后:一点光亮出现,拱门从中向外构建;拱门缩小并融入徽标,名称随之出现;然后徽标飞向角落,使用情况页面打开。

使用情况示例:过去 30 天通过此连接器花费了 $19.48,每日花费以光柱显示。
使用密钥即可查看使用情况(此处显示的是示例数据):此连接器按天、模型和聊天应用显示的花费。

## 费用

本项目不收取任何费用:它免费且采用 MIT 许可证,没有套餐,也没有费用。你通过自己的 AI Gateway 额度支付各提供商的收费,不加价;每个 Vercel 团队每月还可免费获得指定模型的额度。用 Vercel 的话说(AI Gateway 定价):

AI Gateway 不对 token 收取加价,也不收取平台费用。你按需使用,按提供商的标价付费。

你要做什么模型目录价格
生成一张图片recraft/recraft-v4.1-flash$0.007
生成一张图片google/gemini-3-pro-image(Nano Banana Pro)$0.134
编辑自己的照片bfl/flux-kontext-pro$0.04
生成 8 秒带声音的视频google/veo-3.1-fast-generate-001$1.20
将 10 秒的动作复制到角色身上klingai/kling-v3.0-motion-control$1.26
朗读 1,000 个单词openai/tts-1-hd约 $0.17
将 1 小时语音转成文字openai/whisper-1$0.36

数据来自 AI Gateway 目录,日期为 2026 年 10 月。目录仅供参考,不代表最终账单:提供商的实际收费可能不同。2026 年 10 月,目录中 bfl/flux-3-image 的 1024x1024 图片标价为 $0.024,而 Black Forest Labs 实际收费 $0.048(原价转付,不加收费用);目录之后已更正。每次调用都会报告实际费用;调用 list_models 可查询今天的目录价格。

本项目并非由 Vercel 制作,也与 Vercel 无关联。版本 1 意味着你需要运行自己的副本,因此我尽可能简化了设置流程:目标是让所有人都能按提供商实际定价使用 AI。

工具

聊天应用会为你选择这些工具;你无需指定工具名称。每个工具都会返回易于理解的错误信息,并注明模型:未知模型、额度不足、套餐不支持视频、提供商错误。

图片
generate_image 根据文字生成图片,可使用图像模型(FLUX、GPT Image、Recraft)和具备图像能力的大模型(Nano Banana)。

edit_image 编辑自己的图片:移除背景、重新设计风格、扩展画布、合并多张图片。

upscale_image 提高清晰度并放大图片(Topaz)。
视频
start_video 根据文字、图片、首尾帧或作为参考的角色生成视频;也可按需加入声音。

motion_control 将视频中的动作复制到角色身上(Kling)。

edit_video、extend_video 用于修改或续写视频片段(Grok Imagine)。

upscale_video 提高清晰度并放大视频片段(Topaz)。

get_video 在视频准备就绪后获取视频。
语音
generate_speech 将文本朗读出来,用于旁白和配音(OpenAI、Gemini、Fish Audio、MAI Voice)。

transcribe 将音频或视频文件中的语音转成文字,也可按需添加时间戳。
模型和账户
list_models 列出所有模型及其 AI Gateway 目录价格。

generate_text 请求另一个模型生成文本,以便比较回答。

check_credits 显示你的额度和此连接器的支出。

list_files 查找你之前生成的图片、视频和音频。
所有工具及其输入
| 工具 | 功能 | | --- | --- | | `list_models({ type?, query? })` | 列出 AI Gateway 目录中的模型及其类型(`text`、`image`、`video`、`speech`、`transcription`)、能力(`t2v`、`i2v`,……)和目录价格。 | | `generate_text({ model, prompt, system?, max_tokens?, file_urls? })` | 生成文本。如果 AI Gateway 报告了费用,则同时返回文本和费用。使用 `file_urls`(指向图片、视频、音频或 PDF 的 https 链接,最多 10 个文件,总计不超过 20 MB)时,模型也会读取这些文件,例如让 `google/gemini-3.5-flash-lite` 总结视频。在 `list_models` 中选择标有 `vision`、`video-input`、`audio-input` 或 `file-input` 的模型。 | | `generate_image({ model, prompt, size_or_aspect?, n?, estimate_only? })` | 使用图像模型(`bfl/flux-2-pro`、`openai/gpt-image-2`,……)和支持图像的 LLM(`google/gemini-3-pro-image`)。图像会以内嵌形式返回;连接 Blob 后,也会返回会过期的链接。对于只接受精确尺寸的模型(Recraft、OpenAI),如果指定 `16:9` 这样的比例,则会使用最接近的尺寸,并在回复中说明具体尺寸。 | | `edit_image({ model, prompt, image_urls, mask_url?, size_or_aspect?, n?, estimate_only? })` | 根据指令修改现有图像。支持可编辑图像的模型(`bfl/flux-kontext-pro`、`openai/gpt-image-2`,……)和支持图像的 LLM。接受 https 链接;也可以使用此服务返回的链接,因为服务会自行下载输入文件。 | | `upscale_image({ image_url, model?, prompt?, estimate_only? })` | 提高清晰度并放大图像。默认使用 `topaz/wonder-3.5`,也可以指定其他模型。 | | `start_video({ model, prompt, image_url?, end_image_url?, reference_urls?, duration?, aspect_ratio?, resolution?, sound?, estimate_only? })` | 启动视频任务并立即返回 `job_id`:支持文本生成视频、图像生成视频、首帧到尾帧,或参考图生成视频(最多可提供 4 张角色图片或角色片段)。`resolution`(`480p`、`720p`、`1080p`、`4k`)可设置 Seedance、Grok Imagine Video、Veo 和 Wan 2.5–2.7 的尺寸和价格。如果模型不支持指定的分辨率或时长,则不会启动任务;回复会说明该模型支持的选项,以及哪些模型支持,并列出各模型支持的最短片段时长和价格。 | | `motion_control({ image_url, video_url, prompt?, orientation?, quality?, keep_sound?, estimate_only? })` | 让图片中的角色模仿参考视频中的人物动作(Kling 动作控制)。 | | `upscale_video({ video_url, resolution?, model?, estimate_only? })` | 提高清晰度、放大视频并降噪(默认使用 Topaz Proteus)。 | | `edit_video({ video_url, prompt, estimate_only? })` | 根据指令修改现有视频(Grok Imagine Video,最高支持 720p)。 | | `extend_video({ video_url, prompt, duration?, estimate_only? })` | 从视频的最后一帧开始续写视频(Grok Imagine Video)。 | | `estimate_only: true` | 用于图像和视频工具:返回 AI Gateway 目录中的价格,而不运行任务。不会生成内容,也不会产生费用。由于分辨率或音频由模型使用默认设置,价格通常是一个范围;按 token 计费的模型(例如 `openai/gpt-image-2`、Seedance 2)不提供估价。提供商收取的费用可能高于目录价格:`bfl/flux-3-image` 曾经列出的价格只有实际费用的一半。 | | `get_video({ job_id })` | 适用于上述所有视频工具:报告任务是否仍在生成。每次调用最多等待 40 s;3 分钟后,它会告知聊天应用暂停检查,直到你提出请求。任务完成后,视频会保存到你的 Blob 存储中,并返回一个会过期的链接;稍后再次调用即可获取新链接。 | | `generate_speech({ model, text, voice?, instructions?, speed?, language?, format? })` | 将文本转换为语音(`openai/tts-1-hd`、`google/gemini-3.8-flash-tts`、`fish-audio/s2-pro`,……)。音频会以内嵌形式返回,也会提供一个会过期的链接。 | | `transcribe({ model, audio_url, timestamps? })` | 将音频或视频文件(最大 25 MB)中的语音转换为文本,可选添加时间戳。 | | `check_credits()` | 显示团队的 AI Gateway 额度,以及此连接器在过去 30 天内的支出。支出部分需要 AI Gateway 的使用情况报告,该报告仅适用于 Vercel 付费套餐;使用 Hobby 套餐时会对此作出说明,但每次回复仍会显示该次调用的费用。 | | `list_files({ kind?, limit? })` | 按时间从新到旧列出此连接器生成的图片、视频和音频,并提供新的会过期链接。 | **内嵌查看器。** 在支持 [MCP Apps](https://github.com/modelcontextprotocol/ext-apps) 的聊天应用(Claude 网页版、桌面版和手机版)中,`generate_image`、`edit_image`、`upscale_image`、`get_video` 和 `list_files` 会直接在对话中显示结果:图片网格、视频播放器和音频播放器,并提供下载、放大和扩展功能。放大和扩展会请求聊天应用运行工具,因此不会在你不知情的情况下消耗额度。其他应用也会以纯文本内容的形式获得相同的图片和链接。如果更改连接器 URL(例如轮换密钥后),Claude 桌面应用本该显示查看器的位置却显示“Unable to reach AI Gateway”,请完全退出应用(Mac 上按 Cmd+Q),然后重新打开。

确保安全

  • 你的链接就像一把会花钱的密码。 任何拥有它的人都能使用你的 AI Gateway 额度。请妥善保管。
  • 设置 AI Gateway 预算。 只有 Vercel 的预算能限制你的总支出。
  • 如果链接泄露,请在设置页面创建新密钥,将其指纹填入 Project Settings → Environment Variables,然后重新部署。旧链接会立即失效。
  • 使用情况数据属于你。 任何人都能打开你的设置页面,但只有拥有你密钥的人才能看到数据。
更多安全与费用说明
  • 你的连接器 URL 就像一把会花钱的密码。 任何拥有它的人都能使用你的 AI Gateway 额度,并通过你的 Vercel 账户生成内容。
  • 设置 AI Gateway 预算。 此服务会限制每次调用(MAX_VIDEO_SECONDS、MAX_IMAGES_PER_CALL、MAX_SPEECH_CHARACTERS、ALLOWED_MODELS),但只有 Vercel 的预算能限制你的总支出。以你自己的视频为输入的工具(motion_control、upscale_video、edit_video)会按照视频时长处理,而单次调用限制无法检测该时长。
  • 如果 URL 泄露,请轮换密钥。 设置新的指纹(或 MCP_SECRET)并重新部署。旧 URL 会立即失效,所有尚未完成的视频任务也会被放弃。
  • 可选:对端点进行速率限制。 猜中密钥几乎不可能,但每次错误请求仍会计入项目用量。如果你的套餐包含 Vercel Firewall 速率限制,请针对以 /mcp/ 开头的路径添加规则(例如按 IP 限制)。不要为其启用 Attack Challenge Mode:Claude 和 ChatGPT 的服务器无法通过验证,连接器会因此停止工作。
  • 文件是私密的,但链接不是。 图片、视频和音频存储在私有 Blob 存储中。任何持有聊天中返回的链接的人都能在链接过期前打开相应文件(SIGNED_URL_TTL_HOURS)。
  • 使用统计需要密钥。 POST /api/stats 会以恒定时间校验密钥,否则返回 404。在浏览器中保存密钥后,任何使用该浏览器的人都能查看你的使用情况;点击“忘记”即可移除密钥。
  • 日志: 此应用绝不会记录密钥或请求 URL。Vercel 自身的请求日志会记录请求路径,因此你的 Vercel 团队成员可以在那里看到密钥。
  • 生成的媒体会按提供方返回时的原样存储。水印和元数据绝不会被移除。

参考

你的密钥

你的连接器链接由部署地址和密钥组成。设置页面会在浏览器中生成该链接:

https://<your-project>.vercel.app/mcp/<your-secret>

密钥是一个至少包含 32 个字符的随机值。部署按钮不会要求你输入密钥:新部署默认关闭端点,设置页面会在浏览器中生成密钥并将其保存在那里,因此重新部署后链接会自动填好。

Vercel 永远不会获取密钥本身,只会获得其 SHA-256 指纹,形式为 MCP_SECRET_SHA256。指纹无法还原为密钥,因此即使有人能读取你的环境变量,或读取你粘贴了设置提示词的聊天内容,也无法使用你的连接器。反过来说,Vercel 也无法向你显示密钥。如果你无法再使用保存密钥的浏览器(且密钥不在手机或聊天应用的连接器设置中),请创建新密钥并重新部署。 如需自行设置:使用 openssl rand -hex 32 创建密钥,并将 MCP_SECRET_SHA256 设置为 printf %s '<your-secret>' | shasum -a 256 的输出(十六进制部分)。本地开发时,直接设置 MCP_SECRET=<your-secret> 更简单;如果两者都设置,则以指纹为准。仅使用 URL 安全字符;十六进制是理想选择。

随机生成的 64 字符十六进制密钥包含 256 位熵:实际上不可能通过网络猜中;每次猜错都会像访问任何未知 URL 一样返回相同的 404,并且比较采用恒定时间。手动输入的密钥是薄弱环节,因此如果密钥包含的不同字符少于 8 个,或重复同一短字符串(aaaa…、passwordpassword…),端点也会保持关闭。

claude.ai 自定义连接器仅支持 OAuth 或无身份验证,而且无法发送自定义标头,因此密钥会放在 URL 路径中。如果未设置密钥(或者 MCP_SECRET 明文少于 32 个字符,或指纹不是 64 位十六进制字符),MCP 端点将被禁用。密钥错误时,返回的 404 页面与任何未知 URL 的相同。

配置
变量默认值用途
MCP_SECRET_SHA256无(必须设置此项或 MCP_SECRET)连接器 URL 中密钥的 SHA-256 指纹(十六进制)。由设置页面生成;优先于 MCP_SECRET。
MCP_SECRET无密钥本身,至少 32 个字符。本地开发时更简单。
MAX_VIDEO_SECONDS8start_video 和 extend_video 接受的视频最长时长。
MAX_IMAGES_PER_CALL4generate_image 和 edit_image 接受的最大 n 值。
MAX_SPEECH_CHARACTERS5000generate_speech 单次调用接受的最长文本。
ALLOWED_MODELS空(允许所有模型)以逗号分隔的模型 ID 允许列表。
SIGNED_URL_TTL_HOURS24文件链接的有效时长。最长为 168(7 天)。
AI_GATEWAY_API_KEY未设置可选。本地开发时使用。设置后会取代 OIDC 令牌。

连接存储后,Vercel 会自动设置 Blob 变量(BLOB_STORE_ID,以及作为备用项的 BLOB_READ_WRITE_TOKEN)和 VERCEL_OIDC_TOKEN。如果没有 Blob 存储,文本、图片和语音仍可内联使用;视频和文件链接则需要 Blob 存储。在项目的 Storage 标签页中创建一个私有 Blob 存储,将其连接并重新部署。设置页面提供了该页面的链接。

本地开发
npm install
vercel link && vercel env pull   # pulls MCP_SECRET_SHA256, Blob and a 12-hour OIDC token into .env.local
# or put AI_GATEWAY_API_KEY=... and MCP_SECRET=... in .env.local
npm run dev

使用 MCP Inspector 测试服务:

npx @modelcontextprotocol/inspector@latest

选择 Streamable HTTP,并连接到 http://localhost:3000/mcp/<MCP_SECRET>。

这些工具也可通过 stdio 运行,供本地 MCP 客户端使用,也供会启动服务以列出其工具的目录使用(Glama 就是如此)。你的部署不会使用这种方式。

npm run build:stdio   # bundles scripts/stdio.ts into dist/stdio.mjs
AI_GATEWAY_API_KEY=... MCP_SECRET=... node dist/stdio.mjs

stdio 服务是由你自行启动的进程,因此不进行密钥检查:它会使用所提供的任何 Gateway 密钥。此处的 MCP_SECRET 仅用于签署视频任务 ID。列出工具不需要任何变量。

有两个仅用于开发的地址可预览无法在未部署时访问的状态:/?preview-open 会显示完成设置后的页面,/?sample-stats 会用示例数字填充用量数据。

内部工作原理
- **设置页面:**`/` 会实时检查部署状态并引导完成每个步骤,所有必需步骤完成后便隐藏指南(`gateway-open` Cookie;任何服务器检查失败时都会忽略它)。页面采用黑白配色,以代码绘制,并带有动效;开启减少动态效果时,动效会停止。`/setup` 会重定向到该页面。 - **使用统计:**此服务发出的每次调用都会带上 AI Gateway 标签(`ai-gateway-mcp`、`tool:`、`client:`,其中应用名称根据其 User-Agent 推测)。设置页面会读取 AI Gateway 自带的支出报告,并按这些标签筛选,因此无需数据库。该报告是付费套餐功能:使用 Hobby 套餐时,Vercel 会返回 403,页面会改为说明这一点(仍会显示积分)。我们曾考虑将日志存入 Blob,但最终放弃:Hobby 套餐每月包含 2,000 次 Blob 高级操作,超出后 Blob 会被停用 30 天。 - **内嵌查看器:**一个 MCP Apps 资源 `ui://gateway-mcp/media.html`,由 `scripts/build-ui.mjs` 从 `ui/` 构建(在 `dev`、`build` 和 `typecheck` 之前运行 esbuild)。其 CSP 允许从 `https://*.blob.vercel-storage.com` 加载图片和媒体。 - **技术栈:**Next.js(App Router)和 TypeScript。MCP 通过 Streamable HTTP 提供,使用 [`mcp-handler`](https://github.com/vercel/mcp-handler) v2;模型调用则通过带有 AI Gateway provider 的 [AI SDK](https://ai-sdk.dev) 进行。 - **密钥检查:**`proxy.ts` 会在路由之前拒绝错误密钥,将请求重写到标准 404 页面。随后,路由处理程序会再次以恒定时间检查密钥。 - **媒体输入与输出:**服务器会下载提供给工具的文件(仅限 HTTPS,且有大小限制),因此此服务自己的私有链接也可作为输入。视频任务会将文件作为链接发送,因为 AI Gateway 要求任务启动请求保持较小。 - **视频任务:**不使用数据库。每个 `job_id` 都会保存模型和 AI Gateway 任务 ID,并使用从指纹(或 `MCP_SECRET`)派生的密钥签名;只有持有密钥的调用方才能使用,因此无法伪造。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。