From 35b09310d14a159416412836b359b8d85cc3c3b4 Mon Sep 17 00:00:00 2001
From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
Date: Sat, 30 Nov 2024 20:07:54 -0500
Subject: [PATCH 1/2] Update README.md
---
README.md | 33 ++++++++++++++++++++++++++-------
1 file changed, 26 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 161d98619..087bff8e5 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-# FastMCP
+# FastMCP 🚀
@@ -7,17 +7,36 @@
[](https://github.com/jlowin/fastmcp/actions/workflows/run-tests.yml)
[](https://github.com/jlowin/fastmcp/blob/main/LICENSE)
+A fast, Pythonic way to build Model Context Protocol servers
+
-FastMCP is a high-level, intuitive framework for building [Model Context Protocol (MCP)](https://modelcontextprotocol.io) servers with Python. While MCP is a powerful protocol that enables LLMs to interact with local data and tools in a secure, standardized way, the specification can be cumbersome to implement directly. FastMCP lets you build fully compliant MCP servers in the most Pythonic way possible - in many cases, simply decorating a function is all that's required.
+Want to connect your LLMs to data and tools? FastMCP makes it simple!
-🚧 *Note: FastMCP is under active development, as is the low-level MCP Python SDK* 🏗️
+In just a few lines of code, you can expose your functionality through a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server:
+
+```python
+from fastmcp import FastMCP
+
+mcp = FastMCP("Demo 🚀")
+
+@mcp.tool()
+def add(a: int, b: int) -> int:
+ """Add two numbers"""
+ return a + b
+```
+
+That's it! FastMCP handles all the complex protocol details and server management, so you can focus on building great tools. It's designed to be high-level and Pythonic - in most cases, decorating a function is all you need.
+
+🚨 🚧 🏗️ *FastMCP is under active development, as is the MCP specification itself. Core features are working but some advanced capabilities are still in progress.*
Key features:
-* **Intuitive**: Designed to feel familiar to Python developers, with powerful type hints and editor support
-* **Simple**: Build compliant MCP servers with minimal boilerplate
-* **Fast**: High-performance async implementation
-* **Full-featured**: Complete implementation of the MCP specification
+* **Fast**: High-level interface means less code and faster development
+* **Simple**: Build MCP servers with minimal boilerplate
+* **Pythonic**: Feels natural to Python developers
+* **Complete***: FastMCP aims to provide a full implementation of the core MCP specification
+
+(\*emphasis on *aims* during construction)
## Table of Contents
From 74c2d7affd09130ac1a3245386d5c0d7780f11b2 Mon Sep 17 00:00:00 2001
From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
Date: Sat, 30 Nov 2024 20:10:21 -0500
Subject: [PATCH 2/2] update
---
README.md | 4 +---
uv.lock | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 087bff8e5..d6bca9c1b 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,7 @@ A fast, Pythonic way to build Model Context Protocol servers
-Want to connect your LLMs to data and tools? FastMCP makes it simple!
-
-In just a few lines of code, you can expose your functionality through a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server:
+FastMCP makes building [Model Context Protocol (MCP)](https://modelcontextprotocol.io) servers simple and intuitive. Create tools, expose resources, and define prompts with clean, Pythonic code:
```python
from fastmcp import FastMCP
diff --git a/uv.lock b/uv.lock
index b341455df..b5250ae26 100644
--- a/uv.lock
+++ b/uv.lock
@@ -228,7 +228,7 @@ wheels = [
[[package]]
name = "fastmcp"
-version = "0.2.1.dev56+g0fb37ec.d20241201"
+version = "0.3.1.dev3+g35b0931.d20241201"
source = { editable = "." }
dependencies = [
{ name = "httpx" },