Skip to content

Commit 3ef433c

Browse files
authored
Merge pull request #9 from parente/parente/mcp
Model Context Protocol (MCP) Brief
2 parents cb207ad + bda3bb2 commit 3ef433c

File tree

2 files changed

+53
-3
lines changed

2 files changed

+53
-3
lines changed

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ clean: ## Make a clean workspace
1616
@git clean -f .
1717

1818
check: ## Make a ruff check of code lint
19-
@ruff check generate.py
19+
@uv run ruff check generate.py
2020

2121
env: ## Make the current python environment install all prereqs
22-
@pip install -r requirements.txt -r requirements-dev.txt
22+
@uv venv
23+
@uv pip install -r requirements.txt -r requirements-dev.txt
2324

2425
build: ## Make a local copy of the blog
25-
python generate.py
26+
@uv run python generate.py
2627

2728
server: ## Make a local web server point to the latest local build
2829
@open http://localhost:8000/_output && python -m http.server

pages/20250329-mcp-brief/index.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
date: 2025-03-29
3+
title: Model Context Protocol (MCP) Brief
4+
excerpt:
5+
I've been hearing about Model Context Protocol (MCP) lately. I wrote this brief to connect MCP
6+
to my knowledge about LLM function calling and my experience implementing tools for Anthropic Claude integrations at work.
7+
---
8+
9+
I've implemented a handful of
10+
[tools](https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview) for Anthropic Claude
11+
integrations at work: fetching public web page content, invoking Slack APIs, querying Amazon Bedrock
12+
Knowledge Bases. I've been hearing about [Model Context Protocol
13+
(MCP)](https://modelcontextprotocol.io) lately, and haven't had time to grok it's connection to LLM
14+
function calling and my experience.
15+
16+
With a good cup of ☕️ coffee and some time to read and think, I've arrived at the following
17+
understanding in brief.
18+
19+
---
20+
21+
- Many LLMs support _function calling_ also known as _tool use_ (e.g., [OpenAI](https://platform.openai.com/docs/guides/function-calling), [Anthropic](https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview), [Llama](https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_2/#code-interpreter)).
22+
- There's no standard format for function call / tool use instructions across models vendors. Tool
23+
request and response formats vary.
24+
- MCP "... provides a standardized framework for managing the execution of function call instructions,
25+
including tool discovery, invocation, and response handling"[^chan2024dec]
26+
- [MCP servers](https://modelcontextprotocol.io/examples) host tools discovery and execution.
27+
- [MCP clients](https://modelcontextprotocol.io/clients) bridge user interaction with LLMs, and
28+
LLM interactions with tools on MCP servers. For example:
29+
- User: "What's the weather?"
30+
- MCP client: List tools available for LLM use
31+
- LLM: Weather tool use request in LLM format
32+
- MCP client: JSON-RPC call to weather function
33+
- MCP server: Response to weather function call
34+
- MCP client: Weather tool use response in LLM format
35+
- LLM: "The weather is bright and sunny"
36+
- MCP enables an ecosystem of adapters for existing services (e.g., [https://mcp.so/](https://mcp.so)).
37+
- MCP uses [JSON-RPC 2.0](https://www.jsonrpc.org/specification) on the wire with support for local (stdio) and remote ([HTTP Server-Sent Events](https://en.wikipedia.org/wiki/Server-sent_events)) transports.[^mcp2025]
38+
- It supports concepts beyond tools (e.g., [resources](https://modelcontextprotocol.io/docs/concepts/resources), [prompts](https://modelcontextprotocol.io/docs/concepts/prompts)).
39+
- It fits into existing model broker architectures (e.g., [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/)[^battista2025mar], [Ollama](https://ollama.com/)[^gupta2025mar]).
40+
- There are security, cost, development, hosting, pricing (and likely other) implications of the
41+
widespread adoption of MCP.[^li2025mar]
42+
43+
# References
44+
45+
[^chan2024dec]: Chan, P. (2024 Dec 13). [LLM Function-Calling vs. Model Context Protocol (MCP)](https://medium.com/@patc888/function-calling-vs-mcp-model-context-protocol-fc01e9c41eb4). _Patrick Chan on Medium_.
46+
[^mcp2025]: [Transports](https://modelcontextprotocol.io/docs/concepts/transports). (2025 March 29). In _Model Context Protocol_.
47+
[^battista2025mar]: Battista, G. (2025 Mar 19). [Model Context Protocol (MCP) and Amazon Bedrock](https://community.aws/content/2uFvyCPQt7KcMxD9ldsJyjZM1Wp/model-context-protocol-mcp-and-amazon-bedrock). _AWS Community._
48+
[^gupta2025mar]: Gupta, M. (2025 Mar 29). [Model Context Protocol (MCP) using Ollama](https://medium.com/data-science-in-your-pocket/model-context-protocol-mcp-using-ollama-e719b2d9fd7a). _Data Science in Your Pocket_.
49+
[^li2025mar]: Li, Y. (2025 March 20) [A Deep Dive Into MCP and the Future of AI Tooling](https://a16z.com/a-deep-dive-into-mcp-and-the-future-of-ai-tooling/). _Andreesen Horowitz_.

0 commit comments

Comments
 (0)