Skip to content

Commit 9e21850

Browse files
authored
Merge branch 'main' into dashboard
2 parents aa40f5a + b03375b commit 9e21850

File tree

600 files changed

+6890
-343
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

600 files changed

+6890
-343
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Enablement Asssets
2+
AI and Data Strategy enablement presentations
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
streamlit run ui_mcp_agent.py
2+

ai/gen-ai-agents/mcp-oci-integration/README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ This repository contains code and examples to help in the following tasks:
88
* **Integrate** MCP Servers with OCI **APM** for **Observability**
99
* **how-to** create a **docker** image for your MCP server
1010

11+
**Author**: L. Saetta
12+
13+
**Reviewed**: 15.10.2025
14+
1115
![MCP console](./images/mcp_cli.png)
1216

1317
## What is MCP?
@@ -51,7 +55,7 @@ The code is available [here](./mcp_semantic_search_with_iam.py).
5155

5256
Access to Oracle 23AI Vector Search is through the **new** [langchain-oci integration library](https://github.com/oracle/langchain-oracle)
5357

54-
## Adding security
58+
## Adding Security
5559
If you want to put your **MCP** server in production, you need to add security, at several levels.
5660

5761
Just to mention few important points:
@@ -84,4 +88,22 @@ An example is [here](./mcp_selectai.py)
8488

8589
For **Select AI** configuration, see [here](./configure_select_ai.md)
8690

91+
## OCI Consumption Analysis
92+
Another use case demonstrated in this set of demos is leveraging an AI Assistant powered by MCP servers to analyze the **OCI tenant consumption** in a natural and interactive way.
93+
94+
Using the [MCP Consumption Server](./mcp_consumption.py), you can explore various dimensions of consumption and ask questions such as:
95+
* List the top 10 services by total amount for a given period (start_date, end_date).
96+
* List the top 10 compartments by total consumption.
97+
* For a specific service (or list of services), show the consumption breakdown across the top 5 compartments.
98+
99+
The key advantage of this approach is that you don’t need to export or replicate data into a Data Warehouse (DWH) — all information is retrieved directly from the OCI Usage API in real time.
100+
101+
How to Use:
102+
* Configure your OCI credentials.
103+
* Start the MCP Consumption Server
104+
* Launch the AI Assistant
105+
* Point the Assistant to the MCP URL (or to your MCP Aggregator).
106+
107+
### Security (Optional)
108+
You can enhance security by placing the MCP server behind an OCI API Gateway and enabling JWT-based authentication using OCI IAM.
87109

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
python mcp_aggregator.py
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
python mcp_consumption.py --port 9500
2+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
streamlit run mcp_explorer.py
2+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
python mcp_internet_search.py --port 8500
2+
3+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Luigi Saetta
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# 🧩 Open Agent Specification — Overview
2+
3+
A **unified declarative standard for AI agents**, designed to bring interoperability across frameworks such as **LangGraph**, **AutoGen**, and **Oracle Agent Runtime**.
4+
5+
> From fragmented agent frameworks to interoperable agentic systems
6+
> 📄 Source: [arXiv 2510.04173 (October 2025)](https://arxiv.org/abs/2510.04173)
7+
8+
---
9+
10+
## 🎯 Design Objectives
11+
12+
| Objective | Description |
13+
|------------|--------------|
14+
| **Portability & Interoperability** | Move agents seamlessly between frameworks (LangGraph, AutoGen, OCI Agent Runtime). |
15+
| **Declarative Definition** | Define agents in YAML/JSON instead of hardcoded logic. |
16+
| **Modularity & Composability** | Reuse flows, tools, and sub-agents. |
17+
| **Explicit Control & Data Flow** | Clearly define how steps connect, branch, or loop. |
18+
| **Validation & Conformance** | Built-in schema validation ensures compatibility. |
19+
| **Multi-Agent Composition** | Enable collaboration and orchestration among agents. |
20+
21+
---
22+
23+
## 🧠 Core Concepts and Components
24+
25+
| Concept | Explanation |
26+
|----------|--------------|
27+
| **Agent** | The reasoning or conversational entity. |
28+
| **Flow** | Structured workflow defining execution steps (nodes, branches, loops). |
29+
| **Tool** | API, function, or service the agent can call. |
30+
| **Memory / Prompt Templates** | Mechanisms for contextual state and conversation history. |
31+
| **Edges** | Define relationships and data flow between nodes. |
32+
33+
These building blocks form the **agent graph**, which can be executed on compatible runtimes.
34+
35+
---
36+
37+
## ⚙️ Serialization, SDKs, and Runtime Adapters
38+
39+
### Serialization Layer
40+
- Uses **YAML/JSON schemas** for transparent, portable definitions.
41+
- Supports versioning, validation, and interchange.
42+
43+
### Python SDK — `PyAgentSpec`
44+
- Reference SDK for building, validating, and exporting agents.
45+
- Provides schema validation, object composition, and serialization.
46+
47+
### Runtime Adapters
48+
Bridge the specification to concrete frameworks:
49+
- **OCI Agent Runtime**
50+
- **LangGraph**
51+
- **AutoGen**
52+
53+
Adapters support **import/export** interoperability:
54+
55+
---
56+
57+
## 🔄 Control Flow & Data Flow Semantics
58+
59+
- **Directed edges** define execution order.
60+
- **Branching and loops** for dynamic logic.
61+
- **Inputs/outputs** explicitly mapped between steps.
62+
- **Nested flows** and **sub-agents** enable modular reuse.
63+
64+
This model ensures predictability, traceability, and easy debugging across runtimes.
65+
66+
---
67+
68+
## 💡 Benefits & Value Proposition
69+
70+
| Stakeholder | Benefits |
71+
|--------------|-----------|
72+
| **Developers** | Portability, validation, and reuse of components. |
73+
| **Framework Vendors** | A standardized interchange format. |
74+
| **Researchers** | Reproducibility and comparability across experiments. |
75+
| **Enterprises** | Governance, modularity, and reduced vendor lock-in. |
76+
77+
> **In essence:** “Write once, run anywhere” for AI agents.
78+
79+
---
80+
81+
## ⚠️ Limitations & Challenges
82+
83+
| Challenge | Description |
84+
|------------|--------------|
85+
| **Early-Stage Adoption** | Specification is still experimental. |
86+
| **Runtime Mismatch** | Execution semantics differ between frameworks. |
87+
| **Performance Overhead** | Translation layer introduces minimal latency. |
88+
| **Safety & Observability** | Delegated to runtime implementations. |
89+
90+
---
91+
92+
## 🗺️ Roadmap & Future Directions
93+
94+
Planned enhancements include:
95+
- **Memory, Planning, and Datastore** extensions.
96+
- **Agent-to-Agent (A2A)** communication protocols.
97+
- SDKs for more languages (Java, TypeScript, Go).
98+
- **Conformance tests** and **visual editors**.
99+
- Community-driven **registry of agents**.
100+
101+
---
102+
103+
## 🔍 Critique & Strategic Considerations
104+
105+
### Strengths
106+
- Framework-agnostic and modular.
107+
- Promotes ecosystem collaboration.
108+
- Declarative, composable design.
109+
110+
### Risks
111+
- Slow adoption curve.
112+
- Runtime complexity.
113+
- Divergent adapter implementations.
114+
115+
### Recommendations
116+
- Start small and modular.
117+
- Contribute runtime adapters early.
118+
- Prioritize **observability** and **safety instrumentation**.
119+
120+
---
121+
122+
## 🧾 Summary & References
123+
124+
The **Open Agent Specification** defines a **declarative, interoperable schema** for building modular AI agents across multiple runtimes and ecosystems.
125+
126+
| Resource | Link |
127+
|-----------|------|
128+
| 📄 Paper | [arXiv 2510.04173](https://arxiv.org/abs/2510.04173) |
129+
| 💻 GitHub | [https://github.com/oracle/agent-spec](https://github.com/oracle/agent-spec) |
130+
| 📘 Docs | [https://oracle.github.io/agent-spec/index.html](https://oracle.github.io/agent-spec/index.html) |
131+
| 📰 Blog | [Oracle AI & Data Science Blog](https://blogs.oracle.com/ai-and-datascience/post/introducing-open-agent-specification) |
132+
133+
---
134+
135+
### ✅ Summary Statement
136+
137+
> **Open Agent Specification** is a key step toward **standardizing AI agent design**, enabling transparent, portable, and interoperable agent systems across enterprise and open-source ecosystems.
138+
139+
---
140+
141+

0 commit comments

Comments
 (0)