Aggiunto connector Context7 (mcp_remote)
- URL: https://mcp.context7.com/mcp, trasporto streamable-http - Auth: none (endpoint pubblico, free tier) - Verify: MCP initialize probe (testato ✅) - Icone SVG dal logo ufficiale Context7 Inoltre: - Copiata docs/connector.manifest_guide.md da skald-circle/blueprint/ - Riferimento alla guida in SKALD.md
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"id": "context7",
|
||||
"name": "Context7",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-22",
|
||||
"type": "mcp_remote",
|
||||
"scope": "global",
|
||||
"tags": [
|
||||
"documentation",
|
||||
"search",
|
||||
"mcp",
|
||||
"remote",
|
||||
"developer-tools"
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Up-to-date documentation and code examples for any library, framework, SDK, API, CLI tool, or cloud service — fetched directly from the source. Works without an API key on the free tier. Supports library lookup and version-specific documentation retrieval.",
|
||||
"llm_short_description": "Fetch up-to-date documentation and code examples for libraries and frameworks. Tools: resolve-library-id (look up a library by name), query-docs (retrieve docs for a known library ID)."
|
||||
}
|
||||
],
|
||||
"mcp_config": {
|
||||
"url": "https://mcp.context7.com/mcp",
|
||||
"transport": "streamable-http"
|
||||
},
|
||||
"verify": {
|
||||
"command": "python3 verify.py",
|
||||
"timeout_secs": 15
|
||||
},
|
||||
"homepage": "https://context7.com",
|
||||
"icon_small": "icon_sm.svg",
|
||||
"icon_large": "icon_lg.svg",
|
||||
"tools": [
|
||||
{
|
||||
"name": "resolve-library-id",
|
||||
"display_name": "Resolve Library"
|
||||
},
|
||||
{
|
||||
"name": "query-docs",
|
||||
"display_name": "Query Docs"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<svg width="96" height="96" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="4" y="4" width="88" height="88" rx="12" fill="black"/>
|
||||
<path d="M31.144 48.512c0 4.492-1.822 8.244-4.788 11.698h6.908v3.348H23.38v-3.18c3.242-3.664 4.492-6.652 4.492-11.866h3.272z" fill="white"/>
|
||||
<path d="M46.856 48.512c0 4.492 1.822 8.244 4.788 11.698h-6.908v3.348h10.596v-3.18c-3.242-3.664-4.492-6.652-4.492-11.866h-3.984z" fill="white"/>
|
||||
<path d="M31.144 43.488c0-4.492-1.822-8.242-4.788-11.696h6.908V28.444H23.38v3.18c3.242 3.664 4.492 6.652 4.492 11.864h3.272z" fill="white"/>
|
||||
<path d="M46.856 43.488c0-4.492 1.822-8.242 4.788-11.696h-6.908V28.444h10.596v3.18c-3.242 3.664-4.492 6.652-4.492 11.864h-3.984z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 739 B |
@@ -0,0 +1,7 @@
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="2" y="2" width="44" height="44" rx="6" fill="black"/>
|
||||
<path d="M16.572 24.256c0 2.246-.911 4.122-2.394 5.849h3.454v1.674h-5.298v-1.59c1.621-1.832 2.246-3.326 2.246-5.933h1.992z" fill="white"/>
|
||||
<path d="M23.428 24.256c0 2.246.911 4.122 2.394 5.849h-3.454v1.674h5.298v-1.59c-1.621-1.832-2.246-3.326-2.246-5.933h-1.992z" fill="white"/>
|
||||
<path d="M16.572 21.744c0-2.246-.911-4.121-2.394-5.848h3.454v-1.674h-5.298v1.59c1.621 1.832 2.246 3.326 2.246 5.932h1.992z" fill="white"/>
|
||||
<path d="M23.428 21.744c0-2.246.911-4.121 2.394-5.848h-3.454v-1.674h5.298v1.59c-1.621 1.832-2.246 3.326-2.246 5.932h-1.992z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 724 B |
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Verify connectivity to Context7's hosted MCP server.
|
||||
|
||||
Sends a lightweight JSON-RPC initialize to https://mcp.context7.com/mcp
|
||||
and checks for a successful response. No API key required — Context7's
|
||||
remote MCP endpoint works on the free tier without authentication.
|
||||
|
||||
Prints a single JSON object on stdout:
|
||||
{"ok": true, "message": "Context7 MCP endpoint is reachable"}
|
||||
{"ok": false, "message": "Context7 MCP endpoint is unreachable: <reason>"}
|
||||
|
||||
Exit code is 0 on success, 1 on any failure.
|
||||
stdlib only (urllib).
|
||||
"""
|
||||
import json
|
||||
import sys
|
||||
import urllib.error
|
||||
import urllib.request
|
||||
|
||||
|
||||
def _result(ok, message):
|
||||
print(json.dumps({"ok": ok, "message": message}))
|
||||
sys.exit(0 if ok else 1)
|
||||
|
||||
|
||||
def main():
|
||||
url = "https://mcp.context7.com/mcp"
|
||||
|
||||
body = json.dumps({
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"method": "initialize",
|
||||
"params": {
|
||||
"protocolVersion": "2025-03-26",
|
||||
"capabilities": {},
|
||||
"clientInfo": {"name": "skald-verify", "version": "1.0.0"},
|
||||
},
|
||||
}).encode("utf-8")
|
||||
|
||||
req = urllib.request.Request(
|
||||
url,
|
||||
data=body,
|
||||
headers={
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json, text/event-stream",
|
||||
},
|
||||
method="POST",
|
||||
)
|
||||
|
||||
try:
|
||||
with urllib.request.urlopen(req, timeout=15) as resp:
|
||||
data = resp.read().decode("utf-8")
|
||||
if 200 <= resp.status < 300:
|
||||
# Check for a valid JSON-RPC result in the SSE event stream
|
||||
if '"result"' in data and '"serverInfo"' in data:
|
||||
_result(True, "Context7 MCP endpoint is reachable")
|
||||
_result(False, f"Context7 returned unexpected response: {data[:200]}")
|
||||
_result(False, f"Context7 returned HTTP {resp.status}")
|
||||
except urllib.error.HTTPError as e:
|
||||
_result(False, f"Context7 returned HTTP {e.code}: {e.reason}")
|
||||
except Exception as e:
|
||||
_result(False, f"Context7 MCP endpoint is unreachable: {e}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user