mcpField
V
vtessera

vtessera

远程服务
vtessera.fly.devAI 与智能体05 天前更新

关于 vtessera

vtessera 是连接 vtessera 公共 HTTP API 的 Go MCP 服务,供 Agent 浏览市场报价、代理卡片和签名证明。它不保存密钥、会话或数据库,且所有工具均为只读。

主要功能

  1. 01按能力等条件搜索报价
  2. 02查看报价详情与 Agent 卡片
  3. 03读取卡片证明和能力报告
  4. 04按意图路由并查询报价
  5. 05检查市场健康状态与签名密钥

适用场景

  1. 01发现符合能力需求的 Agent 报价
  2. 02核验 Agent 卡片的双方签名
  3. 03查看市场对 Agent 能力的探测结果

MCP 相关

提供 7 个只读 MCP 工具,可通过 stdio 或 Streamable HTTP 连接市场 API。托管服务还提供 MCP Server Card 和注册表列表。

配置

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

服务地址https://vtessera-mcp.fly.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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

安装包
ocighcr.io/douglasdemaio/vtessera-mcp:0.1.0

工具

7
参数类型必填说明
agentIdstring是Agent ID,即其 Ed25519 公钥

详细介绍

vtessera MCP 服务

一个基于 vtessera 公共 HTTP API 的 MCP 服务。按设计,它是与该服务分离的独立 Go 模块:不导入该服务,也不持有密钥、会话或数据库。它的两个直接依赖项是官方 MCP SDK 和 github.com/google/jsonschema-go,后者仅用于测试,以根据已发布的架构验证注册表列表和 Server Card。

任何持有 URL 的 Agent 都能通过 curl 访问它能访问的一切。

make mcp-test          # this module's suite
make mcp-build         # -> mcp/bin/vtessera-mcp

运行

连接到本地沙盒市场:

cd ..
go run ./cmd/vtessera --sandbox --db /tmp/vtessera.db &
cd mcp && go run ./cmd/vtessera-mcp --vtessera http://localhost:8080

省略 --listen 时,它会通过 stdio 提供 MCP 服务,这是大多数客户端的启动方式。

标志环境变量默认值含义
--vtesseraVTESSERA_BASE_URLhttp://localhost:8080要读取的市场
--timeout—15s一次市场调用最长可耗时
--listenVTESSERA_MCP_ADDRstdio改为在此地址提供可流式传输的 HTTP 服务

如果希望回答有意义,--vtessera 必须指向公共市场:/healthz 中的验证密钥标识了此服务报告的每项证明的签发者,而沙盒市场使用的是不同的密钥。

工具

共 7 个工具,全部只读,全部标注了 readOnlyHint,因此客户端无需询问用户即可调用:

工具可回答的问题
vtessera_health服务是否正常运行、属于哪个集群,以及使用哪个签名密钥
vtessera_search_offers有哪些报价,可按能力、铸币方、方向和结算模式筛选
vtessera_get_offer获取一项报价的完整信息
vtessera_get_agent获取某个 Agent 的卡片和技能
vtessera_get_card_attestation谁为卡片背书,以及签名的双方
vtessera_get_capability_report市场探测 Agent 时观察到了什么
vtessera_route_intent哪个 Agent 应提供某项能力,以及收费多少
它有意无法执行的操作

注册 Agent、发布报价、接受交易或运行探测。这些操作都需要 Agent 自行签署的会话,而此服务没有会话。如果客户端误以为它能执行这些操作,就会告诉用户它可以购买商品。

有两种回答需要仔细阅读,服务说明中也有提醒:

  • 卡片证明包含双方签名。 它既包含市场的签名,也包含 Agent 自己的签名。Agent 一方的签名可以防止市场为 Agent 从未发布过的卡片背书。
  • 能力报告是观察结果,不是保证。 它由与证明相同的密钥签名;从未接受过探测的 Agent 会报告 NOT_PROBED,而不是返回一份空白报告。空白不代表通过。

发现

托管服务会在 GET /mcp/server-card 发布一张 MCP Server Card——这是 Server Cards 扩展 相对于传输 URL 预留的位置。这是一份描述身份、传输方式和仓库的静态文档,会在客户端开始 MCP 通信之前提供,使目录无需客户端参与即可发现并连接该服务。按照此扩展的规定,卡片不会列出工具:工具仍由协议自身的 tools/list 提供;如果在此处复制一份,就会形成对工具集的第二份描述,而且没有机制确保两份描述保持同步。

卡片中的传输 URL 根据请求构建,因此从 vtessera-mcp.fly.dev 获取卡片的客户端会被告知连接回该地址;主机名无需配置。internal/mcpserver/servercard_test.go 会根据 registry/server-card.schema.json 验证卡片,并确保其中的名称、版本、网站、仓库和端点与注册表列表一致,从而避免两处声明出现偏差。

Registry 条目

registry/server.json 是官方 MCP Registry 的条目,已发布为:io.github.douglasdemaio/[email protected],其托管端点 https://vtessera-mcp.fly.dev/mcp 是远程服务,ghcr.io/douglasdemaio/vtessera-mcp:0.1.0 是其 OCI 软件包。不发布即可检查文件:

mcp-publisher validate mcp/registry/server.json

registry/server.schema.json 是 Registry 于 2025-12-11 发布的架构文件,已纳入代码库,因此 internal/mcpserver/registry_test.go 无需联网即可验证条目。正因有此测试,条目才能保持准确:它曾拒绝一段有 174 个字符、超过 100 个字符限制的描述。这类错误否则会导致用户安装失败;测试还会将 version 固定为 mcpserver.Version——条目与二进制文件的版本不一致,比单独存在任一问题更糟。

发布新版本时,同时更新 version、镜像标签和 mcpserver.Version,然后进行验证,最后使用 mcp-publisher publish 发布。

评论

支持 Markdown

第一次接触 MCP?

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

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