关于 Superargs
Superargs 是一个 MCP 服务包装器,允许在运行时为 MCP 服务提供参数,而不是在初始配置时设置。适合需要在对话中临时提供认证令牌、环境变量或命令行参数的用户。它不修改被包装服务的代码。
主要功能
- 01运行时注入参数占位符
- 02可自定义参数更新工具名称
- 03转发所有 MCP 请求至子服务
- 04参数更新后发送列表变更通知
- 05参数不做存储
适用场景
- 01在对话中提供 GitHub 访问令牌后启动服务
- 02运行时指定 PostgreSQL 数据库连接串
- 03通过 MCP Inspector 管理需要参数的服务
MCP 相关
Superargs 作为 stdio MCP 服务运行,向 MCP 客户端暴露被包装服务的工具、提示词和资源,并额外提供 update_args 工具用于更新参数并重启子服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

Superargs 支持在运行时设置 MCP 服务参数。 在与助手交互时,为任意 MCP 服务提供参数,而不必在初始设置时提供。 无论是身份验证令牌、环境变量还是其他 CLI 参数,Superargs 都能让你轻松地在运行时提供这些参数。
由 superinterface.ai、supermachine.ai 和 supercorp.ai 提供支持。
安装与使用
通过 npx 运行 Superargs:
npx -y superargs --stdio "npx -y @modelcontextprotocol/server-postgres {{databaseUrl}}"
--stdio:用于运行 stdio MCP 服务的 Shell 命令,其中要在运行时替换的参数采用{{argName}}格式。--update-args-tool-name:(可选)用于更新/重启参数的工具的自定义名称。默认为update_args。
参数
--stdio 命令中的参数以 {{argName}} 表示。例如:
npx -y superargs --stdio "GITHUB_PERSONAL_ACCESS_TOKEN={{githubToken}} npx -y @modelcontextprotocol/server-github"
在此命令中:
{{githubToken}}是一个参数,可以在运行时通过update_args工具设置(如果指定了自定义工具名称,则使用该名称)。
启动后
-
初始状态:启动时,MCP 服务不会设置任何参数。
-
如果底层 MCP stdio 服务可以在没有参数的情况下启动,它会尝试在不提供参数的情况下启动,以提供工具列表和其他 MCP 服务功能。 如果它可以在没有参数的情况下运行,唯一的区别是会多出一个用于更新参数的 update_args 工具。
-
如果服务必须依靠参数才能启动,则在设置参数之前不会启动,并且只会提供 update_args 工具。 所有其他 MCP 服务功能要么返回空列表,要么返回错误消息。
-
使用 update_args 时:服务将使用新参数重启,并提供所有 MCP 服务功能。
-
用于更新参数的工具:默认名为
update_args,用于更新参数并重启子 MCP 服务。
示例
另一个使用 GitHub MCP 服务的示例:
npx -y superargs --stdio "GITHUB_PERSONAL_ACCESS_TOKEN={{githubToken}} npx -y @modelcontextprotocol/server-github"
以及使用 SQLite MCP 服务的示例:
npx -y superargs --stdio "uv mcp-server-sqlite --db-path={{dbPath}}"
MCP Inspector 示例
-
通过 Superargs 运行 MCP Inspector:
npx @modelcontextprotocol/inspector npx -y superargs --stdio "npx -y @modelcontextprotocol/server-postgres {{databaseUrl}}"此命令会启动 Superargs 并将其连接到 MCP Inspector,使你能够通过检查器界面管理 PostgreSQL MCP 服务。
-
管理 MCP 服务:
使用 MCP Inspector,你可以通过 Superargs 列出工具、运行提示词、访问资源或执行其他 MCP 操作。
工作原理
Superargs 充当 MCP 服务的中间件包装器,支持在运行时动态注入参数。它会将所有 MCP 请求(工具、提示词、资源、消息、根等)转发到底层子服务,并提供一个用于管理这些参数的额外工具。
主要功能
- 动态注入参数:在运行时将 MCP 服务命令中的占位符替换为实际值。
- 可自定义工具名称:通过
--update-args-tool-name重命名参数更新工具,以适应你的工作流。 - 全面支持 MCP:将所有 MCP 请求转发到子服务,包括工具、提示词、资源、消息和根。
- 变更通知:参数更新时发送
sendToolListChanged、sendPromptListChanged和sendResourceUpdated等通知,确保已连接的客户端知晓变更。
主要用例
Superargs 让用户能够在与 AI 助手交互时动态设置和配置 MCP 服务。 用户无需管理员预先配置好服务所需的参数和凭据,而是可以在对话中即时提供这些信息,从而提高灵活性并减少设置工作。
安全地提供敏感参数
参数会通过指定的命令传递给子 MCP 服务。不会存储任何内容。
如果你不希望大模型看到这些参数,可以通过服务客户端直接调用 MCP 服务(也就是说,由你的代码直接调用,而不是由助手调用)。
为什么选择 MCP?
模型上下文协议 规范了 AI 工具交换数据的方式。如果你的 MCP 服务需要身份验证令牌或配置路径等动态参数,Superargs 可让你在运行时提供这些参数,而无需修改服务代码。这有助于实现灵活的部署、远程访问和更轻松的调试。
参与贡献
欢迎贡献!无论你有新功能的想法、改进建议,还是遇到任何问题,都请提交 问题 或发起 拉取请求。
许可证
Superargs 由 Superinterface、Supermachine 和 Supercorp 提供支持。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。