# Let an agent call business operations without backend credentials | EasyNet Source: https://easynet.run/cases/enterprise-tool-boundary # Let an agent call business operations without backend credentials CRM reads and follow-up creation become narrow typed operations without database credentials. [All source cases](https://easynet.run/cases)[Inspect the pinned project](https://github.com/EasyRemote/EasyRemote/tree/44c768ca26d0f92a5ab9d1d03342895c29c27dc6/gallery/projects/02_mcp_tool_mesh) ## The problem Each new agent integration rebuilds the wrapper, while shortcuts tend to grant more access than the task needs. ## What gets published Publish three allowlisted operations: account read, revenue read, and follow-up creation. ## What stays local System implementation, credentials, and provider-owned data access. ## Business data crossing the call boundary Validated identifiers, bounded parameters, released JSON results, caller identity. ## What this shows Agent platforms can reuse the backend through stable schemas; MCP may present the same Abilities. ## What it doesn't prove The project demonstrates the capability backend; it does not reimplement an MCP server or full catalog. ## Public source evidence for this case Evidence level Source layout and declarations are anonymously inspectable Pinned public EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 Public inspection [Public inspection](https://easynet.run/docs/source-check#run-check) Expected check Required files, Python syntax, and @node.register declaration are checked without installing dependencies Runtime invocation Not established by this source fixture; record separate discovery, Invocation, and terminal Receipt evidence ## Run in a compatible source workspace This Provider/Client walkthrough requires compatible EasyRemote, EasyNet-Cli, and EasyNet-Axon sibling source checkouts, a compatible Hub, and a paired, running Runtime. The source is public; clean installation from public packages is not yet verified. Technical Alpha offers guided setup. Use the pinned EasyRemote revision below; this page does not pin the other components. Runtime admission still determines whether the caller may execute the function. ``` # From EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 cd gallery/projects/02_mcp_tool_mesh # Terminal 1 uv sync --frozen uv run python node.py # Terminal 2 (same project) uv run python client.py ``` [Connect your own function](https://easynet.run/docs/connect/function) Read the setup first. You need compatible sibling source checkouts, a compatible Hub, and a paired, running Runtime. Technical Alpha offers guided help; public-package clean installation is not yet verified. [All source cases](https://easynet.run/cases)[Request technical alpha](https://easynet.run/pilot)