Model Context Protocol

Bill

Career

  • 32% // Solutions Engineering
  • 60% // Systems Architecture
  • 5% // Wireless Spectrum Research
  • 3% // Embedded Sofware Development

Person

I enjoy helping people take the next step



πŸ“· Photographer ・ πŸ‘¨β€πŸ‘©β€πŸ‘¦β€πŸ‘¦ Father ・ πŸ‡¨πŸ‡³ Mandarin Learner

πŸ€“ Self-Hoster ・ πŸ‘¨β€πŸ’» Go Developer ・ πŸ“ Letter Writer

🏠 London ・ πŸ—ΊοΈ China

Contact

πŸ‘¨β€πŸ’» bill.dev
πŸ—“οΈ meet.bill.dev

What is MCP?

“MCP is an open protocol that standardizes how applications provide context to LLMs.”

  • protocol to extend AI applications
  • the USB-C port of AI applications

Evolving

  • work began July 2024
  • launched 2024-11-25
  • 239 days old

TODO: Who is behind it?

modelcontextprotocol.io

Why Extend AI Applications?

Models are limited

“What token should come next?”

Training Limitations

  • Training data cut-off
  • Unlikely to include your data
  • No knowledge of your tools

limitations_001.png

Non-deterministic

2 + 2 = ?

calculation_001.webp

Source: Tracing the thoughts of a large language model, Anthropic

limitations_002.png

“Why rely on an LLM when more efficient, deterministic alternatives exist?”

Calculator

Structured Output

How does an LLM call a tool?

  • non-deterministic
  • next best token
  • tools not known during training

tool-calling_001.png

tool-calling_002.png

tool-calling_003.png

tool-calling_004.png

tool-calling_005.png

Tool Calling

Copy / Paste

Trained for Tools

  • trained to recognise tool definitions
  • trained to focus on syntactically correct structured output

N Γ— M Problem

MCP Concepts

Architecture

Context

Implementations

  • Python SDK
  • TypeScript SDK
  • Java SDK
  • Kotlin SDK
  • C# SDK

Spring AI

  • NOTE: Days since GA

Field Notes

APIs not designed for LLMs

  • Large messages
  • Limited context
  • Error responses

Do something

v.s

Do the right thing

The Surprising

“if you want the LLM to analyze a query, it can be a lot more efficient… to have the model follow the query image link in the response, look at it using vision, and interpret that rather than trying to parse the JSON.”

honeycomb.io

What will you build?

start.spring.io

Thank you!

πŸ‘¨β€πŸ’» bill.dev
πŸ—“οΈ meet.bill.dev