Simple-Tool-Server-Fastapi
🚀 Servidor de herramientas simple con FastAPI
Un servidor de herramientas ligero basado en FastAPI que expone funciones de utilidad sencillas a través de endpoints de API REST.
Este proyecto demuestra cómo se pueden envolver funciones de Python detrás de endpoints de FastAPI y acceder a ello a través de solicitudes HTTP. También proporciona una base para comprender cómo herramientas similares pueden exponerse más adelante a través de Model Context Protocol (MCP).
📌 Características
➕ Sumar dos números
🕐 Obtener la fecha y hora actual
📝 Contar palabras en un texto determinado
⚡ Desarrollo rápido de API con FastAPI
✅ Validación de solicitudes mediante Pydantic
📦 Respuestas de API basadas en JSON
📖 Documentación interactiva automática de la API
🔌 Arquitectura simple que puede extenderse a un servidor de herramientas basado en MCP
Related MCP server: SENTRA MCP
🏗️ Estructura del Proyecto
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🔄 Cómo Funciona
El proyecto sigue un flujo sencillo:
Client
↓
FastAPI Endpoint
↓
Python Tool Function
↓
JSON ResponsePor ejemplo:
GET /add
↓
add_numbers()
↓
JSON responseEl mismo concepto puede extenderse más adelante hacia una arquitectura MCP:
AI Assistant
↓
MCP Client
↓
MCP Server
↓
Python Tools🛠️ Tecnologías Utilizadas
Python
FastAPI
Pydantic
Uvicorn
REST API
JSON
Conceptos de Model Context Protocol (MCP)
⚙️ Instalación
1. Clonar el repositorio
git clone https://github.com/sejalpatole/simple-tool-server-fastapi.git2. Navegar al proyecto
cd simple-tool-server-fastapi3. Crear un entorno virtual
python -m venv venv4. Activar el entorno virtual
Windows
venv\Scripts\activatemacOS / Linux
source venv/bin/activate5. Instalar las dependencias
pip install -r requirements.txt▶️ Ejecutar la Aplicación
Inicia el servidor FastAPI usando Uvicorn:
uvicorn main:app --reloadEl servidor se iniciará en:
http://127.0.0.1:8000📖 Documentación de la API
FastAPI proporciona automáticamente documentación interactiva de la API.
Swagger UI
Abrir:
http://127.0.0.1:8000/docsReDoc
Abrir:
http://127.0.0.1:8000/redoc🔌 Endpoints de la API
1. Inicio
Endpoint
GET /Devuelve información sobre los endpoints disponibles.
Respuesta de ejemplo
{
"message": "Welcome to the Simple Tool Server",
"available_endpoints": [
"/add",
"/time",
"/wordcount"
]
}2. Sumar dos números
Endpoint
GET /addParámetros
Parámetro | Tipo | Descripción |
| float | Primer número |
| float | Segundo número |
Ejemplo
http://127.0.0.1:8000/add?a=10&b=20Respuesta de ejemplo
{
"operation": "Addition",
"a": 10,
"b": 20,
"result": 30
}3. Obtener la hora actual
Endpoint
GET /timeEjemplo
http://127.0.0.1:8000/timeRespuesta de ejemplo
{
"current_time": "2026-08-20 21:00:00"
}4. Contar palabras
Endpoint
POST /wordcountCuerpo de la solicitud
{
"text": "FastAPI is easy to use"
}Respuesta de ejemplo
{
"text": "FastAPI is easy to use",
"word_count": 5
}🧩 Componentes del Proyecto
main.py
Contiene la aplicación FastAPI y las rutas de la API.
Define endpooints para:
//add/time/wordcount
tools.py
Contiene las funciones de utilidad principales de Python:
add_numbers()
get_current_time()
word_count()Mantener la lógica de cada herramienta separada de la capa de API facilita el mantenimiento y la extensión del proyecto.
model.py
Contiene el modelo Pydantic utilizado para validar la solicitud /wordcount.
class WordCountRequest(BaseModel):
text: strEsto garantiza que la API reciba la estructura de solicitud esperada.
🧪 Testing
Las API se pueden probar desde:
Swagger UI
Postman
El navegador
cURL
Cualquier cliente de API REST
Swagger UI está disponible en:
http://127.0.0.1:8000/docs🌱 Mejoras Futuras
Las posibles extensiones futuras incluyen:
Añadir más herramientas de utilidad
Añadir autenticación
Añadir registro de eventos
Añadir pruebas automatizadas con Pytest
Añadir soporte para Docker
Añadir soporte para el protocolo MCP
Exponer las herramientas de Python a través de un servidor MCP
Añadir herramientas respaldadas por bases de datos
Desplegar el servidor en una plataforma en la nube
🎯 Resultados de Aprendizaje
A través de este proyecto se demuestran los siguientes conceptos:
Creación de API con FastAPI
Creación de endpoints GET y POST
Validación de solicitudes con Pydantic
Separar la lógica de la API de la lógica de negocio
Trabajar con solicitudes y respuestas JSON
Ejecutar aplicaciones con Uvicorn
Comprender los fundamentos de los sistemas de IA basados en herramientas
Comprender la relación entre APIs, herramientas y MCP
👩💻 Autora
Sejal Patole
⭐ Agradecimiento
Este proyecto fue desarrollado como un ejercicio de aprendizaje para entender FastAPI, las APIs REST, las herramientas de utilidad de Python y los fundamentos de la arquitectura de herramientas basadas en MCP.
Si te resultó útil este proyecto, considera darle una ⭐ al repositorio.
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