Wednesday, April 29, 2026

#1144 - OIC Agents powered by OCI GenAI

 Introduction

This is a new feature, available with the 26.04 release, the ability to use one of the models, available with OCI GenAI, as your LLM.

I will go through the setup, step by step.
Let's begin by checking our OIC instance has access to OCI GenAI. I do this by creating a simple integration that uses the OCI GenAI native action.

Validate OIC has access to OCI Gen AI 


Mapping is as follows -

Type = 'TEXT'
Text = request field 'prompt'
Role = 'USER'

I run the integration with prompt set to - who was cathal brugha -

The only extra prep required was to create a policy allowing my OIC instance to use the GenAI family in the relevant compartment (the one in which OIC is running).

Here's an example of such -
Allow dynamic-group yourDynamicGroup to manage 
generative-ai-family in compartment yourCompartment

 
The dynamic group will have entries such as - 
resource.id = 'yourOIC Instance ClientID'

The client id can be found in the entry for your OIC instance, created under Oracle Cloud Services -

You can filter by 'Integration', if you have a lot of entries - 

Once you find your instance, click on OAuth configuration

Scroll down and you will see the Client Id - 

Copy this, including the _APPID suffix.




Check out the models available to you

Please check the following page, when using OCI GenAI as the LLM provider for your OIC Agent -

My OIC instance is in Phoenix, so I see the relevant GenAI region is Chicago (ORD).

Now you can open your OCI console and navigate to GenAI -

Ensure you are in the correct region, in my case, Chicago, then click on Chat. Select your compartment where OIC is located -

Here is the list of models available to you.

As I'm in the us-chicago-1 region, I see some models from Cohere, Meta, OpenAI, Google Gemini and grok. Google Gemini is not hosted in the Oracle Datacenter, so I'll not choose it. I go for openai.gpt-oss-120b.

I ask the usual - who was Cathal Brugha question - 

Which models are actually hosted on OCI? 

Data residency is often a reason for choosing to use OCI Gen AI models. However, as just mentioned, the Google Gemini models are not hosted on OCI. Check out this page for more information - 

I check out the Google Gemini models - 
Ergo, if you use any of these models, your data is being passed to GCP, i.e. it's leaving your OCI region.

Another point to note - the US regions leverage Chicago, another region in the US. In Europe it's a bit different - EU data centers use Frankfurt. The UK uses LHR (uk-london-1).

Data Privacy 

You can check out the data handling in GenAI here


Net, net - no data is stored or shared, if you use models hosted on OCI.

Back to our case at hand, let's use the xai.grok-4 model

OIC Agents using GenAI LLMs

I'm back in my order processing demo project; here I'll create a new Agent Pattern - 

Note the pre-seeded settings - 

There is a input field on the right, this is for the model type; here I enter openai.gpt-oss-120b.


Some other artifacts have also been created. One is the integrations that orchestrates agent actions - 

You can treat this as a blackbox, but it's good to know why it is there.

A new lookup has also been created - 

This you need to configure - 

I enter my compartment id and destination region, in my case, ORD,  (us-chicago-1)

These values are used by the aforementioned integration, when invoking the LLM.

Now to the Agent - 

This agent is a clone of the one I already described in previous posts, so I will not go into the gory details again.

I run the new agent - 


Summa Summarum

There are multiple reasons for using the OCI GenAI based LLM. They include - 
  • common billing - costs come out of the same universal credits pot as OIC
  • data privacy
  • ease of use
Do try it out!












 

 

Tuesday, April 28, 2026

#1143 - AI DB MCP Server in conjunction with Private Agent Framework

Introduction 

According to the official doc - 

The Oracle Autonomous AI Database MCP Server is a managed, multi-tenant server designed to provide secure, standardized access to database tools and features through the Model Context Protocol (MCP). It provides an MCP server for each Autonomous AI Database, enabling AI agents and client applications to interact seamlessly with custom and built-in Select AI Agent tools using MCP APIs.

I want to try this out, especially in conjunction with the Private Agent Framework (PAF). The best starting point is the excellent live lab here.

The steps are simple - 
  • enable the MCP server on my ATP instance
  • do some initial setup - users, tables etc.
  • define tools, which will then be available via the MCP Server
  • Test the MCP Server in Claude
  • Add the MCP Server to PAF.
  • Create a simple workflow in PAF

Enabling ATP MCP Server

We enable this feature by adding the following tag - 

The MCP Server can be disabled, by setting the value as follows - 

{"name":"mcp_server","enable":false}

Simple! 

Now all I need is the instance ocid, before proceeding on to the next steps.

Initial Setup

Tools can be created for specific DB users, so let's create some - 

I login as hrm_user and create a couple of tables 


I now login as sales_user and create a couple of tables - 

So each user has their own tables, specific to their LOB.

Now to defining tools.

Define Tools




We will create the following tools for each of our 2 users -

Net, net, each user has the same set of tools, that will operate on each one's DB objects.

Leveraging the MCP Server from Claude 

Pre-req here is Node.js installed on my laptop - 

You also need the MCP Server endpoint; its format is as follows - 

https://dataaccess.adb.<region-identifier>.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}

Again, simple!

In Claude, go to Settings --> Developers -->

Edit Config

and add the MCP Server config - 

{ "mcpServers": { "Autonomous_AI_database_mcp_server": { "description": "Database containing application-related data", "command": "npx", "args": [ "-y", "mcp-remote", "https://dataaccess.adb.{region-identifier}.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}" ], "transport": "streamable-http" } } }

Now restart Claude - I will be asked to enter my DB credentials, this I do, signing in as hrm_user.
Validate the MCP Server is available - 






Click Configure -

Check out the tools - 

Back in chat -

Exposing the MCP Server to Private Agent Factory

Let's check out the config - 

Server URL is set to the MCP Server Endpoint -
https://dataaccess.adb.<region-identifier>.oraclecloudapps.com/adb/mcp/v1/databases/{database-ocid}


Token endpoint URL is set to 
https://dataaccess.adb.<yourRegion>.oraclecloudapps.com/adb/auth/v1/databases/<yourADB_OCID>/token


I leverage the MCP Server in a flow - 


Here's my simple flow - 

Let's run this agent -