A lightweight, dependency-free Python client for MCP (Model Context Protocol) servers, with built-in convenience for the Roblox Studio MCP.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"roblox-studio-mcp-2","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# roblox-studio-mcp (Python) > **This project is AI-written.** > The code, the tests, the documentation and the commit history were produced by > AI coding agents working with a human maintainer and tested by other agents. No line here was typed by hand > by a person. --- A lightweight, **dependency-free** Python client for [MCP (Model Context Protocol)](https://modelcontextprotocol.io) servers — with built-in convenience for the **Roblox Studio MCP**. No third-party packages: just the Python standard library (`asyncio`, `subprocess`, `json`). Works with Python 3.9+. ## What it does - Launches any MCP server over the **stdio** transport and speaks the JSON-RPC 2.0 protocol to it. - Performs the `initialize` handshake, lists tools, and calls tools. - Ships a `RobloxStudio` convenience client that resolves the `studio_id` once and injects it into every tool call that needs it. ## Install ```powershell pip install -e . ``` ## Quick start (Roblox Studio) Make sure Roblox Studio is open (and its MCP plugin enabled), then: ```python import asyncio from roblox_studio_mcp import RobloxStudio async def main(): async with await RobloxStudio.connect(singleton=False) as studio: # List every tool the Studio MCP exposes for tool in await studio.list_tools(): print(tool.name) # Run Luau in Studio (datamodel_type: "Edit", "Client", or "Server") result = await studio.execute_luau("return 1 + 1") print(result.text()) # -> 2 # Or call any tool by name; studio_id is injected automatically result = await studio.call("inspect_instance", {"path": "Workspace"}) print(result.text()) asyncio.run(main()) ``` ## Using the generic client The underlying `MCPClient` works with **any** stdio MCP server: ```python import asyncio from roblox_studio_mcp import MCPClient async def main(): # e.g. the filesystem MCP server client = MCPClient("npx", ["-y", "@modelcontextprotocol/server-filesyste…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.