Controlar a chamada de ferramenta MCP de um agente
Peça ao gateway MCP o veredito do Intralock sobre a chamada de ferramenta de um agente, leia o motivo e liste os chamadores que ele já viu.
mcp.enforce
Peça ao gateway MCP o veredito do Intralock sobre a chamada de ferramenta de um agente, leia o motivo e liste os chamadores que ele já viu.
mcp.enforcePasse ações de agentes, hashes de conteúdo, checagens de API, DNS, webhooks, chamadas de LLM e commits git pela Intramedial. Receba um recibo assinado que todos verificam – sem confiar em nós.
Um agente chama ferramentas em um servidor MCP e você quer que cada chamada seja decidida antes de chegar à ferramenta. O gateway devolve o veredito sem nenhum modelo no caminho.
O código lê a chave de INTRAMEDIAL_KEY. Guarde-a no seu shell ou no seu cofre de segredos, nunca em um arquivo que você faz commit. Chamadas que exigem uma pessoa logada não podem usar chave: o console as faz.
Envie o DID do agente e o nome da ferramenta. Um nome com forma de mutação, como fs.write, é admitido como gravação, seja o que for que mais se envie.
mcp.enforcemcp-enforce
curl -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 e reason são a resposta do Intralock. mode é o modo do gateway armazenado.
{
"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"
}Cada requisição pelo gateway acrescenta um evento mcp.shadow ao livro-razão, com o DID, a ferramenta e o modo. Esta rota devolve os 50 mais recentes. Ela não diz se um chamador está inscrito, então compare os chamadores com sua lista de identidades para achar os que ninguém registrou.
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())Copiado de: /docs/mcp-enforce
instructionShaped é uma heurística sobre texto.O livro-razão é somente de acréscimo e selado sob raízes Merkle. A hora de uma entrada é o relógio da própria Intramedial, e um bundle assinado pode ser conferido offline com a chave publicada.
Leia os chamadores que o gateway MCP já viu e depois oficialize um como identidade ou mantenha-o rastreado como shadow.
mcp.shadowidentity.enrollPergunte ao plano se um agente pode agir em uma fonte SaaS conectada e leia o veredito antes de enviar qualquer coisa.
saas.admitAdmita a gravação de um agente em um repositório pelo Intralock e publique o veredito no commit como check run ou status.
github.enforceUm e-mail curto quando somamos receitas. Nenhum outro e-mail, e você cancela por qualquer mensagem.
Sem conta: 35 chamadas em 7 dias nas rotas attest, com recibos marcados como teste. Cadastre-se quando quiser seguir adiante.