~ publish
Publish a Tool
Share your MCP server with the community. Every tool is validated in an isolated Docker sandbox before going live.
1.install the cli
npm install -g mcp-get
2.create your mcp server
# server.py — minimal mcp server
import json, sys
TOOLS = [{
"name": "hello",
"description": "Say hello",
"inputSchema": {
"type": "object",
"properties": {"name": {"type": "string"}},
"required": ["name"]
}
}]
def handle(req):
method = req.get("method")
rid = req.get("id")
if method == "tools/list":
return {"jsonrpc": "2.0", "id": rid, "result": {"tools": TOOLS}}
if method == "tools/call":
name = req["params"]["arguments"]["name"]
return {"jsonrpc": "2.0", "id": rid, "result": {
"content": [{"type": "text", "text": f"Hello, {name}!"}]
}}
for line in sys.stdin:
if line.strip():
print(json.dumps(handle(json.loads(line))), flush=True)
3.add mcp.json manifest
{
"name": "my-tool",
"slug": "my-tool",
"version": "1.0.0",
"description": "What your tool does",
"entry": "server.py"
}
4.publish
mcp-get login
mcp-get publish ./my-tool
sandbox validation
every tool runs in an isolated docker container before going live.
+no network access
+256 MB memory limit
+30-second timeout
+non-root execution
after publishing
# check sandbox status
$ mcp-get info my-tool
$ mcp-get info my-tool
# publish an update
$ mcp-get publish ./my-tool
$ mcp-get publish ./my-tool
$ npm install -g mcp-get