github re-analysis due

0xzr/freellmpool

github

Free LLM API pool: 18 LLM providers, 200+ live models, 300+ cataloged models, zero keys to start, failover.

maintainer
0xzr
license
MIT
first seen
2026-06-06
last seen
2026-06-17
releases · 30d
18
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http verified reported listed in the official MCP registry counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 4e5a21e · analyzer v17 · 16h ago

skills & prompt files 1

code evidence vv0.11.2 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 16

  • fs 0xzr-freellmpool-4e5a21e/scripts/bench_hotpaths.py :16 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/scripts/catalog_counts.py :7 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/scripts/check_release_ready.py :14 import shutil
  • fs 0xzr-freellmpool-4e5a21e/scripts/compare_benchmarks.py :9 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/scripts/stress_proxy.py :21 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/scripts/validate_catalog.py :7 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/scripts/vet_catalog.py :36 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/cache.py :20 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/capability.py :30 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/catalog.py :14 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/catalog_validation.py :6 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/cli.py :309 with open(args.output, "w", encoding="utf-8") as fh:
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/config.py :23 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/key_inventory.py :15 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/quota.py :20 from pathlib import Path
  • fs 0xzr-freellmpool-4e5a21e/src/freellmpool/stats.py :33 from pathlib import Path

shell / exec 1

  • shell 0xzr-freellmpool-4e5a21e/scripts/check_release_ready.py :15 import subprocess

network 10

  • net 0xzr-freellmpool-4e5a21e/scripts/stress_proxy.py :17 import urllib.error
  • net 0xzr-freellmpool-4e5a21e/scripts/vet_catalog.py :43 import httpx # noqa: E402
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/__init__.py :26 # Lazy so importing freellmpool never imports the async stack (httpx.AsyncClient)
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/aio.py :1 """Async API: :class:`AsyncPool` mirrors :class:`~freellmpool.Pool` over httpx.AsyncClient.
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/capability.py :26 import urllib.error
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/catalog.py :12 import urllib.request
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/catalog_validation.py :7 from urllib.parse import urlsplit
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/client.py :91 _shared = None # one pooled, keep-alive httpx.Client shared across calls/threads
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/config.py :20 import socket
  • net 0xzr-freellmpool-4e5a21e/src/freellmpool/proxy.py :11 freellmpool pulls in nothing beyond httpx.

secrets 3

  • secrets 0xzr-freellmpool-4e5a21e/src/freellmpool/cli.py :455 import getpass
  • secrets 0xzr-freellmpool-4e5a21e/src/freellmpool/key_inventory.py :40 override = os.environ.get("FREELLMPOOL_KEYS_PATH")
  • secrets 0xzr-freellmpool-4e5a21e/src/freellmpool/proxy.py :1254 api_key = os.environ.get("FREELLMPOOL_PROXY_KEY") or None

database 1

  • db 0xzr-freellmpool-4e5a21e/src/freellmpool/cache.py :16 import sqlite3

declared dependencies 1

  • httpx@>=0.27