remote-skill-mcp
remote-skill-mcp
Динамически предоставляет файлы навыков (
skill.mdи его подфайлы) с удалённого HTTP-сервиса как инструменты, ресурсы и промпты MCP (Model Context Protocol), позволяя любому MCP-клиенту (Claude Desktop, Cursor, LobeHub и др.) напрямую читать удалённую документацию навыков через stdio.
📖 English documentation / Английская документация: README.en.md
Реализация на основе стандартного MCP SDK с рантаймом FastMCP (не рукописный слой JSON-RPC-протокола), полностью соответствует спецификации MCP, может быть напрямую подключена любым MCP-клиентом и адаптирована для LobeHub MCP Market (см. lhm.plugin.json).
Принцип работы (ленивая загрузка, экономия контекста)
┌─────────────┐ stdio (newline-delimited JSON-RPC) ┌──────────────────┐
│ MCP 客户端 │ ◄────────────────────────────────────► │ server.py │
│ (Claude等) │ initialize / tools/* / │ (本仓库) │
└─────────────┘ resources/* / prompts/* └────────┬─────────┘
│ HTTP GET/HEAD
▼
┌─────────────────────┐
│ 远程 SimpleHTTP 服务 │
│ /skill.md │
│ /image/*.md 等子文件│
└─────────────────────┘При запуске (lifespan, ленивая загрузка):
Из
REMOTE_SKILL_BASE_URLзагружаетсяskill.md(лёгкий каталог возможностей, описывающий, какие направления навыков существуют);Выполняется парсинг markdown-ссылок / изображений / голых токенов файлов / имён каталогов, для каждой ссылки выполняется HEAD-проверка (без загрузки содержимого):
Ссылка — файл → записывается путь + mime/size;
Ссылка — каталог → GET его HTML-страницы списка, перечисленные файлы записываются (без рекурсивной загрузки содержимого файлов);
Голые имена файлов с 404 автоматически повторяются в известных каталогах;
Динамически генерируются MCP-объекты (description содержит только список путей, без содержимого, чтобы избежать раздувания контекста):
Инструмент
get_skill_file(path)— получение содержимого файла по требованию по пути;Ресурсы
skill://<относительный путь>— по одному ресурсу на каждый обнаруженный файл (загрузка только приread; текст встраивается инлайн, бинарные файлы — в base64);Промпты
skill/list_skills— возвращают полный текстskill.md/ сводку каталога возможностей.
Таким образом, агент в обычном режиме видит только «какие направления навыков существуют» и загружает подробную документацию только когда реально использует конкретный навык, избегая загрузки всех деталей навыков в контекст единовременно. Если
skill.mdне перечисляет все файлы напрямую и требуется углубление в каталоги, можно установитьMCP_DISCOVER_DEPTH>=1для рекурсивного обхода N уровней (при этом загружается содержимое промежуточных уровней для парсинга дополнительных ссылок).
Related MCP server: skills-mcp-server
Возможности
✅ Реализовано на основе стандартного MCP SDK (
FastMCP), полностью соответствует спецификации MCP, транспорт stdio✅ Ленивая загрузка: при запуске читается только
skill.md, для подфайлов записываются только пути, содержимое загружается по требованию (экономия контекста)✅ Динамическое обнаружение: HEAD-проверка файлов + GET страниц списков каталогов, парсинг ссылок/изображений/голых файлов/имён каталогов из
skill.md✅ Повтор при 404: автоматический повтор неудачных путей в известных каталогах
✅ Определение MIME: при
content-type=application/octet-streamвыполняется откат по расширению (.mdи т.п. всё равно обрабатываются как текст)✅ Три способа предоставления: инструменты / ресурсы / промпты (description содержит только список путей, без содержимого)
✅ Защита от больших файлов: чтение отклоняется при превышении
MCP_MAX_FILE_BYTES✅ Логи идут только в stderr, stdout используется только для сообщений протокола
✅ Ошибки инструментов возвращаются с
isError=True(соответствует соглашению MCP, клиент не выбрасывает исключения)✅ Адаптировано для LobeHub MCP Market: включает манифест
lhm.plugin.json, метаданныеpyproject.toml, лицензию MIT
Предоставляемые возможности MCP
Тип | Название | Описание |
Инструмент |
| Чтение содержимого файла по пути (текст/изображение/бинарный base64) |
Ресурс |
| По одному URI ресурса на каждый обнаруженный файл, доступен через |
Промпт |
| Возвращает полный текст |
Промпт |
| Возвращает сводку доступных направлений навыков (список файлов) |
Установка
cd remote_skill_mcp
pip install -r requirements.txtЗависимости: mcp (типы протокола + транспорт stdio + рантайм FastMCP), httpx (HTTP-клиент).
Конфигурация (переменные окружения)
Переменная | Значение по умолчанию | Описание |
|
| Корневой адрес удалённого сервиса |
|
| Входной файл навыков (относительно BASE_URL) |
|
| Максимальный размер одного файла, при превышении — отказ |
|
| Верхний предел количества записываемых файлов |
|
| Таймаут одного HTTP-запроса (секунды) |
|
| Глубина обнаружения: |
|
| Кэшировать ли содержимое прочитанных файлов (экономит повторные запросы, но занимает память) |
Запуск
Прямой запуск (отладка)
export REMOTE_SKILL_BASE_URL=http://192.168.2.6:4000
python server.pyПосле запуска сервис блокируется в ожидании ввода через stdio.
Подключение к MCP-клиенту
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"remote-skill": {
"command": "python",
"args": ["/绝对路径/remote_skill_mcp/server.py"],
"env": {
"REMOTE_SKILL_BASE_URL": "http://192.168.2.6:4000"
}
}
}
}Cursor / другие клиенты, поддерживающие stdio MCP, аналогично — запустите server.py как дочерний процесс.
Публикация в LobeHub MCP Market
Репозиторий уже содержит манифест рынка lhm.plugin.json (полный набор identifier/name/version/author/homepage/icon/category/tags/description/tools/prompts/resources).
Убедитесь, что репозиторий запушен в GitHub (
origin=git@github.com:Congenital/remote_skill_mcp.git);Установите CLI рынка (требуется Node.js ≥ 22) и войдите:
npx -y @lobehub/market-cli login npx -y @lobehub/market-cli github connectОпубликуйте (читает
lhm.plugin.jsonиз корня репозитория):npx -y @lobehub/market-cli plugin publish https://github.com/Congenital/remote_skill_mcpОбновление версии в дальнейшем:
npx -y @lobehub/market-cli plugin update(достаточно изменитьversionвlhm.plugin.json).
Рынок ранжирует по таким параметрам, как активность / стабильность / отзывы сообщества. В манифесте уже заполнены поля автор, домашняя страница, иконка, категория, теги, инструменты/промпты/ресурсы для повышения оценки полноты.
Тестирование
python tests/e2e_test.pyСквозной тест запускает сервер через mcp.ClientSession и проверяет полный цикл initialize / tools/list / tools/call (включая ошибку при недопустимом пути) / resources/list / resources/read / prompts/list / prompts/get (skill + list_skills).
Структура каталогов
remote_skill_mcp/
├── server.py # MCP 服务(FastMCP 运行时 + 发现 + 工具/资源/提示词)
├── lhm.plugin.json # LobeHub MCP 市场清单
├── pyproject.toml # 项目元数据(名称/版本/作者/许可/入口点)
├── LICENSE # MIT 许可
├── requirements.txt
├── README.md # 中文文档
├── README.en.md # 英文文档
└── tests/
└── e2e_test.py # 端到端测试Требования к удалённому сервису
HTTP-сервис, позволяющий статически перечислять/скачивать файлы (например,
python -m http.server);В корневом каталоге должен быть
skill.md(или укажите входной файл черезSKILL_FILE);Подфайлы указываются относительными путями (поддерживаются markdown-ссылки, изображения, голые имена файлов, формат
имя_каталога:).
Лицензия
MIT © Congenital
This server cannot be installed
Maintenance
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
- AlicenseAqualityCmaintenanceConverts AI Skills (following Claude Skills format) into MCP server resources, enabling LLM applications to discover, access, and utilize self-contained skill directories through the Model Context Protocol. Provides tools to list available skills, retrieve skill details and content, and read supporting files with security protections.327Apache 2.0
- AlicenseAqualityDmaintenanceExposes Cursor-style skill packs (SKILL.md trees) via MCP resources, tools, and prompts, enabling any MCP client to list, get, search skills, and retrieve skill context.320ISC
- AlicenseAqualityCmaintenanceMCP server that serves agent skills (SKILL.md bundles) to any MCP client, exposing them via tools and resources for tool-oriented and resource-aware clients.320ISC
- AlicenseNot gradedqualityCmaintenanceServes SKILL.md-based skills as MCP resources and tools over streamable HTTP, enabling remote discovery and retrieval of skill files with full YAML frontmatter parsing.Apache 2.0
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).
MCP server for skill documentation, generated by doc2mcp.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Congenital/remote_skill_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server