Простой сервер инструментов MCP
Простой MCP-сервер, предоставляющий инструмент для загрузки веб-сайтов с использованием транспорта SSE.
Требования
Python 3.10 или выше (проверено на Python 3.13)
Related MCP server: MCP Server Fetch TypeScript
Установка
# 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.txtДокументация MCP Python SDK
Документация MCP Python SDK разделена на файлы меньшего размера и организована в каталоге docs/ . Такая структура упрощает навигацию и понимание SDK для агентов ИИ. Документация охватывает:
Основные концепции (серверы, ресурсы, инструменты и т. д.)
Запуск MCP-серверов в разных режимах
Примеры и расширенное использование
И многое другое!
Использование
Пакет предоставляет интерфейс командной строки (CLI) с несколькими командами для управления сервером MCP:
Запуск сервера
Запустите сервер на порту по умолчанию (7000) или укажите свой порт:
# Using default port (7000)
python -m mcp_simple_tool start
# Using custom port
python -m mcp_simple_tool start --port 8000Управление сервером
# 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]Команда перезапуска выполнит следующие действия:
Остановить любой существующий сервер на указанном порту.
Запустить новый сервер в фоновом режиме
Подождите, пока сервер не ответит.
Вывод журнала в server.log
Краткий справочник CLI
Команда | Цель |
| Запустить сервер |
| Остановить сервер |
| Проверка здоровья |
| Стоп и старт |
Серверные инструменты
Сервер предоставляет следующие инструменты:
fetch : Удаленный HTTP-загрузчик — дает абсолютный URL; возвращает текст страницы.
url: URL-адрес веб-сайта для загрузки (обязательно)
search_docs : семантический поиск по документации SDK; возвращает лучшие выдержки.
query: Поисковая фраза или вопрос (обязательно)k: Количество лучших совпадений для возврата (необязательно, по умолчанию = 3)
get_content : Получить полный локальный файл для любого совпадения, возвращенного
search_docs.file: Путь относительно документов (обязательно)
Настройка разработки
Для разработки установите дополнительные инструменты:
pip install -e .
pip install -r requirements.txtИспользуйте Makefile для общих задач:
# Format code
make fmt
# Run linters
make lint
# Run tests
make testТестовый набор имеет встроенный 20-секундный тайм-аут для всех тестов, чтобы предотвратить зависание, особенно с конечными точками SSE. Для отдельных тестов можно указать более строгий тайм-аут с помощью декоратора @pytest.mark.timeout(seconds) .
Индекс семантического поиска
Для инструмента search_docs вы можете вручную создать или перестроить векторный индекс:
# Build or rebuild the semantic search index
python scripts/build_doc_index.pyЕсли индекс не существует, он создается автоматически при первом использовании инструмента.
Архитектура проекта
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 helpersИспользование с курсором
Этот MCP-сервер может использоваться с Cursor в качестве клиента. Для настройки:
Запустите сервер в терминале:
source venv/bin/activate
python -m mcp_simple_tool start
# or use the restart command
python -m mcp_simple_tool restartНастройте курсор, создав файл
.cursor/mcp.json:
{
"mcpServers": {
"website-fetcher-sse": {
"url": "http://localhost:7000/sse"
}
}
}Упоминайте сервер в подсказках при использовании курсора
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.