Servidor de herramientas MCP simple
Un servidor MCP simple que expone una herramienta de obtención de sitios web mediante transporte SSE.
Requisitos
Python 3.10 o superior (probado en Python 3.13)
Related MCP server: MCP Server Fetch TypeScript
Instalación
# Create a virtual environment
python3 -m venv venv
# Activate the virtual environment
source venv/bin/activate
# Install the package and dependencies
pip install -r requirements.txtDocumentación del SDK de Python de MCP
La documentación del SDK de Python de MCP se ha dividido en archivos más pequeños y se ha organizado en el directorio docs/ . Esta estructura facilita a los agentes de IA la navegación y la comprensión del SDK. La documentación abarca:
Conceptos básicos (servidores, recursos, herramientas, etc.)
Ejecución de servidores MCP en diferentes modos
Ejemplos y uso avanzado
¡Y más!
Uso
El paquete proporciona una interfaz de línea de comandos (CLI) con varios comandos para administrar el servidor MCP:
Iniciando el servidor
Inicie el servidor en el puerto predeterminado (7000) o especifique un puerto personalizado:
# Using default port (7000)
python -m mcp_simple_tool start
# Using custom port
python -m mcp_simple_tool start --port 8000Administrar el servidor
# Check if server is running
python -m mcp_simple_tool check [--port PORT]
# Stop the server
python -m mcp_simple_tool stop [--port PORT]
# Restart the server (stop and start)
python -m mcp_simple_tool restart [--port PORT]El comando de reinicio hará lo siguiente:
Detener cualquier servidor existente en el puerto especificado
Iniciar un nuevo servidor en segundo plano
Espere hasta que el servidor responda
Registrar la salida en server.log
Referencia rápida de CLI
Dominio | Objetivo |
| Iniciar el servidor |
| Detener el servidor |
| Chequeo de salud |
| Parar y arrancar |
Herramientas de servidor
El servidor expone las siguientes herramientas:
fetch : Buscador HTTP remoto : proporciona una URL absoluta; devuelve el texto de la página.
url: La URL del sitio web que se va a buscar (obligatorio)
search_docs : Búsqueda semántica en la documentación del SDK; devuelve los k principales extractos.
query: Frase de búsqueda o pregunta (obligatoria)k: Número de coincidencias principales a devolver (opcional, valor predeterminado = 3)
get_content : obtiene el archivo local completo para cualquier coincidencia devuelta por
search_docs.file: Ruta relativa a los documentos (obligatorio)
Configuración de desarrollo
Para el desarrollo, instale herramientas adicionales:
pip install -e .
pip install -r requirements.txtUtilice el Makefile para tareas comunes:
# Format code
make fmt
# Run linters
make lint
# Run tests
make testEl conjunto de pruebas incluye un tiempo de espera de 20 segundos para todas las pruebas, lo que evita que se cuelguen, especialmente con endpoints SSE. Para pruebas individuales, se puede especificar un tiempo de espera más estricto mediante el decorador @pytest.mark.timeout(seconds) .
Índice de búsqueda semántica
Para la herramienta search_docs, puede crear o reconstruir manualmente el índice del vector:
# Build or rebuild the semantic search index
python scripts/build_doc_index.pyEl índice se crea automáticamente la primera vez que se utiliza la herramienta si no existe.
Arquitectura del proyecto
mcp_simple_tool/
__init__.py # Package initialization
__main__.py # Entry point when run as module
cli.py # Command-line interface
server/ # Server implementation
__init__.py # Server package initialization
app.py # ASGI application setup
config.py # Configuration settings
handlers.py # Tool implementations
http.py # HTTP utilities
semantic_search/ # Semantic search functionality
__init__.py # Package initialization
indexing.py # Build and persist vector store
search.py # Load index and query helpersUso con cursor
Este servidor MCP se puede usar con Cursor como cliente. Para la configuración:
Ejecute el servidor en una terminal:
source venv/bin/activate
python -m mcp_simple_tool start
# or use the restart command
python -m mcp_simple_tool restartConfigure Cursor creando un archivo
.cursor/mcp.json:
{
"mcpServers": {
"website-fetcher-sse": {
"url": "http://localhost:7000/sse"
}
}
}Mencione el servidor en sus indicaciones cuando utilice Cursor
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.