ai & machine learning · generative ai & agents

We build agents that act under their own identity, with only the permissions the task needs.

An agent that can read the CRM, draft refunds and call internal APIs is, from a security point of view, a new employee with no manager and a shared password. We design its identity, its tool permissions and its approval steps before we write the prompt.

platforms
ai-machine-learning / generative-ai-agents 8 platforms
01 · USER 02 · AGENT 03 · TOOLS 04 · SYSTEMS Employee or customer: chat · Slack · web app Employee or customer chat · Slack · web app Identity provider: Okta · Entra ID · Auth0 Identity provider Okta · Entra ID ·Auth0 Agent with own identity: Claude · OpenAI API Agent with ownidentity Claude · OpenAI API Permission-aware retrieval: vector index · ACL filter Permission-awareretrieval vector index · ACLfilter Human approval: risky actions only Human approval risky actions only MCP servers: OAuth-protected · scoped tools MCP servers OAuth-protected ·scoped tools CRM: Salesforce CRM Salesforce Data platform: Databricks · Snowflake Data platform Databricks · Snowflake Ticketing and docs: ServiceNow · Jira · SharePoint Ticketing and docs ServiceNow · Jira ·SharePoint
Anthropic ClaudeOpenAI APIOktaMicrosoft Entra ID
in short·20-second read

Generative AI and agents means two kinds of system.

One answers questions over your documents with retrieval-augmented generation (RAG). The other takes actions through tools. We build both on Anthropic Claude, the OpenAI API and open models, connect tools over the Model Context Protocol, and give every agent its own identity, scoped OAuth tokens and a human approval step for risky actions. Each release is tested against an evaluation set.

you probably need this if
  • There's an agent prototype on someone's laptop calling internal systems with an admin API key.
  • A RAG chatbot answers from documents the person asking is not allowed to read.
  • Each model change ships without anyone measuring whether answers got better or worse.
terms on this page DelegationdefinitionLetting an agent act for a specific person, and recording that so your logs show the agent and the person it acted for.explained in a field note →RAGdefinitionRetrieval-augmented generation, or RAG. A search first pulls relevant passages from your documents, and a language model writes the answer from those passages.explained in a field note →
Ask an engineer facts checked 2026-10-20 · 8 sources
how it runs
  1. 01Pick the task
  2. 02Prototype against the test set
  3. 03Harden
  4. 04Launch and monitor
you keep
  • Evaluation dataset and automated scoring
  • Architecture and data-flow diagram
  • Agent permission matrix covering tools, scopes and approval rules
+ 3 more documents
who does it
AI engineer for LLM applicationsAgent developer (tool use, MCP)LLM evaluation engineer Claude Certified Developer – Foundations Claude Certified Architect – Foundations
the story · generative ai & agents

From the first call to a setup your own team can run.

Here's what usually prompts a call about your Generative AI & Agents, what we do about it and in which order, and where you end up.

  1. chapter 01 · where it hurts

    Why teams reach out

    • There's an agent prototype on someone's laptop calling internal systems with an admin API key.
    • A RAG chatbot answers from documents the person asking is not allowed to read.
    • Each model change ships without anyone measuring whether answers got better or worse.
  2. chapter 02 · what we change

    How we solve it

    • Permission-aware RAG
    • Agents and tool use
    • MCP servers and clients
    • Agent identity and delegation
    • Evaluation and red teaming
    • Cost and latency control
  3. chapter 03 · how it runs

    Our approach

    • Pick the task
    • Prototype against the test set
    • Harden
    • Launch and monitor
  4. chapter 04 · where you end up

    What changes

    • We made answers draw only on documents the asking user could already open.
    • Now each audit log entry names the person and the agent.
    • Evaluation dataset and automated scoring
    • Architecture and data-flow diagram
what we do

Where we spend the hours

6 areas of work, each one done by an engineer who has run it in production.

  1. We carry document permissions into the search index and check them at query time, so the assistant only retrieves what the person asking is allowed to read. Then we tune chunking, hybrid search and citations against your own questions.

  2. Keep the tool list short and explicit. Separate reading from writing, and make payments, deletions and external email wait for a human. Excessive Agency is a named risk in the OWASP Top 10 for LLM Applications 2025.

  3. We build MCP servers to the current 2026-07-28 spec as OAuth 2.1 resource servers. Each publishes Protected Resource Metadata (RFC 9728), takes only tokens issued for its own audience, and never forwards a client's token downstream.

  4. We registered each agent as its own client in Okta, Entra ID or Auth0. When it acts for a user it uses short-lived delegated tokens, requesting scopes step by step, and the logs show which agent did what, for whom, with which grant.

  5. Evaluation sets built from real questions, scored on every change. Prompt injection tests through documents, emails and tool output, because indirect injection is how agents actually get misused.

  6. Smaller models for the simple steps, prompt caching and a token budget per request. And loop limits, so a runaway agent stops before it shows up on the invoice.

capability 01 / 06in production

Permission-aware RAG

We carry document permissions into the search index and check them at query time, so the assistant only retrieves what the person asking is allowed to read. Then we tune chunking, hybrid search and citations against your own questions.

capability 02 / 06in production

Agents and tool use

Keep the tool list short and explicit. Separate reading from writing, and make payments, deletions and external email wait for a human. Excessive Agency is a named risk in the OWASP Top 10 for LLM Applications 2025.

capability 03 / 06in production

MCP servers and clients

We build MCP servers to the current 2026-07-28 spec as OAuth 2.1 resource servers. Each publishes Protected Resource Metadata (RFC 9728), takes only tokens issued for its own audience, and never forwards a client's token downstream.

capability 04 / 06in production

Agent identity and delegation

We registered each agent as its own client in Okta, Entra ID or Auth0. When it acts for a user it uses short-lived delegated tokens, requesting scopes step by step, and the logs show which agent did what, for whom, with which grant.

capability 05 / 06in production

Evaluation and red teaming

Evaluation sets built from real questions, scored on every change. Prompt injection tests through documents, emails and tool output, because indirect injection is how agents actually get misused.

capability 06 / 06in production

Cost and latency control

Smaller models for the simple steps, prompt caching and a token budget per request. And loop limits, so a runaway agent stops before it shows up on the invoice.

typical situations

Situations we walk into

We pieced these together from Generative AI & Agents situations that come up a lot. They're patterns. You won't find a specific client in them.

case file 01

A RAG assistant that quotes documents the asker can't open

composite · not a client story
  1. Beforethe situation

    One service account that can read everything feeds SharePoint and Confluence into the assistant's vector store. In testing, a junior analyst asked about bonuses and got an answer that quoted an HR planning file.

  2. What we dothe work

    We store each chunk with its source document's access list and filter retrieval by the user's Entra ID group memberships at query time. The all-access service account is replaced with scoped read permissions. Permission test cases join the evaluation set and must pass on every release.

  3. Afterwhere you end up

    We made answers draw only on documents the asking user could already open. A permission regression now fails the release instead of reaching staff.

case file 02

An MCP server for the CRM running on one admin integration user

composite · not a client story
  1. Beforethe situation

    Someone built an MCP server so an agent could read and update CRM cases. It signs in as a single integration user with admin rights, so every agent action in the audit log carries that one name.

  2. What we dothe work

    We put OAuth 2.1 with resource indicators in front of the MCP server, so tokens were issued for that server and checked for audience. The agent acts for the signed-in user with short-lived, scoped tokens. Tools that close or refund cases need human approval, and we log each tool call with user and agent IDs.

  3. Afterwhere you end up

    Now each audit log entry names the person and the agent. We can revoke the agent without touching the integration, and the agent can't do more than the person it acts for.

case studies

Generative AI & Agents case studies

All case studies
architecture

How an agent reaches your systems with its own identity

When a user asks the agent for help, it acts under its own identity with a token that user delegated. The MCP servers it calls all require OAuth and each reaches a business system with narrow scopes. Risky actions wait for a person to approve them.

How an agent reaches your systems with its own identity When a user asks the agent for help, it acts under its own identity with a token that user delegated. The MCP servers it calls all require OAuth and each reaches a business system with narrow scopes. Risky actions wait for a person to approve them. 01 · USER 02 · AGENT 03 · TOOLS 04 · SYSTEMS request OAuth token exchange retrieve as user scoped token tool call query tool call write action Employee or customer chat · Slack · web app Identity provider Okta · Entra ID ·Auth0 Agent with ownidentity Claude · OpenAI API Permission-awareretrieval vector index · ACL filter Human approval risky actions only MCP servers OAuth-protected · scopedtools Sf CRM Salesforce Data platform Databricks ·Snowflake Ticketing and docs ServiceNow · Jira ·SharePoint
Read the diagram as text
  1. Employee or customer → Agent with own identity: request
  2. Identity provider → Agent with own identity: OAuth token exchange
  3. Agent with own identity → Permission-aware retrieval: retrieve as user
  4. Agent with own identity → MCP servers: scoped token
  5. MCP servers → CRM: tool call
  6. MCP servers → Data platform: query
  7. MCP servers → Ticketing and docs: tool call
  8. Agent with own identity → Human approval: write action
how it runs

A typical engagement

We don't start a step until the last one has produced something you can check.

  1. step 01

    Pick the task

    One workflow, a definition of a correct result and a test set of real examples.

  2. step 02

    Prototype against the test set

    Model, retrieval and tool choices compared on accuracy, cost and latency.

  3. step 03

    Harden

    Identity and scopes go in first, then approval steps, injection testing and logging. Only after that is production data connected.

  4. step 04

    Launch and monitor

    Gradual rollout, with quality, cost and permission use reviewed on a schedule.

you keep

What you're left with

We write these for your Generative AI & Agents setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • document01

    Evaluation dataset and automated scoring

    yours to keep
  • design02

    Architecture and data-flow diagram

    yours to keep
  • document03

    Agent permission matrix covering tools, scopes and approval rules

    yours to keep
  • code04

    MCP server code with OAuth configuration

    yours to keep
  • report05

    Prompt injection and red-team findings

    yours to keep
  • runbook06

    Monitoring dashboard and runbook

    yours to keep
talent and delivery · generative ai & agents

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
roles we staff
  • AI engineer for LLM applications
  • Agent developer (tool use, MCP)
  • LLM evaluation engineer
  • Retrieval and search engineer
  • AI identity and security engineer
01Should we use RAG or fine-tune a model?

RAG, if the answers depend on documents that change. Fine-tuning is for format, tone or a narrow high-volume task, and it won't keep knowledge current. A lot of production systems use retrieval plus a lightly tuned model, or just a well-prompted one.

02Is MCP safe to use in an enterprise?

Treat each MCP server like any other API and it can be. For HTTP servers that use authorization the spec requires OAuth 2.1, resource indicators on token requests and an audience check on every token. Trouble comes from servers that skip those or carry broad credentials of their own.

03How do we stop an agent from doing something it shouldn't?

Give it fewer tools, narrower scopes and its own identity, so you can revoke its permissions without breaking anything else. Put approval gates on irreversible actions and log every tool call. Prompts help a little. Permissions are what actually stop it.

04Which model should we use?

Whichever passes your evaluation set at a cost and latency you can live with. We run Claude, OpenAI and open models against your own examples, and keep the application model-agnostic so switching later is easy.

05Who governs MCP now?

Since December 2025 MCP has sat with the Agentic AI Foundation, a directed fund under the Linux Foundation, after Anthropic donated it. Versions are dated, and 2026-07-28 is the one in force.

related

Often paired with

Projects on Generative AI & Agents usually end up touching one of these, so they're worth a look.

sources 8 sources linked last checked 2026-10-20 content fingerprint 9eb1c52d
  1. 01Model Context Protocol: Authorization (2026-07-28)modelcontextprotocol.io ↗
  2. 02Model Context Protocol: Versioningmodelcontextprotocol.io ↗
  3. 03Anthropic: Donating MCP and establishing the Agentic AI Foundationanthropic.com ↗
  4. 04Linux Foundation: Formation of the Agentic AI Foundationlinuxfoundation.org ↗
  5. 05OWASP Top 10 for LLM Applications 2025genai.owasp.org ↗
  6. 06OWASP LLM06:2025 Excessive Agencygenai.owasp.org ↗
  7. 07IETF RFC 9728: OAuth 2.0 Protected Resource Metadatadatatracker.ietf.org ↗
  8. 08IETF RFC 8707: Resource Indicators for OAuth 2.0datatracker.ietf.org ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it