Compare commits
20 Commits
363a1c6e02
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
179115632b | ||
| 7eb9a0a790 | |||
| dcab388256 | |||
| 6b8432eed8 | |||
| e0caa2e32d | |||
| a62361ffdc | |||
| e035ef36f6 | |||
| c360dc4fd3 | |||
| 9cd2b0a8b2 | |||
| e02eb96001 | |||
| a4d9138f01 | |||
| 5791a2261d | |||
| af5a94bee4 | |||
| 166f11d5ff | |||
| 2ee47bf085 | |||
| ababbfaceb | |||
| 9bbe08d0f5 | |||
| 97e88959d6 | |||
| 6d0191eb86 | |||
| 0c59f086d0 |
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"mcp-ocp": {
|
||||
"command": "npx -y supergateway --streamableHttp http://192.168.0.244:8080/mcp",
|
||||
"args": []
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
01-claude-ocp/doughnuts.gif
Normal file
|
After Width: | Height: | Size: 1004 KiB |
BIN
01-claude-ocp/duckgpt.gif
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
01-claude-ocp/grandpa-gpt.gif
Normal file
|
After Width: | Height: | Size: 5.1 MiB |
|
Before Width: | Height: | Size: 3.6 MiB |
BIN
01-claude-ocp/homerspin.gif
Normal file
|
After Width: | Height: | Size: 729 KiB |
@@ -1,62 +1,240 @@
|
||||
<!-- column_layout: [1, 8, 1] -->
|
||||
|
||||
<!-- column: 0 -->
|
||||
<!-- alignment: left -->
|
||||

|
||||
|
||||
<!-- font_size: 5 -->
|
||||
<!-- column: 1 -->
|
||||
<!-- jump_to_middle -->
|
||||
<!-- alignment: center -->
|
||||
MCP in Practice
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- no_footer -->
|
||||
<!-- speaker_note: Title Slide -->
|
||||
<!-- speaker_note: Title slide -->
|
||||
<!-- speaker_note: Do a quick intro -->
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
<!-- column_layout: [1, 3, 1] -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- column_layout: [1, 3, 1] -->
|
||||
<!-- column: 1 -->
|
||||
<!-- alignment: center -->
|
||||
<!-- font_size: 4 -->
|
||||
What is MCP?
|
||||
===
|
||||
|
||||
<!-- reset_layout -->
|
||||
<!-- font_size: 2 -->
|
||||
<!-- incremental_lists: true -->
|
||||
|
||||
<!-- column_layout: [5, 1] -->
|
||||
<!-- column: 1 -->
|
||||
<!-- jump_to_middle -->
|
||||

|
||||
|
||||
|
||||
<!-- column: 0 -->
|
||||
<!-- alignment: left -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
* Open Standard
|
||||
<!-- new_line -->
|
||||
* Created by Anthropic (The Claude folks) in 2024
|
||||
* Created by Anthropic (Creators of Claude) in 2024
|
||||
<!-- new_line -->
|
||||
* Allows LLMs to connect to data and systems
|
||||
<!-- new_line -->
|
||||
* Enables _agentic_ workflows
|
||||
<!-- new_line -->
|
||||
* Gives tools to AI
|
||||
<!-- new_line -->
|
||||
<!-- alignment: center -->
|
||||
<!-- font_size: 2 -->
|
||||
MCP gives tools to AI
|
||||
===
|
||||

|
||||
<!-- no_footer -->
|
||||
<!-- speaker_note: Emphasis on tools -->
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
<!-- font_size: 4 -->
|
||||
Why MCP?
|
||||
===
|
||||
<!-- pause -->
|
||||
<!-- font_size: 2 -->
|
||||
Without MCP
|
||||
===
|
||||
<!-- column_layout: [5, 2] -->
|
||||
<!-- column: 0 -->
|
||||
<!-- alignment: left -->
|
||||
<!-- pause -->
|
||||
|
||||
```mermaid +render +width:100%
|
||||
sequenceDiagram
|
||||
You->>LLM: I'm 10 minutes away from a demo, getting this error
|
||||
LLM->>You: Try this...
|
||||
You->>LLM: That didn't work! New error!
|
||||
LLM->>You: Gather this info..
|
||||
You->>LLM: Here it is...
|
||||
LLM->>You: Try this...
|
||||
loop
|
||||
You->>LLM:😤
|
||||
LLM->>You:😭
|
||||
end
|
||||
```
|
||||
<!-- pause -->
|
||||
<!-- column: 1 -->
|
||||
<!-- font_size: 2 -->
|
||||
<!-- pause -->
|
||||
<!-- alignment: center -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||

|
||||
|
||||
|
||||
<!-- speaker_note: quick walk through the sequence diagram -->
|
||||
<!-- speaker_note: Talk about the issues resolving complex problems in complex environments -->
|
||||
<!-- speaker_note: 1 narrow bandwidth interface -->
|
||||
<!-- speaker_note: 2 lack of wider context (i.e. not knowing gitops pattern in play causing LLM to patch in place) -->
|
||||
<!-- speaker_note: 3 imprecise input -->
|
||||
<!-- speaker_note: The LLM is compelled to solution quickly for user satisifaction and token minimization BUT...-->
|
||||
<!-- speaker_note: Complex problems demand a lot of information, iteration and context -->
|
||||
<!-- speaker_note: Result is Frustration -->
|
||||
<!-- no_footer -->
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- font_size: 4 -->
|
||||
Why MCP?
|
||||
===
|
||||
<!-- pause -->
|
||||
<!-- font_size: 2 -->
|
||||
With MCP...
|
||||
===
|
||||
<!-- column_layout: [6, 2] -->
|
||||
<!-- column: 0 -->
|
||||
<!-- alignment: left -->
|
||||
<!-- pause -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
```mermaid +render +width:100%
|
||||
sequenceDiagram
|
||||
You->>LLM: I'm 10 minutes away from a demo, getting this error
|
||||
LLM->>You: Let me check that..
|
||||
LLM->>OCP: Get pod list
|
||||
LLM->>OCP: Get pod logs
|
||||
LLM->>ArgoCD: Get GitOps application
|
||||
LLM->>Git: Get Git repo
|
||||
LLM->>LLM: Plan fix
|
||||
LLM->>You: Here is the plan. Requesting Approval
|
||||
You->>LLM: Approved
|
||||
LLM->>Git: Push fix to Git
|
||||
LLM->>OCP: Verify change applied
|
||||
LLM->>You: Applied Succesfully
|
||||
```
|
||||
<!-- pause -->
|
||||
<!-- column: 1 -->
|
||||
<!-- font_size: 2 -->
|
||||
<!-- pause -->
|
||||
<!-- alignment: center -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||

|
||||
|
||||
|
||||
<!-- speaker_note: quick walk through the sequence diagram -->
|
||||
<!-- speaker_note: MCP gives the LLM agency to carry out complex, multi-step plans -->
|
||||
<!-- speaker_note: Collecting and collating from multiple sources -->
|
||||
<!-- speaker_note: Providing _intelligent_ summaries -->
|
||||
<!-- speaker_note: Taking actions, iterating and trying different paths when necessary -->
|
||||
<!-- no_footer -->
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- column_layout: [1, 4, 1] -->
|
||||
<!-- column: 1 -->
|
||||
<!-- alignment: left -->
|
||||
<!-- font_size: 4 -->
|
||||
Tools for the demo
|
||||
===
|
||||
<!-- reset_layout -->
|
||||
<!-- font_size: 2 -->
|
||||
<!-- incremental_lists: true -->
|
||||
<!-- alignment: left -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
* `openshift-mcp-server` - Kubernetes/OpenShift API operations
|
||||
<!-- new_line -->
|
||||
* `gitea-mcp-server` - Git repository operations
|
||||
<!-- new_line -->
|
||||
* `argocd-mcp-server` - ArgoCD (aka Openshift GitOps) application management
|
||||
<!-- new_line -->
|
||||
|
||||
<!-- no_footer -->
|
||||
<!-- speaker_note: Title Slide -->
|
||||
<!-- speaker_note: Explain the tools in the wider context -->
|
||||
<!-- speaker_note: openshift - complete CRUD access -->
|
||||
<!-- speaker_note: gitea - ability to read and commit, create repos etc. -->
|
||||
<!-- speaker_note: ArgoCD - add and keep deployments in a specified state -->
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- font_size: 4 -->
|
||||
Prompt Engineering
|
||||
===
|
||||
<!-- font_size: 2 -->
|
||||
Intent vs. Instruction
|
||||
===
|
||||
<!-- font_size: 2 -->
|
||||

|
||||
|
||||
<!-- pause -->
|
||||
<!-- new_line -->
|
||||
<!-- new_line -->
|
||||
<!-- font_size: 2 -->
|
||||
Ambiguity is the enemy of automation. If you don’t define ‘safe’… the AI will.
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- font_size: 5 -->
|
||||
<!-- jump_to_middle -->
|
||||
<!-- alignment: center -->
|
||||
DEMO
|
||||
===
|
||||
<!-- no_footer -->
|
||||
<!-- speaker_note: Without further ado... -->
|
||||
|
||||
<!-- speaker_note: Without further ado... -->
|
||||
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- font_size: 3 -->
|
||||
Have fun exploring the world of MCP!
|
||||
===
|
||||
@@ -66,39 +244,4 @@ Have fun exploring the world of MCP!
|
||||
```bash +exec
|
||||
/// mpv --no-config --vo=none --really-quiet happy.webm
|
||||
```
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
<!-- alignment: center -->
|
||||
<!-- font_size: 5 -->
|
||||
High Barrier to Entry
|
||||
===
|
||||
<!-- new_line -->
|
||||
<!-- column_layout: [1,1] -->
|
||||
|
||||
<!-- column: 0 -->
|
||||
<!-- font_size: 3 -->
|
||||
<!-- incremental_lists: true -->
|
||||
*
|
||||
What does this do?
|
||||
<!-- font_size: 1 -->
|
||||
```zsh +exec
|
||||
oc get co
|
||||
```
|
||||
<!-- column: 1 -->
|
||||
<!-- font_size: 3 -->
|
||||
*
|
||||
And this?
|
||||
<!-- font_size: 1 -->
|
||||
```zsh +exec
|
||||
timg -g32-x320 happy.webm
|
||||
```
|
||||
|
||||
<!-- no_footer -->
|
||||
<!-- speaker_note: There's a lot to learn -->
|
||||
<!-- speaker_note: -The architecture -->
|
||||
<!-- speaker_note: -The syntax -->
|
||||
<!-- speaker_note: -Security conventions -->
|
||||
|
||||
<!-- end_slide -->
|
||||
|
||||
|
||||
BIN
01-claude-ocp/presentation.pdf
Normal file
BIN
01-claude-ocp/table.png
Normal file
|
After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
@@ -1,7 +0,0 @@
|
||||

|
||||
|
||||
```bash +exec_replace
|
||||
mpv --no-config --vo=kitty --profile=sw-fast --really-quiet happy.webm
|
||||
```
|
||||
|
||||
|
||||
38
02-paris-ai-forum/IDEAS.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Paris AI Forum: Hyper-Agentic Demo Ideas
|
||||
|
||||
**Goal:** Demonstrate the difference between "Chatting with AI" (Hope) and "Agentic Workflows" (SOP/Action).
|
||||
**Constraints:** Must be impossible/hard for a standard web LLM. Must show tools, file manipulation, or system state changes.
|
||||
|
||||
---
|
||||
|
||||
## 1. The "Instant Briefing" (Research Loop)
|
||||
**Concept:** Turn a vague question into a tangible artifact in < 2 minutes.
|
||||
**The Prompt:** "I have a meeting with the CTO about [Emerging Tech Topic] in 5 minutes. Build me a briefing pack."
|
||||
**The Agent Run:**
|
||||
1. **Search:** Scours the web for the latest 3-5 credible sources (filtering spam).
|
||||
2. **Synthesize:** Writes a structured `EXECUTIVE_BRIEF.md` (Key Trends, Risks, Opportunities).
|
||||
3. **Generate:** Uses `presenterm` (or `pandoc`) to auto-generate a PDF/Slide deck from that markdown.
|
||||
4. **Deliver:** Pushes the PDF to a shared repo or Slack channel live.
|
||||
**The "Wow":** Moving from "text output" to "file delivery" without human copy-pasting.
|
||||
|
||||
## 2. The "Infrastructure Surgeon" (Self-Healing)
|
||||
**Concept:** AI that can touch the metal.
|
||||
**The Setup:** A broken service on a demo OpenShift namespace (e.g., a pod crash loop or wrong env var).
|
||||
**The Prompt:** "The `demo-app` is down. Fix it."
|
||||
**The Agent Run:**
|
||||
1. **Diagnose:** Runs `kubectl get pods`, `kubectl logs`, `curl localhost`. Identifies the error (e.g., "Port 8080 refused").
|
||||
2. **Reason:** "Config map points to 8081, app listens on 8080."
|
||||
3. **Act:** Runs `kubectl patch` or edits the deployment manifest.
|
||||
4. **Verify:** Runs `curl` again to confirm 200 OK.
|
||||
**The "Wow":** Breaking the "Read-Only" barrier. The AI *changed state* to solve a problem.
|
||||
|
||||
## 3. The "Meeting Artifact Generator" (System Integration)
|
||||
**Concept:** Turning unstructured voice/text into structured systems of record.
|
||||
**The Setup:** A raw transcript or audio file of a chaotic meeting.
|
||||
**The Prompt:** "Process this meeting dump. Update our systems."
|
||||
**The Agent Run:**
|
||||
1. **Parse:** Extracts Action Items, Decisions, and Deadlines.
|
||||
2. **Ticket:** Creates actual Issues in Gitea (or Mock Jira) for each action item.
|
||||
3. **Schedule:** Generates an `.ics` calendar invite for the follow-up.
|
||||
4. **Notify:** Sends a summary message to a Telegram/Slack group tagging the owners.
|
||||
**The "Wow":** The AI interacting with *multiple* disparate APIs (Git, Calendar, Chat) to orchestrate a workflow, not just summarize text.
|
||||
114
SCRATCHPAD.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# Presentation Ideas Scratchpad
|
||||
|
||||
Raw ideas and scenarios for future AI presentations. Capture now, refine later.
|
||||
|
||||
---
|
||||
|
||||
## Presentation #1: MCP in Practice (OpenShift/GitOps)
|
||||
|
||||
**Audience:** Internal Axway team (small, reports to Conan)
|
||||
**Tone:** Serious content, Simpsons humor, relatable frustration → payoff arc
|
||||
|
||||
### Core Thesis
|
||||
The value of MCP isn't "AI can run kubectl" — it's **flipping the discovery loop**.
|
||||
|
||||
- **Without MCP:** Human works *for* the AI (copy-paste errors, run commands, provide context, be the middleware)
|
||||
- **With MCP:** AI works *for and with* the human
|
||||
|
||||
### Narrative Arc
|
||||
|
||||
1. **What is MCP?** — Open standard, Anthropic 2024, gives tools to AI
|
||||
2. **Why MCP? (Without)** — Grandpa Simpson walks in, sees GPT, walks out
|
||||
- *Pitch:* Complex problems without tool-bearing AI = frustrating, time-consuming, upside-down. People "bounce off" AI for real work.
|
||||
3. **Why MCP? (With)** — Setup for the payoff
|
||||
4. **Tools for the demo** — openshift-mcp, gitea-mcp, argocd-mcp
|
||||
5. **Prompt Engineering** — "Intent vs. Instruction" / "Ambiguity is the enemy of automation. If you don't define 'safe'… the AI will."
|
||||
6. **DEMO** — Three scenarios, progressively impressive:
|
||||
- **Scenario 1:** "Run a healthcheck of my cluster"
|
||||
- AI examines multiple resources
|
||||
- Key: produces **INSIGHT**, not just dry information
|
||||
- **Scenario 2:** "Is my NAS slower than it should be?"
|
||||
- AI launches ephemeral test pod (permitted via system prompt)
|
||||
- Reasons against hardware expectations (2-bay 5400RPM, 1Gb network)
|
||||
- **Scenario 3:** "Lock down security in this namespace"
|
||||
- AI investigates current posture
|
||||
- Plans path to privileged-v2
|
||||
7. **Summary** — *(to be drafted)*
|
||||
- Land the loop-flip insight
|
||||
- "What you didn't see" — all the commands, errors, iterations handled silently
|
||||
8. **Closer** — Homer spinning in chair (callback)
|
||||
- "Taking us out of the discovery loop leaves us free to be productive elsewhere"
|
||||
|
||||
### Demo Technique
|
||||
During demo: **actually do other work** while AI runs. Makes the "frees you up" point concrete — audience watches AI work, watches presenter work, realizes neither needed the other.
|
||||
|
||||
### Key Moments
|
||||
- "Holy shit, it just figured it out" — if presenter had these moments building the demo, audience will too
|
||||
- Transition from "tech demo" to "I want this"
|
||||
|
||||
---
|
||||
|
||||
## Presentation #2: Ideas (TBD)
|
||||
|
||||
**Context:** Axway heritage — Sopra Group → Sopra Steria. Enterprise software, API management, governance. Audience cares about security, compliance, "don't let the AI rm -rf."
|
||||
|
||||
### Option A: Security / AI Gateway
|
||||
- Take the security line further than system prompts
|
||||
- Show how an **AI Gateway** solves remaining concerns:
|
||||
- Rate limiting
|
||||
- Action allowlists
|
||||
- Audit trails
|
||||
- Policy enforcement
|
||||
- Narrative: "Your enthusiastic AI colleague needs guardrails in enterprise"
|
||||
|
||||
### Option B: Hyper-Agentic First, Then Governance
|
||||
- Go full agentic — show the power (browser control, cross-platform nodes, compound tool use)
|
||||
- *Then* pivot: "And this is how you keep your enthusiastic colleague from doing something you didn't want"
|
||||
- AI Gateway as the answer to the "wait, but what if..." concerns the demo just raised
|
||||
|
||||
### Potential Beats
|
||||
- Show the Apple Notes/Reminders cross-platform demo (container → Mac node → AppleScript)
|
||||
- Browser automation
|
||||
- Multi-step reasoning with real consequences
|
||||
- Then: governance layer, audit, policy, enterprise controls
|
||||
|
||||
---
|
||||
|
||||
## Loose Ideas (Capture as they come)
|
||||
|
||||
### Cross-Platform Automation Demo (Apple Notes/Reminders)
|
||||
**Already documented above — usable for Presentation #2 "hyper-agentic" section**
|
||||
|
||||
- AI in secure container reaches out to Mac node
|
||||
- Original tool (memo CLI) too interactive
|
||||
- AI adapts: discovers AppleScript as native alternative
|
||||
- Creates notes/reminders via osascript
|
||||
- "Figures it out on its own" moment
|
||||
|
||||
### Meta-Demo: The Session Itself
|
||||
The conversation that led to this scratchpad is itself demo-worthy:
|
||||
- Casual experiment → discovery
|
||||
- Presenter mentions "might use this for a demo"
|
||||
- AI offers to capture it (not requested)
|
||||
- Writes structured doc to the right repo
|
||||
- That's working *with* someone, not commanding a tool
|
||||
|
||||
---
|
||||
|
||||
*Add ideas below as they emerge*
|
||||
### The 3x Multiplier (Key Talking Point)
|
||||
|
||||
Common framing: "AI will replace all our jobs" — scary, paralyzing, defensive.
|
||||
|
||||
Better framing: **"The person leveraging AI will outcompete the person who isn't."**
|
||||
|
||||
**Example from practice:**
|
||||
- Conan wanted to do a manual task (building muscle memory)
|
||||
- Asked AI: "While I'm doing this, write an MD with X, Y, Z bullet points and anything else you see fit"
|
||||
- Result: well-structured doc + *additional valuable points the AI added on its own*
|
||||
|
||||
**The math:**
|
||||
- 2x = doing two things at once (parallel work)
|
||||
- 3x = parallel work + AI's *additive* contribution (compounded output)
|
||||
|
||||
This is the multiplier people miss. You're not just parallelizing — you're getting value you didn't explicitly ask for.
|
||||