拦截智能体的 MCP 工具调用
向 MCP 网关请求 Intralock 对智能体工具调用的裁决,读取理由,并列出它已见过的调用方。
mcp.enforce
向 MCP 网关请求 Intralock 对智能体工具调用的裁决,读取理由,并列出它已见过的调用方。
mcp.enforce智能体调用 MCP 服务器上的工具,您希望每次调用在到达工具之前就被裁决。网关返回裁决,路径上没有模型。
代码从 INTRAMEDIAL_KEY 读取密钥。请把它放在您的 shell 或密钥存储中,切勿放进要提交的文件。需要已登录用户的调用不能使用密钥:这些调用由控制台发起。
发送智能体的 DID 和工具名称。形如 fs.write 这样带变更含义的名称,无论还发送了什么,都按写入准入。
instructionShaped 标志只是对文本的启发式判断。mcp.enforcemcp-enforcecurl -sS -X POST https://api.intramedial.com/api/v1/acp/mcp/enforce \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"actorDid": "did:web:acme.example:agent:support",
"tool": "fs.write"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/mcp/enforce", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
actorDid: "did:web:acme.example:agent:support",
tool: "fs.write",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/mcp/enforce",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"actorDid": "did:web:acme.example:agent:support",
"tool": "fs.write",
},
timeout=30,
)
print(res.status_code, res.json())allow 和 reason 是 Intralock 的答复。mode 是已存储的网关模式。
{
"mode": "observe",
"shadow": false,
"event": { "actorDid": "did:web:acme.example:agent:support", "tool": "fs.write" },
"advise": null,
"allow": false,
"reason": "no_grant",
"action": "write",
"llm": false,
"protocolVersion": "2026-07-28"
}经过网关的每个请求都会向账本追加一个 mcp.shadow 事件,写明 DID、工具和模式。此路由返回最新的 50 条。它不说明调用方是否已登记,所以请把调用方与您的身份列表对比,找出无人登记的那些。
curl -sS https://api.intramedial.com/api/v1/acp/mcp/shadow \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"const res = await fetch("https://api.intramedial.com/api/v1/acp/mcp/shadow", {
headers: { Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`, },
});
console.log(res.status, await res.json());import os, requests
res = requests.get(
"https://api.intramedial.com/api/v1/acp/mcp/shadow",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
timeout=30,
)
print(res.status_code, res.json())内容复制自: /docs/mcp-enforce
账本仅可追加,并封存在 Merkle 根之下。条目上的时间取自 Intramedial 自己的时钟,签名包可用已发布的公钥离线核查。
/docs/coordination-admit读取 MCP 网关见过的调用方,然后将其认定为一个身份,或作为影子智能体继续跟踪。
mcp.shadowidentity.enroll询问平面:智能体能否对已连接的 SaaS 源执行操作,并在发送任何内容之前读取裁决。
saas.admit经 Intralock 准入智能体对仓库的写入,并把裁决作为检查运行或状态发布到提交上。
github.enforce当我们向实用示例中添加新示例时,会发送一封简短的邮件。不会发送其他任何邮件,而且您可以从任意一封邮件中退订。
完全无需账户:在 7 天之内可以在各个 attest 路由上调用 35 次,所生成的回执都会被标记为测试回执。当您想继续使用时,再注册账户即可。