Why MCP Over CLI
When an AI agent needs to access a file, call an API, or query a database, it has two options:- MCP tool call — Structured, observable, auditable. Every call flows through Ultra’s pipeline and is traced, logged, and metered.
- Shell command — Invisible to security tooling. No audit trail, no policy enforcement, no centralized visibility.
Ultra as the Connectivity Layer
Without Ultra, connecting MCP clients to servers is an N×M configuration problem. Every client (Claude Desktop, Cursor, VS Code, Claude Code) needs to be individually configured for every server (filesystem, GitHub, Slack, databases). This creates:- Configuration sprawl — Duplicate configs across every developer machine
- Security gaps — No centralized visibility or policy enforcement
- Inconsistency — Different developers with different server access
Best Practices for Agent Workflows
Use MCP Tools for All Data Access
Every MCP tool call through Ultra generates traces, audit events, and metrics. This gives teams full visibility into what AI agents are doing — which tools they call, how often, latency, error rates, and which users and gateways are most active. Prefer MCP tools for:- File operations — Read, write, search, and list files via MCP filesystem tools
- API calls — Use MCP servers for GitHub, Slack, Notion, and other services
- Database queries — Route database access through MCP servers
- Infrastructure operations — AWS, cloud, and DevOps tools via MCP
Leverage Tool Namespacing
Ultra aggregates tools from all upstream servers into a single namespace. Agents connecting to Ultra can discover all available tools across all servers in one place, without needing to know which server provides which tool.Use Resource Reads for Context Gathering
MCP resource reads are traced and auditable, just like tool calls. Use them for gathering context from documentation, configurations, and reference data.Prefer Structured Tool Calls Over Raw CLI
Structured MCP tool calls are:- Reproducible — Same inputs produce same outputs
- Auditable — Full request/response payloads are logged
- Enforceable — Ultra’s guardrails can evaluate and enforce policies on tool calls
Observability Benefits
Every MCP tool call through Ultra generates:- Traces — OpenTelemetry-compatible spans with full request/response payloads
- Audit events — Security-relevant records with severity, outcome, and principal
- Metrics — Request counts, latency histograms, error rates, per-server and per-tool breakdowns
Security Benefits
Ultra’s pipeline processes every MCP tool call. This enables:- Complete audit trails for compliance (SOC 2, HIPAA, etc.)
- Client identity tracking — Know which agent/client made each request
- Guardrails (coming soon) — Enforce policies on tool calls, validate parameters, rate limit usage
Configuring Agent Instructions
Most AI coding agents support instruction files (likeCLAUDE.md, AGENTS.md, or .cursorrules) that guide agent behavior. Use these to enforce MCP-first workflows.
Example: CLAUDE.md Instructions
Add these to your project’sCLAUDE.md or ~/.claude/CLAUDE.md:
Example: AGENTS.md Instructions
For repositories with multiple contributors:Key Principles for Agent Instructions
- Be explicit — List available MCP servers and their tools so agents know what’s available
- Set boundaries — Specify that external data access should go through MCP tools
- Reference Ultra — Mention that MCP traffic routes through Ultra so agents don’t try to bypass it
- Keep it updated — As you add new MCP servers to Ultra, update your instruction files