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 @@ [![Tests](https://github.com/jlowin/fastmcp/actions/workflows/run-tests.yml/badge.svg)](https://github.com/jlowin/fastmcp/actions/workflows/run-tests.yml) [![License](https://img.shields.io/github/license/jlowin/fastmcp.svg)](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" },