Simple-Tool-Server-Fastapi
🚀 Простой сервер инструментов на FastAPI
Лёгкий сервер инструментов на базе FastAPI, который предоставляет простые служебные функции через REST API-эндпоинты.
Этот проект демонстрирует, как Python-функции можно обернуть в FastAPI-эндпоинты и обращаться к ним через HTTP-запросы. Он также служит базовой основой для понимания того, как аналогичные инструменты в дальнейшем могут быть предоставлены через Model Context Protocol (MCP).
📌 Возможности
➕ Сложение двух чисел
🕐 Получение текущей даты и времени
📝 Подсчёт слов в заданном тексте
⚡ Быстрая разработка API с помощью FastAPI
✅ Валидация запросов с помощью Pydantic
📦 Ответы API в формате JSON
📖 Автоматическая интерактивная документация API
🔌 Простая архитектура, которую можно расширить до сервера инструментов на базе MCP
Related MCP server: SENTRA MCP
🏗️ Структура проекта
simple-tool-server-fastapi/
│
├── main.py # FastAPI application and API endpoints
├── model.py # Pydantic request models
├── tools.py # Core utility functions
├── requirements.txt # Project dependencies
├── .gitignore # Files excluded from Git
└── README.md # Project documentation🔄 Как это работает
Проект работает по простой схеме:
Client
↓
FastAPI Endpoint
↓
Python Tool Function
↓
JSON ResponseНапример:
GET /add
↓
add_numbers()
↓
JSON responseТу же концепцию в дальнейшем можно расширить до архитектуры MCP:
AI Assistant
↓
MCP Client
↓
MCP Server
↓
Python Tools🛠️ Используемые технологии
Python
FastAPI
Pydantic
Uvicorn
REST API
JSON
Концепции Model Context Protocol (MCP)
⚙️ Установка
1. Клонируйте репозиторий
git clone https://github.com/sejalpatole/simple-tool-server-fastapi.git2. Перейдите в проект
cd simple-tool-server-fastapi3. Создайте виртуальное окружение
python -m venv venv4. Активируйте виртуальное окружение
Windows
venv\Scripts\activatemacOS / Linux
source venv/bin/activate5. Установите зависимости
pip install -r requirements.txt▶️ Запуск приложения
Запустите сервер FastAPI с помощью Uvicorn:
uvicorn main:app --reloadСервер запустится по адресу:
http://127.0.0.1:8000📖 Документация API
FastAPI автоматически предоставляет интерактивную документацию API.
Swagger UI
Откройте:
http://127.0.0.1:8000/docsReDoc
Откройте:
http://127.0.0.1:8000/redoc🔌 Эндпоинты API
1. Главная страница
Эндпоинт
GET /Возвращает информацию о доступных эндпоинтах.
Пример ответа
{
"message": "Welcome to the Simple Tool Server",
"available_endpoints": [
"/add",
"/time",
"/wordcount"
]
}2. Сложение двух чисел
Эндпоинт
GET /addПараметры
Параметр | Тип | Описание |
| float | Первое число |
| float | Второе число |
Пример
http://127.0.0.1:8000/add?a=10&b=20Пример ответа
{
"operation": "Addition",
"a": 10,
"b": 20,
"result": 30
}3. Получение текущего времени
Эндпоинт
GET /timeПример
http://127.0.0.1:8000/timeПример ответа
{
"current_time": "2026-08-20 21:00:00"
}4. Подсчёт слов
Эндпоинт
POST /wordcountТело запроса
{
"text": "FastAPI is easy to use"
}Пример ответа
{
"text": "FastAPI is easy to use",
"word_count": 5
}🧩 Компоненты проекта
main.py
Содержит приложение FastAPI и маршруты API.
В нём определены эндпоинты для:
//add/time/wordcount
tools.py
Содержит основные служебные функции Python:
add_numbers()
get_current_time()
word_count()Разделение логики инструментов и уровня API упрощает поддержку и расширение проекта.
model.py
Содержит модель Pydantic, используемую для валидации запроса /wordcount.
class WordCountRequest(BaseModel):
text: strЭто гарантирует, что API получает ожидаемую структуру запроса.
🧪 Тестирование
API можно тестировать с помощью:
Swagger UI
Postman
Браузера
cURL
Любого REST API-клиента
Swagger UI доступен по адресу:
http://127.0.0.1:8000/docs🌱 Планы по улучшению
Возможные будущие расширения включают:
Добавление дополнительных служебных инструментов
Добавление аутентификации
Добавление логирования
Добавление автоматических тестов с помощью Pytest
Добавление поддержки Docker
Добавление поддержки протокола MCP
Предоставление Python-инструментов через MCP-сервер
Добавление инструментов на основе базы данных
Развёртывание сервера в облачной платформе
🎯 Результаты обучения
В рамках этого проекта демонстрируются следующие концепции:
Создание API с помощью FastAPI
Создание GET и POST эндпоинтов
Валидация запросов с помощью Pydantic
Разделение логики API и бизнес-логики
Работа с JSON-запросами и ответами
Запуск приложений с помощью Uvicorn
Понимание основ инструментальных ИИ-систем
Понимание взаимосвязи между API, инструментами и MCP
👩💻 Автор
Sejal Patole
⭐ Благодарность
Этот проект был разработан в качестве учебного упражнения для понимания FastAPI, REST API, служебных инструментов Python и основ архитектуры инструментов на базе MCP.
Если вы нашли этот проект полезным, поставьте репозиторию ⭐.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA basic educational MCP server that provides simple tools for mathematical calculations, text manipulation, and time retrieval. Designed for learning MCP implementation patterns and development purposes.
- AlicenseNot gradedqualityDmaintenanceA minimal FastAPI-based MCP server that provides basic utility tools like ping and time functions. Designed for easy deployment with Docker support, authentication, and extensible architecture for future tool additions.MIT
- AlicenseNot gradedqualityDmaintenanceA minimal FastMCP server implementation that provides basic mathematical and greeting tools. Enables users to perform simple operations like adding numbers and greeting people by name through a lightweight MCP interface.MIT
- FlicenseNot gradedqualityDmaintenanceA simple educational MCP server providing basic math operations, string manipulation, and greeting functionality. Demonstrates how to implement MCP tools for learning purposes.
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sejalpatole/Simple-Tool-Server-Fastapi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server