mcpField
S
Superargs

Superargs

本地服务
github.com/supercorp-ai开发工具7485 周前更新

关于 Superargs

Superargs 是一个 MCP 服务包装器,允许在运行时为 MCP 服务提供参数,而不是在初始配置时设置。适合需要在对话中临时提供认证令牌、环境变量或命令行参数的用户。它不修改被包装服务的代码。

主要功能

  1. 01运行时注入参数占位符
  2. 02可自定义参数更新工具名称
  3. 03转发所有 MCP 请求至子服务
  4. 04参数更新后发送列表变更通知
  5. 05参数不做存储

适用场景

  1. 01在对话中提供 GitHub 访问令牌后启动服务
  2. 02运行时指定 PostgreSQL 数据库连接串
  3. 03通过 MCP Inspector 管理需要参数的服务

MCP 相关

Superargs 作为 stdio MCP 服务运行,向 MCP 客户端暴露被包装服务的工具、提示词和资源,并额外提供 update_args 工具用于更新参数并重启子服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"superargs": {
"command": "npx",
"args": [
"-y",
"superargs"
]
}
}
}
启动命令npx -y superargs

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsuperargs

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Superargs:在聊天中更新 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 示例
  1. 通过 Superargs 运行 MCP Inspector:

    npx @modelcontextprotocol/inspector npx -y superargs --stdio "npx -y @modelcontextprotocol/server-postgres {{databaseUrl}}"
    

    此命令会启动 Superargs 并将其连接到 MCP Inspector,使你能够通过检查器界面管理 PostgreSQL MCP 服务。

  2. 管理 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 可让你在运行时提供这些参数,而无需修改服务代码。这有助于实现灵活的部署、远程访问和更轻松的调试。

参与贡献

欢迎贡献!无论你有新功能的想法、改进建议,还是遇到任何问题,都请提交 问题 或发起 拉取请求。

许可证

MIT 许可证


Superargs 由 Superinterface、Supermachine 和 Supercorp 提供支持。

评论

支持 Markdown

第一次接触 MCP?

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

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