protogrid (Python)
Client for the protogrid registry: find MCP servers by intent, get a machine-readable connection block, and connect with no human in the loop wherever the server allows it.
import os
from protogrid import ProtogridClient, find_connectable, open_session
registry = ProtogridClient() # public registry; ProtogridClient("http://localhost:8080") for a local stack
found = find_connectable(registry, "send an email", secrets=os.environ)
async with open_session(found.connection, os.environ) as session: # mcp.ClientSession, initialized
tools = await session.list_tools()
ProtogridClient/AsyncProtogridClient:search,get_server,list_tools,list_all_tools,get_connection.- No key needed. A free key from https://protogrid.dev/account raises the limits (60 requests per minute, 5,000 per day); the client reads
PROTOGRID_API_KEY, or passProtogridClient(api_key=...). - Connection blocks carry
${NAME}placeholders;substitute_secretsfills them from your own store. The registry never sees secret values. connection_class: R0 remote, no auth · R1 remote, static secret you hold · R2 remote OAuth (one consent) · L0 local package (allow_local=True) ·unknown.- R2:
open_session(conn, oauth=OAuthOptions(store, consent))runs the one-time consent (loopback_consentormanual_consent) through the official SDK's OAuth provider and keeps tokens in yourTokenStore; later runs need no human. - PydanticAI:
to_pydantic_ai(conn, secrets)returns anMCPToolset.to_fastmcp_transportandto_mcp_serversare pure formatters. - Install:
pip install protogrid-sdk(imported asprotogrid). Extras:protogrid-sdk[mcp]foropen_session,protogrid-sdk[pydantic-ai]for the toolset.
Examples: examples/find_and_call.py (search → connect → call a tool) and examples/pydantic_ai_agent.py (agent with a registry-found toolset, no LLM key needed).
Release files for protogrid-sdk 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| protogrid_sdk-0.2.0.tar.gz | 175.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| protogrid_sdk-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 189.4 kB
Release files / protogrid_sdk-0.2.0.tar.gz
| Download URL | protogrid_sdk-0.2.0.tar.gz |
|---|---|
| Size | 175.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e3d6abc2ef131a36d263b067d3c7e1ce4a72f695b4d02386461acc606bfec4e6
|
|
BLAKE2b-256 checksum How to use checksums |
1ae8c7622297e3433db6e48da639e8b1f05f3ca2712bd79efc1ef40d78415209
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / protogrid_sdk-0.2.0-py3-none-any.whl
| Download URL | protogrid_sdk-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
230fbd8bb8ce257386b582c52c5343d465985312e12b26153e16850c52911b64
|
|
BLAKE2b-256 checksum How to use checksums |
90492d376db5a579e098e36a92459e92b1c3ac9b6b5bcff61338a0b7b526c54e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|