Concierge AI

通过按工作流逐步展示工具并约束调用顺序,帮助 Python 开发者构建更可靠的 MCP 服务。

Star 数
★ 528
最近更新
4 个月前
License
NOASSERTION
主语言
Python

30 秒速览

运行形态
代码库 / SDK命令行工具MCP 服务器
可在哪里用
通用 · 跨平台
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.9+concierge-sdkShell / 命令行MCP Server
典型场景
电商后端开发者想让购物助手先搜索商品、再管理购物车,最后才能结账。
不适合
  • 需要非 Python 运行时的团队
  • 不使用 MCP 的应用开发者

这个 Agent 能做什么,适合哪些场景?

Concierge 是一个面向 Python 3.9+ 的 SDK,用于包装现有 MCP 服务或搭建新的 MCP 服务。它会根据当前工作流步骤动态调整 `tools/list` 返回的工具,并可通过 `stages` 和 `transitions` 限定可见工具及步骤流转。应用可使用会话级共享状态,也可启用语义搜索,将大量工具收敛为搜索和调用两个元工具。服务可通过 stdio、streamable HTTP 或 SSE 运行;仓库还提供 `concierge init` 项目脚手架命令。README 未说明模型提供商、费用或托管服务。

安装 concierge-sdk 后,开发者可用 Concierge(FastMCP("my-server")) 包装现有 FastMCP 服务,原有 @app.tool()、资源和提示词保持可用。开发者可把工具名放进 app.stages,用 app.transitions 定义允许的步骤跳转;服务只向客户端列出当前步骤相关工具,并在协议层执行工具顺序约束。工具可通过 app.set_state() 和 app.get_state() 读写会话状态。大型工具集可配置 Config 与 ProviderType.SEARCH,让客户端通过 search_tools 查找并由 call_tool 执行工具。使用 app.run() 以 stdio 启动,或创建 app.streamable_http_app() 部署 HTTP 服务;README 也列出 SSE 传输。

  1. 电商后端开发者想让购物助手先搜索商品、再管理购物车,最后才能结账。
  2. 维护现有 FastMCP 服务的团队想逐步展示工具,同时保留现有工具、资源和提示词。
  3. 拥有数百个 API 工具的开发者想用语义搜索减少客户端一次看到的工具数量。
  4. 需要在分布式副本间保存会话工作流数据的服务开发者可评估其会话级状态功能。
  5. 面向 CLI 客户端或 Web 部署的 Python 团队需要通过 stdio 或 HTTP 提供 MCP 服务。

如何安装或部署这个 Agent?

需要 Python 3.9+。README 推荐使用 uv,也支持 pip;未列出 API 密钥要求。

pip install concierge-sdk

新建脚手架项目并启动:

concierge init my-store
cd my-store
python main.py

如何使用这个 Agent?

包装现有 FastMCP 服务时,README 给出的最小示例为:

from mcp.server.fastmcp import FastMCP
from concierge import Concierge

app = Concierge(FastMCP("my-server"))

为工作流配置工具分组和允许的跳转:

app.stages = {
    "browse": ["search_products", "view_product"],
    "cart": ["add_to_cart", "remove_from_cart", "view_cart"],
    "checkout": ["apply_coupon", "complete_purchase"],
}

app.transitions = {
    "browse": ["cart"],
    "cart": ["browse", "checkout"],
    "checkout": [],
}

使用默认 stdio 传输启动:

app.run()

Web 部署可创建 streamable HTTP 应用:

http_app = app.streamable_http_app()

这个 Agent 有哪些优点和局限?

优点
  • 可包装现有 FastMCP 服务,README 表示现有工具装饰器、资源和提示词无需更改。
  • stages 与 transitions 在 MCP 协议层控制工具可见性和调用顺序。
  • 会话级状态用于步骤间传递数据,README 声称可跨分布式副本使用。
  • 大型 API 可通过语义搜索收敛为 search_tools 和 call_tool 两个元工具。
  • 支持 stdio、streamable HTTP 和 SSE 传输,并提供 concierge init 脚手架。
局限
  • 要求 Python 3.9+,无法直接用于其他语言运行时。
  • 需要理解并维护工具分组与步骤跳转配置,工作流不能只靠默认包装示例表达。
  • README 未说明语义搜索的具体提供商配置、费用或其运行依赖。
  • README 未给出部署所需的完整 HTTP/SSE 服务器配置或生产运行操作说明。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Concierge AI 当前 45 · 缺口较多 代码库 / SDK ★ 528 4 个月前 Python —
Vibe Check MCP 81 · 表现良好 MCP 服务器免费 + 模型费 ★ 501 1 个月前 TypeScript Claude.ai · OpenAI API · Claude API
mcp-agent 53 · 缺口较多 开发框架免费 + 模型费 ★ 8.6k 8 个月前 Python Claude.ai · OpenAI API · Claude API
MCP Memory Service 68 · 存在缺口 MCP 服务器免费 ★ 2k 今天 Python ChatGPT · Codex · Claude Code · Claude.ai

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
45/ 100 五分制 2.3 / 5
信任安全 8/29
可靠稳定 3/14
适用触发 12/18
规范维护 9/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全8 / 29 · 1.4/5

阶段与转换可以限制当前可见和可调用的工具,支持一定程度的最小权限(2);但购买示例中的 checkout 没有确认步骤(user_confirmation 0),也未展示副作用恢复机制(rollback 0)。文档称状态按会话隔离,却没有充分说明持久化、访问控制或敏感数据处理(data_flow_transparency、sensitive_data_handling 各1)。依赖只有宽松下限版本,虽有 CodeQL 工作流,但没有依赖审计或锁定证据(dependency_security 1)。工具可执行购买等外部操作,但缺少副作用保护细节(external_effects 1)。发布者身份未验证且仓库材料未明确维护负责人,来源归属证据有限(source_attribution 1)。

可靠稳定3 / 14 · 1.1/5

README 要求 Python 3.9+,项目配置要求 3.10+,且“确定性结果”声明未由所给材料支持,因此自洽性仅部分成立(self_consistency 1)。配置列出核心与可选依赖,但没有锁文件、兼容矩阵或可用性说明(dependency_availability 1)。所给材料未展示错误消息或错误处理约定(failure_messages 0)。

适用触发12 / 18 · 3.3/5

文档面向构建 MCP 服务器的开发者,覆盖电商工作流、大型工具集及 CLI、HTTP、SSE 等场景(audience_and_scenarios 2)。阶段、转换、状态和语义搜索边界有描述,且说明功能可选(capability_boundaries 2);适用触发情境如工具数量较多时启用语义搜索也有提示(trigger_precision 2)。Python 版本、安装方式、传输方式及分布式状态等环境信息有所说明,但部署细节有限(environment_fit 2)。

规范维护9 / 18 · 2.5/5

README 有分节指南、特性表和文档入口,信息组织清楚(information_architecture 2)。提供 pip 安装、CLI 初始化及包装现有 MCP 服务的步骤(install_notes 2);项目名、包名和 CLI 名称在材料中基本稳定(naming_stability 2)。包含代码示例和文档、社区入口,但未见 FAQ(examples_and_faq 2)。虽说明若干工作流机制,但没有系统列出限制(known_limitations 1)。README 称 Apache 2.0,LICENSE 实际写明 Sustainable Use License,并对 .ee 文件另设限制,授权信息相互冲突(license 1)。配置有版本号,工作流描述自动更新未发布变更日志,但未提供当前变更记录文件(versioning_changelog 1)。有社区与 issue 入口,但未明确维护责任人;发布者身份也未知(maintenance_responsibility 1)。

有效结果9 / 13 · 3.5/5

分步工具披露、状态共享和代码示例可直接帮助开发者搭建 MCP 工作流(output_usability 2);减少无关工具并按阶段控制流程具有明确的潜在增益(marginal_value 2)。基础使用路径短且功能可选,但额外依赖及生产部署收益缺乏材料量化(cost_benefit 2)。

证据核验4 / 8 · 2.5/5

核心功能有 README 示例和部分状态、组件测试对应,但主要产品声明仍来自 README,缺少独立证据支持(claim_traceability 1)。README、项目配置、测试与工作流之间只有有限交叉印证(cross_source_corroboration 1)。材料能区分示例和功能描述,但“保证确定性”等声明未明确标为未经验证的主张(fact_inference_separation 2)。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • README 与 pyproject.toml 对最低 Python 版本的要求不一致;README 与 LICENSE 的授权说明也不一致,使用前应核实适用授权。
  • 示例展示了购买等外部副作用,但没有确认或回滚流程;不要仅凭阶段控制推断其具备交易安全保护。
证据充分度:低 评估于 2026年10月9日 审查版本 8b6d217cae79
查看完整评分方法 →

常见问题

使用 Concierge 是否需要模型 API 密钥?
README 未说明模型提供商或 API 密钥要求;它描述的是 MCP 服务端 SDK。
能否继续使用现有 FastMCP 工具?
README 展示了用 Concierge(FastMCP("my-server")) 包装,并称现有 @app.tool() 装饰器、资源和提示词保持可用。
如何限制工具调用顺序?
在 app.stages 中按步骤列出工具,并在 app.transitions 中定义允许的步骤跳转;README 称 Concierge 在协议层执行这些限制。
可以部署为 Web 服务吗?
README 展示了 app.streamable_http_app(),并列出 stdio、streamable HTTP 和 SSE 传输;更完整的部署配置未在所给材料中说明。
软件费用是多少?
所给材料没有说明 SDK 或语义搜索的费用。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents