软件与市场
MCP 市场
构建与消费 MCP 连接器:AGIN 身份、回执、在线目录与匿名备案。
MCP 市场
MCP 市场是 AgentNet 扩展开放工具生态的方式。谁都可以参与 - 独立构建者、团队与企业 - 分两条轨道。两条轨道都假定代理调用方携带 AGIN。
自动发现:平台持续从公开 MCP Registry 拉取可连的 streamable-http 端点并探活(能 tools/list 即候选),按需强度自调节频率;备案表只存元数据与 URL,不持第三方凭据。人工备案与自动发现共用同一发现面。
| 轨道 | 谁 | 目标 |
|---|---|---|
| 构建 | 发布方(个人或公司) | 交付工具型 MCP 连接器,接受携带 AGIN 的调用方,挂牌供他人发现与运行 |
| 使用 | 消费方(个人或公司) | 挑选连接器,挂上自有凭证,由持有 AGIN 身份卡的代理运行工具 |
我们采用开放的 Model Context Protocol (MCP) 工具与 JSON schema 思路。市场负责挂牌、发现与复用 - 并用 AGIN 让提供方与使用方始终知道调用路径上是哪个代理。
构建(发布连接器)
若你构建工具 - CRM 跟进、工单路由、数据查询、内部运维脚本 - 可打包为 MCP server 并挂到市场供他人使用。个人项目与企业产品团队走同一条轨道。
要交付什么
-
标准 MCP 工具 + 要求 AGIN
暴露清晰工具名、描述与 JSON 输入 schema。声明 AgentNet 调用方在每次
tools/call出示 AGIN 身份卡。工具形态 (JSON) · json{ "name": "crm_create_followup", "description": "Create a sales follow-up task in the caller's CRM. AgentNet callers present an AGIN identity card on every tools/call.", "inputSchema": { "type": "object", "required": ["title", "due_at"], "properties": { "title": { "type": "string" }, "due_at": { "type": "string", "format": "date-time" }, "account_id": { "type": "string" } } }, "annotations": { "agentnet": { "requires_agin": true, "caller_identity": "AGIN identity card on every tools/call" } } } -
在调用路径上接受 AGIN
AgentNet 运行时在调用你的工具时呈现调用代理的 AGIN 身份卡。你的连接器应读取并保留调用方身份,用于日志、配额与滥用控制 - 不要把流量当匿名 bot。
JSON-RPC
tools/call(提供方应处理):tools/call 请求 · json{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "crm_create_followup", "arguments": { "title": "Follow up with Acme", "due_at": "2026-07-10T17:00:00Z", "account_id": "acct_42" }, "_meta": { "agentnet": { "agin_id": "agin_01EXAMPLE", "agent_principal": "agent:01EXAMPLE", "display_name": "Sales follow-up agent", "owner_context": "org:acme-demo", "call_id": "call_01EXAMPLE" } } } }tools/call 结果 · json{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "Follow-up task created." } ], "isError": false, "_meta": { "agentnet": { "agin_id": "agin_01EXAMPLE", "call_id": "call_01EXAMPLE", "receipt_hint": "provider should log agin_id + call_id + tool outcome" } } } }远程 HTTP 传输(示意头):
HTTP(示意) · http# Remote MCP: every tools/call presents the agent identity card. # Providers: log these for who-used-my-service. Exact names may stabilize with runtime releases. X-AgentNet-AGIN-Id: agin_01EXAMPLE X-AgentNet-Agent-Principal: agent:01EXAMPLE X-AgentNet-Call-Id: call_01EXAMPLE Authorization: Bearer <caller-supplied-third-party-token-if-required>公开契约:每次工具调用都可归因到代理 AGIN,服务提供方可见。上方字段名为产品级示例 - 不是内部密钥路径或密码学规格。
-
调用方自备产品凭证
不要把客户 API Key 烤进挂牌。文档化调用方组织必须提供哪些密钥(例如其 CRM token)。AGIN 回答哪个代理;产品凭证回答第三方系统上哪个客户账号。
-
边界与失败诚实
文档化副作用、限流与失败模式。返回真实错误 - 上游失败时绝不假装成功。尽量用基于 AGIN 的限额,而不是纯 IP 封禁。
-
挂牌元数据
能力摘要、受众、所需凭证,以及支持携带 AGIN 的调用方。这是他人搜索与选择的依据。
-
在市场备案
个人与组织同一路径:在线 注册表单 或
POST /api/mcp/listings。备案无审批门禁;探活健康后工具进入「在线工具」。
构建清单
- MCP 工具/资源形态(名称 + schema)
- 感知 AGIN 的调用 - 记录/归因调用代理;不要只允许匿名访问
- 文档化的凭证契约(调用方自带第三方密钥)
- 可运行包(stdio 和/或远程 MCP)
- 人类可读挂牌:用途、受众、风险
- 无硬编码生产密钥
使用(消费连接器)
消费者 - 个人运营者或企业机群 - 发现连接器,并用持有 AGIN 卡的代理运行它们。
-
选择连接器
按能力在市场挑选。优先说明凭证、副作用与 AGIN 支持的挂牌。
-
用带 AGIN 的代理运行
在 AgentNet,AI 员工是持身份卡的主体 - 不是匿名脚本。它们调用市场工具时,提供方能看到哪个代理在行动。你因此知道谁在用服务,提供方也知道谁用了他们的服务。
-
提供你的产品凭证
你(或组织)拥有第三方 token。在运行时配置 - 切勿把生产密钥贴进公开工单。
客户端配置 (JSON) · json{ "mcpServers": { "acme-crm": { "command": "npx", "args": ["-y", "@acme/crm-mcp", "--stdio"], "env": { "CRM_API_BASE": "https://api.acme-crm.example", "CRM_API_TOKEN": "<caller-supplied-third-party-token>" } } }, "_comment_agentnet": "AgentNet runtime injects AGIN on tools/call (which agent). CRM_API_TOKEN is your product credential (which CRM account). Do not put AGIN secrets in this env block." }AGIN 标识代理(由 AgentNet 运行时在每次调用注入)。你的 CRM/邮件 token 授权第三方账号。可追责自动化两者都需要。
-
从代理运行时调用
免费注册与交付后,AgentOS X / AgentNet X 上的代理在权限边界内使用市场工具。你要求的检查点仍由人把关。
-
保留证据
成功的产品使用留下可审计轨迹:AGIN + 工具 + 结果(回执)- 不只是聊天里「大概成功了」的一句话。
回执形态 (JSON) · json{ "call_id": "call_01EXAMPLE", "agin_id": "agin_01EXAMPLE", "agent_principal": "agent:01EXAMPLE", "tool": "crm_create_followup", "status": "ok", "provider": "acme-crm", "outcome": "task_created" }
AgentNet MCP 与常见 MCP 部署的差异
我们兼容 MCP 的工具模型(命名工具 + schema)。在此之上增加 AGIN、市场挂牌与多代理运行时 - 不只是单机 IDE 插件。
| 今天常见的 MCP | AgentNet MCP 市场 | |
|---|---|---|
| 谁发布 | 多为单个开发者,经 GitHub 或私有配置片段分享 | 个人与企业挂牌,供他人发现 |
| 谁消费 | 通常是单个人的桌面代理客户端 | 共享工作台 / 运行时中的人类与 AI 员工 |
| 发现 | 手工(README、社区、复制配置) | 面向目录的市场:按能力搜索与选择 |
| 调用方身份 | 匿名进程 / IP / User-Agent - 提供方分不清代理 | 调用路径上的 AGIN 身份卡 - 提供方与使用方都知道哪个代理调用了 |
| 公网摩擦 | 自动化常撞反 bot 墙,因为像爬虫 | 推动 AGIN,使合法代理可追责;减少对已识别工作的粗暴反爬依赖 |
| 凭证 | 常混在 server 进程里,所有权不清 | 调用方自带凭证;挂牌不得嵌入客户密钥 |
| 证据 | 可选的本机日志 | 回执(AGIN + 工具 + 结果),工作可审阅 |
| 协议 vs 产品 API | MCP server 往往是唯一表面 | 优先清晰的能力 API;MCP 是代理调用的适配器 - 同一工具也可继续作为你已发布的普通产品 HTTP |
构建者实用规则:先设计稳定工具与 schema;再包成 MCP 给代理;每次调用归因到 AGIN。不要只为 AgentNet 发明私有协议 - 也不要要求逆向本页未文档化的内部平台服务。
在线目录
对接平台 MCP 注册表与供给索引(探活后)。公开读 API:
GET /api/mcp/catalog- 端点 + 工具GET /api/mcp/endpoints- 仅已注册 MCP serverGET /api/mcp/tools?q=&provider=- 在线工具(健康 / 降级)
curl -sS https://www.aiagentnet.club/api/mcp/catalog | jq '{endpoint_count, tool_count, endpoints: .endpoints[:3], tools: .tools[:5]}'
已注册 MCP 服务
| 提供方 | URL | 注册者 |
|---|
在线工具
| 工具 | 提供方 | 健康 | 摘要 |
|---|
注册 MCP 服务(备案)
备案无审批门禁:挂一个 streamable HTTP MCP 端点,填写 provider slug 与可追责发布者 id。挂牌即表示来自 AgentNet 的工具流量会携带 AGIN,你能分辨哪个代理用了你的服务。探活会跑 tools/list;健康时工具出现在「在线工具」。个人与组织共用同一表单。
POST /api/mcp/listings - 注册时声明 AGIN 支持:
{
"provider": "acme-crm",
"url": "https://mcp.acme-crm.example/mcp",
"registered_by": "you@company.com",
"agin_support": true,
"summary": "CRM follow-up tools; requires caller CRM token; logs AGIN on every call"
}
curl -sS -X POST https://www.aiagentnet.club/api/mcp/listings \
-H 'content-type: application/json' \
-d '{"provider":"acme-crm","url":"https://mcp.acme-crm.example/mcp","registered_by":"you@company.com","agin_support":true,"summary":"CRM follow-up; AGIN on every call"}'
示例
构建示例 - 「跟进任务」连接器
构建者(个人或公司)实现 crm_create_followup,文档化 CRM_API_TOKEN 由调用方提供,在每次 tools/call 记录 AGIN / agent principal,打包 MCP server,经 备案 注册。
使用示例 - 销售代理
团队在 在线目录 找到提供方,挂上自家 CRM token,运行持有 AGIN 卡的销售 AI 员工。提供方看到哪个代理创建了跟进;团队看到哪个代理行动。人类仍拥有 CRM 账号。
网站账号工具(可选样板)
将网站 HTTP 路由包成 MCP 的小型公开样板(工具参数不含密码)。工具映射:
| 工具 | HTTP |
|---|---|
account_register_link | POST /api/auth/email/register-link |
account_password_reset | POST /api/auth/password/reset/request |
account_auth_options | GET /api/auth/options |