mcp-пиодид
Реализация сервера Pyodide для Model Context Protocol (MCP). Этот сервер позволяет моделям больших языков (LLM) выполнять код Python через интерфейс MCP.
Функции
Возможность выполнения кода Python для LLM с использованием Pyodide
Реализация сервера, совместимого с MCP
Поддержка режимов транспорта stdio и SSE
Надежная реализация, написанная на TypeScript
Доступно как инструмент командной строки
Related MCP server: didlogic_mcp
Установка
npm install mcp-pyodideИспользование
Как сервер
import { runServer } from "mcp-pyodide";
// Start the server
runServer().catch((error: unknown) => {
console.error("Error starting server:", error);
process.exit(1);
});Как инструмент командной строки
Запустить в режиме stdio (по умолчанию):
mcp-pyodideЗапуск в режиме SSE:
mcp-pyodide --sseРежим SSE
При работе в режиме SSE сервер предоставляет следующие конечные точки:
SSE-подключение:
http://localhost:3020/sseОбработчик сообщений:
http://localhost:3020/messages
Пример клиентского подключения:
const eventSource = new EventSource("http://localhost:3020/sse");
eventSource.onmessage = (event) => {
console.log("Received:", JSON.parse(event.data));
};Структура проекта
mcp-pyodide/
├── src/
│ ├── formatters/ # Data formatting handlers
│ ├── handlers/ # Request handlers
│ ├── lib/ # Library code
│ ├── tools/ # Utility tools
│ ├── utils/ # Utility functions
│ └── index.ts # Main entry point
├── build/ # Build artifacts
├── pyodide-packages/ # Pyodide-related packages
└── package.jsonЗависимости
@modelcontextprotocol/sdk: MCP SDK (^1.4.0)pyodide: среда выполнения Python (^0.27.1)arktype: Библиотека проверки типов (^2.0.1)express: Веб-фреймворк для поддержки SSEcors: промежуточное ПО CORS для поддержки SSE
Разработка
Требования
Node.js 18 или выше
нпм 9 или выше
Настраивать
# Clone the repository
git clone <repository-url>
# Install dependencies
npm install
# Build
npm run buildСкрипты
npm run build: компиляция TypeScript и установка разрешений на выполнениеnpm start: запуск сервера в режиме stdionpm run start:sse: Запустить сервер в режиме SSE
Переменные среды
PYODIDE_CACHE_DIR: Каталог для кэша Pyodide (по умолчанию: "./cache")PYODIDE_DATA_DIR: Каталог для смонтированных данных (по умолчанию: "./data")PORT: Порт для сервера SSE (по умолчанию: 3020)
Лицензия
Массачусетский технологический институт
Внося вклад
Форк репозитория
Создайте ветку функций (
git checkout -b feature/amazing-feature)Зафиксируйте свои изменения (
git commit -am 'Add some amazing feature')Отправить в ветку (
git push origin feature/amazing-feature)Создать запрос на извлечение
Важные примечания
Этот проект находится в стадии разработки, и API может измениться.
Тщательно протестируйте перед использованием в производстве.
Соблюдайте осторожность при выполнении ненадежного кода из соображений безопасности.
При использовании режима SSE при необходимости обеспечьте правильную конфигурацию CORS.
Поддерживать
Для решения проблем и вопросов используйте систему отслеживания проблем.