Merge pull request #23 from jlowin/readme

Update README.md
This commit is contained in:
Jeremiah Lowin 2024-11-30 20:10:40 -05:00 committed by GitHub
commit 5158d07ac3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 25 additions and 8 deletions

View file

@ -1,5 +1,5 @@
<!-- omit in toc -->
# FastMCP
# FastMCP 🚀
<div align="center">
@ -7,17 +7,34 @@
[![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
</div>
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.
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:
🚧 *Note: FastMCP is under active development, as is the low-level MCP Python SDK* 🏗️
```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)
<!-- omit in toc -->
## Table of Contents

2
uv.lock generated
View file

@ -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" },