Skip to main content
Glama

propublica-mcp

encoding.py•1.54 kB
import base64 import json import struct def to_bytes(x, charset="utf-8", errors="strict"): if x is None: return None if isinstance(x, bytes): return x if isinstance(x, str): return x.encode(charset, errors) if isinstance(x, (int, float)): return str(x).encode(charset, errors) return bytes(x) def to_unicode(x, charset="utf-8", errors="strict"): if x is None or isinstance(x, str): return x if isinstance(x, bytes): return x.decode(charset, errors) return str(x) def to_native(x, encoding="ascii"): if isinstance(x, str): return x return x.decode(encoding) def json_loads(s): return json.loads(s) def json_dumps(data, ensure_ascii=False): return json.dumps(data, ensure_ascii=ensure_ascii, separators=(",", ":")) def urlsafe_b64decode(s): s += b"=" * (-len(s) % 4) return base64.urlsafe_b64decode(s) def urlsafe_b64encode(s): return base64.urlsafe_b64encode(s).rstrip(b"=") def base64_to_int(s): data = urlsafe_b64decode(to_bytes(s, charset="ascii")) buf = struct.unpack(f"{len(data)}B", data) return int("".join([f"{byte:02x}" for byte in buf]), 16) def int_to_base64(num): if num < 0: raise ValueError("Must be a positive integer") s = num.to_bytes((num.bit_length() + 7) // 8, "big", signed=False) return to_unicode(urlsafe_b64encode(s)) def json_b64encode(text): if isinstance(text, dict): text = json_dumps(text) return urlsafe_b64encode(to_bytes(text))

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asachs01/propublica-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server