<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MCP Archives - Arcentra Systems</title>
	<atom:link href="https://arcentra.systems/tag/mcp/feed/" rel="self" type="application/rss+xml" />
	<link>https://arcentra.systems/tag/mcp/</link>
	<description>AI infrastructure built for production</description>
	<lastBuildDate>Tue, 15 Sep 2026 10:02:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://arcentra.systems/wp-content/uploads/2026/06/cropped-favicon-32x32.webp</url>
	<title>MCP Archives - Arcentra Systems</title>
	<link>https://arcentra.systems/tag/mcp/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How AI Agents and Tools Work</title>
		<link>https://arcentra.systems/architecture/how-ai-agents-and-tools-work/</link>
		
		<dc:creator><![CDATA[Arcentra Systems]]></dc:creator>
		<pubDate>Tue, 15 Sep 2026 09:56:17 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Agent Architecture]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[Enterprise AI]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[Tool Use]]></category>
		<guid isPermaLink="false">https://arcentra.systems/?p=481</guid>

					<description><![CDATA[<p>An AI agent is a runtime loop around a language model and approved tools. Follow a task through model decisions, policy checks, execution, observations and safe completion.</p>
<p>The post <a href="https://arcentra.systems/architecture/how-ai-agents-and-tools-work/">How AI Agents and Tools Work</a> appeared first on <a href="https://arcentra.systems">Arcentra Systems</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Enterprise AI Systems, Explained &#8211; Part 4</strong></p>
<p>An AI agent is not a language model with a longer prompt. It is a software system that lets a model choose the next step, use approved tools, inspect the result and continue until a task is complete.</p>
<p>The distinction matters. A model can suggest that a ticket should be created. An agent can request the ticketing tool, provide structured arguments and use the returned ticket ID in its next step. The model proposes the action; the runtime validates and orchestrates it, while the tool service and target system enforce authorization and perform the operation.</p>
<p>This article follows that loop from a user&#8217;s goal to a verified result. It also shows where identity, permissions, approvals and recovery belong.</p>
<p><a href="https://arcentra.systems/wp-content/uploads/2026/09/how-ai-agents-and-tools-work-1.webp">Open the agent loop diagram at full size</a>.</p>
<h2>A small example</h2>
<p>Suppose an engineer asks an internal operations agent:</p>
<blockquote>
<p>Find out why payment authorization failures increased after the last deployment. If a configuration change is responsible, prepare a rollback for review.</p>
</blockquote>
<p>A chatbot can describe possible causes. An agent can work through the task:</p>
<ol>
<li>look up the latest payment-service deployment;</li>
<li>query the relevant error and latency metrics;</li>
<li>compare the deployment change with the incident window;</li>
<li>read the approved runbook;</li>
<li>prepare a rollback change;</li>
<li>stop and ask an authorized engineer to approve execution.</li>
</ol>
<p>No single model response completes this job. It requires several decisions, several tools and new information after each step.</p>
<h2>What makes a system an agent?</h2>
<p>The word <em>agent</em> is used loosely. A useful engineering definition is:</p>
<blockquote>
<p>An agent is a system in which a model helps control the execution of a multi-step task and can select tools in response to the current state.</p>
</blockquote>
<p>The surrounding system normally contains five parts:</p>
<ul>
<li><strong>Model:</strong> interprets the goal and proposes the next step.</li>
<li><strong>Instructions:</strong> describe the task, boundaries and completion conditions.</li>
<li><strong>Tools:</strong> typed operations for reading data or changing an external system.</li>
<li><strong>Runtime:</strong> maintains state, calls the model, validates requests, executes tools and applies limits.</li>
<li><strong>Environment:</strong> the files, services, networks and credentials available to the runtime.</li>
</ul>
<p>The model is important, but the agent is the complete system. Changing the tool permissions or execution environment can change what an agent is capable of even when the model stays the same.</p>
<h2>What is a tool?</h2>
<p>A tool is a controlled interface between the agent runtime and another capability. It can read information, perform computation or request a change.</p>
<p>Examples include:</p>
<ul>
<li><code>get_deployment(service, environment)</code></li>
<li><code>query_metrics(service, metric, start_time, end_time)</code></li>
<li><code>search_runbooks(query, service)</code></li>
<li><code>create_change_request(service, proposed_change)</code></li>
<li><code>execute_approved_rollback(change_id)</code></li>
</ul>
<p>Each tool has a name, a description and a schema that defines its allowed arguments. The model sees that contract and may produce a structured tool request. The runtime then checks the request and invokes the actual function or API.</p>
<p>This is different from giving the model unrestricted shell access, database credentials or a general-purpose administrative API. Good tools expose the smallest operation needed for a task and keep credentials outside the model context.</p>
<h2>The agent loop, step by step</h2>
<h3>1. Receive the goal with identity</h3>
<p>The request enters the runtime with the authenticated user, tenant, role and relevant application context. Identity is not decoration added after the model has chosen an action. It determines which information and tools are available from the beginning.</p>
<p>In the incident example, a support analyst might be allowed to read metrics but not prepare a production rollback. A platform engineer may prepare one, while a separate production owner must approve execution.</p>
<h3>2. Assemble the current state</h3>
<p>The runtime builds the model input from the user&#8217;s goal, system instructions, available tool descriptions and the observations collected so far.</p>
<p>State may include deployment identifiers, retrieved documents, tool errors, approval status and a compact summary of earlier steps. Long-running work also needs durable checkpoints outside the model context so it can resume after a timeout, restart or human review.</p>
<h3>3. Let the model propose the next step</h3>
<p>Given the current state, the model can usually do one of four things:</p>
<ul>
<li>answer or produce a final result;</li>
<li>ask the user for missing information;</li>
<li>request a tool call;</li>
<li>stop because the task is complete, blocked or unsafe.</li>
</ul>
<p>For the incident, the first decision might be a request to call <code>get_deployment</code>. The response should contain the selected tool and arguments, not a claim that the deployment was already inspected.</p>
<h3>4. Apply policy before execution</h3>
<p>A tool request is a proposal, not authorization. The runtime checks it against deterministic controls:</p>
<ul>
<li>Is this tool available to this user and tenant?</li>
<li>Are the arguments valid and within scope?</li>
<li>Is the action read-only, reversible or destructive?</li>
<li>Does it require approval?</li>
<li>Has the agent exceeded its time, cost or action limits?</li>
</ul>
<p>If the answer is no, the tool is not executed. A prompt such as &#8220;only use tools you are allowed to use&#8221; is helpful guidance, but it is not an access-control mechanism.</p>
<p>The policy gate is an additional control, not a replacement for authorization in the target system. The database, ticketing platform, payment service or deployment API must still verify the calling identity and permitted operation at its own boundary.</p>
<h3>5. Execute through the tool layer</h3>
<p>A tool adapter or executor translates the approved request into the actual API call, database query or sandboxed operation. It supplies credentials, applies timeouts and normalizes the result.</p>
<p>The model should not receive long-lived secrets. The runtime or tool service owns those credentials and uses them only for the authorized operation.</p>
<h3>6. Return an observation</h3>
<p>The tool returns an observation: data, a confirmation, an error or a new external state. The runtime records the result and provides the relevant portion to the model for the next decision.</p>
<p>Tool output must be treated as untrusted input. A web page, document, ticket or repository can contain text that attempts to instruct the model to ignore its rules or call another tool. Retrieved text is data; it does not gain authority because an agent read it.</p>
<h3>7. Repeat or stop</h3>
<p>The model evaluates the observation and chooses another step. It might query a second metric, inspect a runbook, correct a failed tool call or ask for approval.</p>
<p>The loop needs explicit stopping conditions. Stop when the result is verified, the maximum number of steps is reached, a required approval is missing, the next action is unsafe, or the available evidence cannot support a reliable conclusion.</p>
<h2>A tool call is not the action itself</h2>
<p>This is the most important boundary in the architecture.</p>
<p>The model might produce a request resembling:</p>
<pre><code>{
  "tool": "create_change_request",
  "arguments": {
    "service": "payment-api",
    "proposed_change": "restore timeout_ms from 5000 to 2000"
  }
}</code></pre>
<p>That output does not change production. The runtime still has to validate the schema, verify the service scope, confirm that the user may prepare a change and call the change-management API. The tool result might then return:</p>
<pre><code>{
  "change_id": "CHG-1842",
  "status": "awaiting_approval"
}</code></pre>
<p>The next model response can explain what was prepared and who must approve it. It must not claim that the rollback has run.</p>
<h2>Read tools and action tools need different controls</h2>
<p>Not every tool carries the same risk.</p>
<ul>
<li><strong>Read tools</strong> retrieve documents, metrics, records or system state.</li>
<li><strong>Computation tools</strong> run code or transform data in a controlled environment.</li>
<li><strong>Action tools</strong> send messages, change records, deploy software, move money or alter infrastructure.</li>
</ul>
<p>Read access can still expose sensitive data, so it requires identity and filtering. Action tools add side effects and need stronger safeguards. A practical policy can allow routine reads automatically, require confirmation for reversible writes and prohibit high-impact actions unless a separate approval workflow authorizes them.</p>
<h2>Why narrow tools work better</h2>
<p>A general tool called <code>call_internal_api(method, url, body)</code> is powerful but difficult to govern and difficult for a model to use reliably. A narrow tool called <code>get_payment_incident_metrics</code> is easier to describe, validate, authorize and test.</p>
<p>Useful tool design includes:</p>
<ul>
<li>a precise name and description;</li>
<li>a small input schema with meaningful field descriptions;</li>
<li>explicit required fields and allowed values;</li>
<li>bounded, structured output;</li>
<li>clear error messages the agent can act on;</li>
<li>stable identifiers rather than ambiguous display names;</li>
<li>pagination and result limits;</li>
<li>idempotency support for operations that may be retried.</li>
</ul>
<p>Tool design is part of agent engineering. A stronger model cannot fully compensate for a vague or unsafe interface.</p>
<h2>Retries, partial failure and duplicate actions</h2>
<p>Multi-step tasks fail in ordinary ways: APIs time out, credentials expire, a service returns stale data, or the process restarts after an action succeeded but before the result was recorded.</p>
<p>Read operations can often be retried safely. Write operations need more care. If an agent repeats <code>send_payment</code> after a timeout, it must not create a second transfer. Use idempotency keys, durable operation IDs and status checks so the runtime can determine whether an earlier attempt already completed.</p>
<p>For workflows with several side effects, define recovery explicitly. Some operations can be reversed; others require a compensating action or human intervention. &#8220;Ask the model to try again&#8221; is not a transaction strategy.</p>
<h2>Workflows and agents are not the same thing</h2>
<p>A workflow follows a path defined in code. An agent allows the model to choose parts of that path dynamically.</p>
<p>If every incident investigation always performs the same five queries in the same order, use a workflow. It is easier to test, cheaper to run and more predictable.</p>
<p>An agent is useful when the required steps depend on what it discovers: the affected service is unknown, different evidence leads to different tools, or the number of investigation steps cannot be fixed in advance.</p>
<p>Many production systems combine both approaches. Code defines the major stages and security boundaries; an agent makes bounded decisions inside one stage.</p>
<h2>Where MCP fits</h2>
<p>The Model Context Protocol, or MCP, standardizes how compatible clients discover and call tools exposed by servers. A tool definition includes a name, description and input schema; a tool result can return structured or unstructured content.</p>
<p>MCP can reduce custom integration work, but it does not decide which tools an employee should be allowed to use, whether a production action needs approval, or whether a tool&#8217;s implementation is safe. Those remain responsibilities of the application, identity platform, policy layer and tool service.</p>
<p>Protocol compatibility is not the same as trust. Connect only approved servers, validate their tool definitions and results, and apply the same least-privilege controls used for any other integration.</p>
<h2>Identity must reach the tool boundary</h2>
<p>An enterprise agent should not turn many users into one invisible shared service account.</p>
<p>The tool layer needs enough identity context to enforce the same business permissions that apply outside the agent. Depending on the system, this can use delegated user authorization, a workload identity with tightly scoped policy, or a controlled combination of both.</p>
<p>At minimum, record:</p>
<ul>
<li>who requested the task;</li>
<li>which agent and version handled it;</li>
<li>which identity called each tool;</li>
<li>which policy allowed or denied the call;</li>
<li>who approved a sensitive action;</li>
<li>what external object or operation was created.</li>
</ul>
<p>The next article in this series examines identity and authorization in more detail.</p>
<h2>What should be observed?</h2>
<p>A production trace should make the execution reconstructable without collecting unnecessary sensitive content. Capture:</p>
<ul>
<li>task and trace identifiers;</li>
<li>model, instruction and tool versions;</li>
<li>tool selections and validated arguments, with secrets and sensitive fields redacted;</li>
<li>policy decisions and approvals;</li>
<li>tool latency, retries and errors;</li>
<li>token, compute and external API cost;</li>
<li>completion reason and verified outcome.</li>
</ul>
<p>Operational tracing does not require storing private model reasoning. Record the observable decisions, tool calls, evidence and outcomes needed to debug and audit the system.</p>
<h2>How to evaluate an agent</h2>
<p>A fluent final answer is not enough. Agent evaluation should test the full trajectory: the sequence of decisions and actions that led to the result.</p>
<p>Useful questions include:</p>
<ul>
<li>Did the agent complete the intended task?</li>
<li>Did it choose the correct tools?</li>
<li>Were the tool arguments valid?</li>
<li>Did it avoid unnecessary calls and loops?</li>
<li>Did it respect tenant and user permissions?</li>
<li>Did it request approval before a sensitive action?</li>
<li>Did it recover correctly from timeouts and tool errors?</li>
<li>Did it stop when evidence was insufficient?</li>
<li>Was the latency and cost acceptable?</li>
</ul>
<p>Test normal tasks, ambiguous instructions, unavailable tools, malicious tool output, partial failures and attempts to cross authorization boundaries.</p>
<h2>A practical production checklist</h2>
<ul>
<li>Use an agent only when the path genuinely needs dynamic decisions.</li>
<li>Give each tool a narrow purpose and typed schema.</li>
<li>Keep credentials outside model context.</li>
<li>Authorize tool calls at execution time and enforce permissions again at the target resource.</li>
<li>Separate read, write and destructive capabilities.</li>
<li>Require approval for high-impact actions.</li>
<li>Treat documents and tool results as untrusted input.</li>
<li>Use sandboxes and network restrictions for code execution.</li>
<li>Add time, cost and iteration limits.</li>
<li>Make writes idempotent and define recovery.</li>
<li>Checkpoint long-running tasks.</li>
<li>Trace decisions, tool calls, policy outcomes and external side effects.</li>
<li>Evaluate complete task trajectories, not only final text.</li>
</ul>
<h2>The complete sequence</h2>
<p>The basic runtime path is:</p>
<p><strong>Goal and identity -&gt; runtime assembles state -&gt; model proposes a response or tool call -&gt; policy validates it -&gt; tool executes -&gt; observation returns -&gt; state is updated -&gt; the loop repeats or stops.</strong></p>
<p>An agent becomes useful when tools connect language-model decisions to real systems. It becomes operable when the surrounding runtime keeps those decisions bounded, authorized, recoverable and observable.</p>
<p>Start with <a href="https://arcentra.systems/architecture/how-enterprise-ai-systems-work/"><em>How Enterprise AI Systems Work</em></a>, Part 1 of the series.</p>
<h2>Sources and further reading</h2>
<ul>
<li><a href="https://www.anthropic.com/engineering/building-effective-agents">Anthropic: Building effective agents</a></li>
<li><a href="https://www.anthropic.com/engineering/writing-tools-for-agents">Anthropic: Writing effective tools for agents</a></li>
<li><a href="https://openai.com/business/guides-and-resources/a-practical-guide-to-building-ai-agents/">OpenAI: A practical guide to building agents</a></li>
<li><a href="https://modelcontextprotocol.io/specification/2025-11-25/server/tools">Model Context Protocol specification: Tools</a></li>
<li><a href="https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization">Model Context Protocol specification: Authorization</a></li>
</ul>
<p>The post <a href="https://arcentra.systems/architecture/how-ai-agents-and-tools-work/">How AI Agents and Tools Work</a> appeared first on <a href="https://arcentra.systems">Arcentra Systems</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
