FastMCP: открытый Python-фреймворк для создания MCP-серверов 137

小编 ·

FastMCP: открытый Python-фреймворк для создания MCP-серверов

FastMCP — открытый Python-фреймворк, упрощающий создание MCP-серверов и клиентов. Благодаря лаконичному синтаксису декораторов он значительно сокращает шаблонный код, поддерживает агентов и составные MCP-серверы, легко справляясь с задачами разработки сложных приложений. FastMCP глубоко интегрируется с OpenAPI и FastAPI, что позволяет без труда превращать существующие API в MCP-сервисы. Также обладает возможностями обработки изображений и полноценным клиентом. Для установки и разработки рекомендуется использовать uv.

FastMCP: открытый Python-фреймворк для создания MCP-серверов

Что такое FastMCP?

FastMCP — это фреймворк с открытым исходным кодом на Python, ориентированный на упрощение создания MCP-серверов и клиентов. Он использует лаконичный синтаксис декораторов, что значительно сокращает объём избыточного кода, а также поддерживает агентов и составные MCP-серверы, позволяя легко справляться с задачами разработки сложных приложений. FastMCP глубоко интегрирован с OpenAPI и FastAPI, что делает превращение существующих API в MCP-сервисы простым делом. Он также обладает возможностями обработки изображений и имеет полноценную клиентскую функциональность. Для установки рекомендуется использовать uv — это удобно как при разработке, так и при использовании, особенно в связке с Claude Desktop, где впечатления ещё лучше.

FastMCP:用于构建MCP服务器的开源 Python框架.webp

Функциональные особенности FastMCP

  • Быстрая разработка: предоставляет высокоуровневый интерфейс, освобождая разработчиков от необходимости разбираться в деталях протокола и управления сервером, что сокращает объём написания кода.

  • Простота использования: для создания MCP-сервера требуется лишь минимальный шаблонный код; разработчики могут легко определять инструменты, ресурсы и подсказки с помощью декораторов, что значительно сокращает избыточный код.

  • Pythonic-стиль: в полной мере использует языковые особенности Python, делая код более соответствующим привычкам программирования на Python.

  • Полная функциональность: обеспечивает полную реализацию ключевых спецификаций MCP. Текущих основных возможностей достаточно для большинства задач разработки, при этом проект активно развивается.

Ключевые компоненты FastMCP

  • Инструменты (Tools): определяют действия, которые может выполнять LLM (например, вычисления, вызовы API); поддерживаются синхронные и асинхронные функции.

  • Ресурсы (Resources): предоставляют структурированный доступ к данным (например, к конфигурационной информации, пользовательским данным); поддерживаются динамические параметры путей.

  • Контекст (Context): встроенные возможности ведения логов, отчётов о прогрессе, чтения ресурсов и другие, расширяющие контроль взаимодействия.

  • Подсказки (Prompts): повторно используемые шаблоны взаимодействия, направляющие LLM на более эффективное использование инструментов.

Преимущества

  • Быстрая разработка: сокращение объёма кода и ускорение разработки благодаря высокоуровневым интерфейсам.

  • Лаконичность и простота: создание MCP-сервера с минимумом шаблонного кода.

  • Pythonic: соответствует привычкам Python-разработчиков.

  • Полная реализация: всесторонняя поддержка ключевых спецификаций MCP.

Сценарии использования FastMCP

  • Набор инструментов AI-ассистента: расширение локальной функциональности AI-ассистента.

  • Взаимодействие с базами данных: безопасное предоставление функций запросов к базе данных.

  • Обработка файлов: чтение и обработка локальных файлов.

  • Интеграция API: обёртывание существующих API в инструменты, доступные для AI.

  • Интеллектуальная служба поддержки: с помощью FastMCP можно создать сервер, предоставляющий операторам быстрый доступ к базе знаний, вызов инструментов анализа данных и другие возможности.

  • Анализ данных: интеграция различных инструментов анализа данных в LLM через FastMCP, чтобы пользователи могли удобнее выполнять обработку и анализ данных.

Установка и запуск FastMCP

1. Установка зависимостей:

pip install uvicorn
pip install fastmcp

2. Создание проекта и написание кода сервера:

from fastmcp import FastMCP
mcp = FastMCP("My App")
@mcp.tool()
def add(a: int, b: int) -> int:
return a + b
if __name__ == "__main__":
mcp.run(debug=True)

3. Запуск сервера:

uvicorn server:app --reload

или с помощью CLI-инструмента FastMCP:

fastmcp run server.py

FastMCP安装与运行.webp

github: https://github.com/jlowin/fastmcp

Подробнее:https://gofastmcp.com/getting-started/welcome