remote-skill-mcp
remote-skill-mcp
Stellt Skill-Dateien („skill.md“ und deren Unterdateien) von Remote-HTTP-Diensten dynamisch als MCP-Tools (Model Context Protocol), Ressourcen und Prompts bereit, sodass beliebige MCP-Clients (Claude Desktop, Cursor, LobeHub usw.) über stdio direkt auf Remote-Skill-Dokumente zugreifen können.
📖 Englische Dokumentation / English documentation: README.en.md
Basiert auf der Standard-MCP-SDK-Implementierung der FastMCP-Laufzeit (kein handgeschriebener JSON-RPC-Protokoll-Layer), vollständig MCP-konform, direkt von beliebigen MCP-Clients nutzbar und bereits für den LobeHub-MCP-Markt angepasst (siehe lhm.plugin.json).
Funktionsweise (Lazy Loading, Kontextersparnis)
┌─────────────┐ stdio (newline-delimited JSON-RPC) ┌──────────────────┐
│ MCP 客户端 │ ◄────────────────────────────────────► │ server.py │
│ (Claude等) │ initialize / tools/* / │ (本仓库) │
└─────────────┘ resources/* / prompts/* └────────┬─────────┘
│ HTTP GET/HEAD
▼
┌─────────────────────┐
│ 远程 SimpleHTTP 服务 │
│ /skill.md │
│ /image/*.md 等子文件│
└─────────────────────┘Beim Start (Lifespan, Lazy Loading):
skill.mdvonREMOTE_SKILL_BASE_URLabrufen (leichtgewichtiger Fähigkeitskatalog, der beschreibt, welche Skill-Bereiche vorhanden sind);Die darin enthaltenen Markdown-Links / Bilder / nackten Datei-Tokens / Verzeichnisnamen parsen und für jede Referenz einen HEAD-Check durchführen (ohne den Inhalt herunterzuladen):
Referenz ist eine Datei → Pfad + MIME/Größe aufzeichnen;
Referenz ist ein Verzeichnis → dessen HTML-Listenseite per GET abrufen und die aufgelisteten Dateien aufzeichnen (ohne Dateiinhalte rekursiv herunterzuladen);
Bei 404 werden nackte Dateinamen automatisch in bekannten Verzeichnissen erneut versucht;
Dynamisch MCP-Exponate generieren (description enthält nur die Pfadliste, nicht den Inhalt, um Kontextaufblähung zu vermeiden):
Tool
get_skill_file(path)— Dateiinhalte bei Bedarf nach Pfad abrufen;Ressource
skill://<relativer Pfad>— eine Ressource pro gefundener Datei (Download erst beiread; Text inline, Binärdaten als base64);Prompt
skill/list_skills— gibt den vollständigenskill.md-Text / eine Zusammenfassung des Fähigkeitskatalogs zurück.
So sieht der Agent normalerweise nur „welche Fähigkeitsbereiche es gibt“ und ruft die detaillierte Dokumentation erst ab, wenn ein bestimmter Skill tatsächlich benötigt wird. Dadurch wird vermieden, dass alle Skill-Details auf einmal in den Kontext geladen werden. Falls
skill.mdnicht alle Dateien direkt auflistet und ein Drilldown in Verzeichnisse erforderlich ist, kannMCP_DISCOVER_DEPTH>=1gesetzt werden, um N Ebenen rekursiv zu durchsuchen (dabei werden Zwischenebenen-Inhalte heruntergeladen, um weitere Referenzen zu parsen).
Related MCP server: skills-mcp-server
Funktionen
✅ Basiert auf der Standard-MCP-SDK (
FastMCP), vollständig MCP-konform, stdio-Transport✅ Lazy Loading: Beim Start wird nur
skill.mdgelesen, Unterdateien werden nur als Pfade aufgezeichnet, Inhalte werden bei Bedarf heruntergeladen (Kontextersparnis)✅ Dynamische Erkennung: HEAD-Check für Dateien + GET für Verzeichnislistenseiten, Parsen von Links/Bildern/nackten Dateinamen/Verzeichnisnamen in
skill.md✅ 404-Wiederholung: Automatischer erneuter Versuch fehlgeschlagener Pfade in bekannten Verzeichnissen
✅ MIME-Ermittlung: Bei
content-type=application/octet-streamFallback auf Dateiendung (.mdusw. werden weiterhin als Text behandelt)✅ Drei Expositionsarten: Tool / Ressource / Prompt (description enthält nur die Pfadliste, nicht den Inhalt)
✅ Schutz vor großen Dateien: Lesen wird bei Überschreitung von
MCP_MAX_FILE_BYTESverweigert✅ Logs gehen nur an stderr, stdout wird ausschließlich für Protokollnachrichten verwendet
✅ Tool-Fehler werden mit
isError=Truezurückgegeben (MCP-konform, Client wirft keine Ausnahme)✅ Für den LobeHub-MCP-Markt angepasst: enthält
lhm.plugin.json-Manifest,pyproject.toml-Metadaten, MIT-Lizenz
Bereitgestellte MCP-Fähigkeiten
Typ | Name | Beschreibung |
Tool |
| Dateiinhalt nach Pfad lesen (Text/Bild/Binär als base64) |
Ressource |
| Eine Ressourcen-URI pro gefundener Datei, per |
Prompt |
| Gibt den vollständigen |
Prompt |
| Gibt eine Zusammenfassung der verfügbaren Skill-Bereiche zurück (Dateiliste) |
Installation
cd remote_skill_mcp
pip install -r requirements.txtAbhängigkeiten: mcp (Protokolltypen + stdio-Transport + FastMCP-Laufzeit), httpx (HTTP-Client).
Konfiguration (Umgebungsvariablen)
Variable | Standardwert | Beschreibung |
|
| Basis-URL des Remote-Dienstes |
|
| Skill-Einstiegsdatei (relativ zu BASE_URL) |
|
| Maximale Bytezahl pro Datei, wird bei Überschreitung verweigert |
|
| Obergrenze für aufgezeichnete Dateien |
|
| Einzelnes HTTP-Timeout (Sekunden) |
|
| Erkundungstiefe: |
|
| Gelesene Dateiinhalte cachen (spart wiederholte Anfragen, kostet aber Speicher) |
Ausführung
Direkte Ausführung (Debugging)
export REMOTE_SKILL_BASE_URL=http://192.168.2.6:4000
python server.pyDer Dienst blockiert nach dem Start und wartet auf stdio-Eingaben.
Anbindung an MCP-Clients
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 / andere stdio-MCP-fähige Clients funktionieren analog: server.py einfach als Unterprozess starten.
Veröffentlichung im LobeHub-MCP-Markt
Dieses Repository enthält bereits das Markt-Manifest lhm.plugin.json (mit identifier/name/version/author/homepage/icon/category/tags/description/tools/prompts/resources vollständig ausgefüllt).
Sicherstellen, dass das Repository auf GitHub gepusht wurde (
origin=git@github.com:Congenital/remote_skill_mcp.git);Markt-CLI installieren (Node.js ≥ 22 erforderlich) und anmelden:
npx -y @lobehub/market-cli login npx -y @lobehub/market-cli github connectVeröffentlichen (liest
lhm.plugin.jsonim Repository-Stammverzeichnis):npx -y @lobehub/market-cli plugin publish https://github.com/Congenital/remote_skill_mcpFür spätere Versionsupdates:
npx -y @lobehub/market-cli plugin update(einfachversioninlhm.plugin.jsonändern).
Der Markt rankt nach Kriterien wie Aktivität / Stabilität / Community-Feedback. Dieses Manifest enthält bereits Autor, Homepage, Icon, Kategorie, Tags, Tools/Prompts/Ressourcen usw., um die Vollständigkeitsbewertung zu verbessern.
Tests
python tests/e2e_test.pyEnd-to-End-Tests starten den Server über mcp.ClientSession und verifizieren die gesamte Kette: initialize / tools/list / tools/call (einschließlich Fehler bei ungültigen Pfaden) / resources/list / resources/read / prompts/list / prompts/get (skill + list_skills).
Verzeichnisstruktur
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 # 端到端测试Anforderungen an den Remote-Dienst
Ein HTTP-Dienst, der Dateien statisch auflisten/herunterladen kann (z. B.
python -m http.server);skill.mdim Stammverzeichnis (oder Einstiegsdatei überSKILL_FILEangeben);Unterdateien mit relativen Pfaden referenzieren (Markdown-Links, Bilder, nackte Dateinamen,
Verzeichnisname:-Form unterstützt).
Lizenz
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