Skip to main content
Glama
sejalpatole

Simple-Tool-Server-Fastapi

by sejalpatole

🚀 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 Response

Por ejemplo:

GET /add
   ↓
add_numbers()
   ↓
JSON response

El 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.git

2. Navegar al proyecto

cd simple-tool-server-fastapi

3. Crear un entorno virtual

python -m venv venv

4. Activar el entorno virtual

Windows

venv\Scripts\activate

macOS / Linux

source venv/bin/activate

5. Instalar las dependencias

pip install -r requirements.txt

▶️ Ejecutar la Aplicación

Inicia el servidor FastAPI usando Uvicorn:

uvicorn main:app --reload

El 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/docs

ReDoc

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 /add

Parámetros

Parámetro

Tipo

Descripción

a

float

Primer número

b

float

Segundo número

Ejemplo

http://127.0.0.1:8000/add?a=10&b=20

Respuesta de ejemplo

{
  "operation": "Addition",
  "a": 10,
  "b": 20,
  "result": 30
}

3. Obtener la hora actual

Endpoint

GET /time

Ejemplo

http://127.0.0.1:8000/time

Respuesta de ejemplo

{
  "current_time": "2026-08-20 21:00:00"
}

4. Contar palabras

Endpoint

POST /wordcount

Cuerpo 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: str

Esto 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.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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