使用说明
Demo MCP Server
Servidor MCP (Model Context Protocol) de demostración que proporciona herramientas y recursos básicos.
📋 Descripción
Este servidor MCP implementa funcionalidades simples para demostrar el uso de FastMCP:
- Herramienta: Suma de dos números
- Recurso: Generación de saludos personalizados
🔧 Requisitos
pip install mcp fastmcp
📦 Instalación
- Clona o descarga el repositorio
- Instala las dependencias:
pip install mcp fastmcp - Ejecuta el servidor:
python server.py
💻 Código
# server.py
from mcp.server.fastmcp import FastMCP
# Crear servidor MCP
mcp = FastMCP("Demo")
# Agregar herramienta de suma
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Agregar recurso de saludo dinámico
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
🚀 Uso
Ejecutar el servidor
# Método 1: Directamente con Python
python server.py
# Método 2: Usando el CLI de MCP
mcp run server.py
Usar las herramientas
Una vez que el servidor está ejecutándose, los clientes MCP pueden:
Herramienta add:
{
"tool": "add",
"arguments": {
"a": 5,
"b": 3
}
}
Resultado: 8
Recurso greeting:
URI: greeting://Alice
Resultado: "Hello, Alice!"
URI: greeting://Bob
Resultado: "Hello, Bob!"
📖 ¿Qué hace este código?
1️⃣ Importación y configuración
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Demo")
- Importa la clase
FastMCPdel paquete MCP - Crea una instancia del servidor con el nombre "Demo"
2️⃣ Herramienta: add
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
- Decorador
@mcp.tool(): Registra la función como una herramienta disponible en el servidor MCP - Función: Suma dos números enteros y devuelve el resultado
- Uso: Los clientes MCP pueden llamar a esta herramienta para realizar operaciones matemáticas
3️⃣ Recurso: get_greeting
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
- Decorador
@mcp.resource(): Registra un recurso dinámico con patrón URI - URI Pattern:
greeting://{name}- el{name}es un parámetro variable - Función: Genera un saludo personalizado con el nombre proporcionado
- Ejemplos:
greeting://Alice→"Hello, Alice!"greeting://Bob→"Hello, Bob!"greeting://Claude→"Hello, Claude!"
🔑 Conceptos clave
| Concepto | Descripción |
|---|---|
| MCP Server | Servidor que expone herramientas y recursos a modelos de IA |
| Tool | Función ejecutable que el modelo puede invocar para realizar acciones |
| Resource | Contenido accesible mediante URIs con parámetros dinámicos |
| FastMCP | Framework simplificado para crear servidores MCP en Python |
🌟 Características
- ✅ Implementación simple y clara
- ✅ Herramientas con tipado fuerte
- ✅ Recursos dinámicos con parámetros
- ✅ Compatible con el protocolo MCP estándar
📚 Recursos adicionales
🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Haz fork del proyecto
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
📄 Licencia
Este proyecto es de código abierto y está disponible bajo la licencia MIT.
Nota: Este es un servidor de demostración con fines educativos. Para producción, considera agregar manejo de errores, validación de datos y seguridad adicional.
