← Lesson
MCP Host Policy
Joeven
Run
Reset
Python loads on first run
SERVER_TOOLS = { "github": ["get_issue", "comment", "delete_repo", "list_prs"], "files": ["read_file", "write_file"], } HOST_ALLOW = { "github": {"get_issue", "list_prs"}, "files": {"read_file"}, } def tools_for_model(): out = [] for server, names in SERVER_TOOLS.items(): allow = HOST_ALLOW.get(server, set()) for name in names: if name in allow: out.append(server + "." + name) return out def call(server, name): if name not in HOST_ALLOW.get(server, set()): return {"error": "host_denied", "server": server, "name": name} return {"ok": True, "ran": server + "." + name} print("model sees", tools_for_model()) print("issue", call("github", "get_issue")) print("delete", call("github", "delete_repo")) print("write", call("files", "write_file")) print("unknown server", call("slack", "post"))
Run to execute this in your browser. Nothing is sent to a server.