Give an agent read-only access
The goal is one agent that can read a chosen resource without gaining write or export access. Use illustrative tool names that correspond to your registered server; there is no universal read tool name across MCP servers.
Assemble the access boundary
Section titled “Assemble the access boundary”- Register the server and review its actual tool schemas.
- Register the agent with a verified identity relationship.
- Create a credential binding restricted to that agent and target. Prefer an upstream account whose own permissions also exclude writes.
- Author a policy permitting only the required read action and resource. Validate deny cases before publication.
- Confirm runtime acceptance, then connect the agent’s actual MCP client.
Discovery is a policy decision
Scroll the diagram sideways to see the full flow →
4 / 4
Read the full explanation
- The registry has three example tools. Registration alone does not grant access.
- Policy evaluates the authenticated principal, tool, action, and request context.
- An explicit deny overrides an allow. A tool without an applicable allow is denied too.
- Discovery returns only the permitted read tool. Calls are evaluated again when invoked.
Prove the result
Section titled “Prove the result”| Test | Expected result |
|---|---|
| Discover tools as the agent | Only permitted tools are visible. |
| Call the allowed read tool | A valid result and traceable audit decision. |
| Explicitly call a write tool | Denied before upstream execution. |
| Call with an unrelated agent | No reuse of this agent’s credential authority. |
Use the actual tool names and input schemas for these tests. Record decision metadata, not upstream secrets or customer records.
If it fails
Section titled “If it fails”Compare identity claims, policy version, binding subject and target, and active projection. Do not broaden the allow just to make the first test pass. Read agent-scoped credentials for the credential boundary.
Amelfi documentation · Space Grotesk / Geist Mono