225 lines
4.9 KiB
Markdown
225 lines
4.9 KiB
Markdown
<!-- 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: Do a quick intro -->
|
|
<!-- end_slide -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- column_layout: [1, 3, 1] -->
|
|
<!-- column: 1 -->
|
|
<!-- alignment: center -->
|
|
<!-- font_size: 4 -->
|
|
What is MCP?
|
|
===
|
|
<!-- reset_layout -->
|
|
<!-- font_size: 2 -->
|
|
<!-- incremental_lists: true -->
|
|
<!-- alignment: left -->
|
|
<!-- new_line -->
|
|
<!-- new_line -->
|
|
* Open Standard
|
|
<!-- new_line -->
|
|
* 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 -->
|
|
<!-- 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->>Git: Push fix to Git
|
|
LLM->>OCP: Verify change applied
|
|
LLM->>You: The issue was X. I resolved by doing Y
|
|
```
|
|
<!-- pause -->
|
|
<!-- column: 1 -->
|
|
<!-- font_size: 2 -->
|
|
<!-- pause -->
|
|
<!-- alignment: center -->
|
|
<!-- 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 -->
|
|
* `minio-mcp-server` - S3-Compatible Object storage operations
|
|
|
|
<!-- no_footer -->
|
|
<!-- 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 -->
|
|
<!-- speaker_note: MinIO - self-hosted S3 -->
|
|
<!-- 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!
|
|
===
|
|
<!-- font_size: 1 -->
|
|
|
|

|
|
```bash +exec
|
|
/// mpv --no-config --vo=none --really-quiet happy.webm
|
|
```
|
|
|