返回市场
超级参数

超级参数

作者:supercorp-ai67 星标更新:2025-03-16

项目介绍

【技术文档摘要】: Superargs: 运行时更新MCP服务器参数

Superargs 允许在运行时设置MCP服务器参数。 在与助手交互时提供参数,而不是在初始设置时提供。 无论是认证令牌、环境变量还是其他CLI参数,Superargs都使得在运行时提供这些参数变得容易。

superinterface.aisupermachine.aisupercorp.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,您可以列出工具、运行提示、访问资源或执行其他 MCP 操作,通过 Superargs。

工作原理

Superargs 作为 MCP 服务器的中间件包装器,允许在运行时动态注入参数。它将所有 MCP 请求(工具、提示、资源、消息、根等)转发给底层子服务器,并引入了一个额外的工具来管理这些参数。

主要特性

  • 动态参数注入:在运行时用实际值替换 MCP 服务器命令中的占位符。
  • 可定制的工具名称:通过 --update-args-tool-name 将参数更新工具重命名,以适应您的工作流程。
  • 全面的 MCP 支持:将所有 MCP 请求转发给子服务器,包括工具、提示、资源、消息和根。
  • 更改通知:当参数更新时发送诸如 sendToolListChangedsendPromptListChangedsendResourceUpdated 的通知,确保连接的客户端了解更改。

主要用途

Superargs 赋予用户在与AI助手互动时动态设置和配置MCP服务器的能力。 不再需要管理员预先配置服务器所需的参数和凭据,用户可以通过对话实时提供这些细节,增强灵活性并减少设置开销。

安全地提供敏感参数

参数通过指定的命令传递给子 MCP 服务器。没有任何内容被存储。

如果您不希望LLM看到这些参数,请通过服务器客户端进行直接调用(因此不是助手在调用,而是您的代码直接调用)。

为什么选择 MCP?

模型上下文协议 标准化了AI工具之间的数据交换方式。如果您的MCP服务器需要动态参数,如认证令牌或配置路径,Superargs 允许您在运行时提供这些参数而不需修改服务器代码。这使得灵活部署、远程访问和更容易调试成为可能。

贡献

欢迎贡献!如果您有新的功能想法、改进意见或遇到任何问题,请打开一个 问题 或提交一个 拉取请求

许可证

MIT 许可证


SuperargsSuperinterfaceSupermachineSupercorp 支持。