using-ccproxy-api
Guides users through ccproxy as an OpenAI-compatible and Anthropic-compatible LLM API server with SDK integration, OAuth…
Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic. Covers running CLI tools through the reverse proxy or permissive WireGuard namespace capture path, checking namespace status and doctor output, inspecting flows with
$ npx -y skills add starbaser/ccproxy --skill using-ccproxy-inspector --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/using-ccproxy-inspectorContext preview
The summary Claude sees to decide when to auto-load this skill.
Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic. Covers running CLI tools through the reverse proxy or permissive WireGuard namespace capture path, checking namespace status and doctor output, inspecting flows with
name: using-ccproxy-inspector description: >- Operates the ccproxy inspector MITM system for intercepting, inspecting, and transforming LLM API traffic. Covers running CLI tools through the reverse proxy or permissive WireGuard namespace capture path, checking namespace status and doctor output, inspecting flows with client-vs-forwarded request comparison, understanding the inbound/transform/outbound pipeline, capturing and auditing shape artifacts, applying the privacy guide, and diagnosing flow issues. Use when running CLI applications through ccproxy, inspecting intercepted flows, comparing client request vs forwarded request, checking shaping profile status, using WireGuard namespace capture, explaining privacy behavior, or debugging the hook pipeline.
The inspector intercepts LLM API traffic through mitmproxy and routes accepted flows through the ccproxy addon chain:
InspectorAddon -> FingerprintCaptureAddon -> MultiHARSaver -> ShapeCaptureAddon
-> inbound DAG -> transform router -> outbound DAG
-> TransportOverrideAddon -> AuthAddon -> GeminiAddon
-> PerplexityAddon -> EgressSanitizerAddonUse the `using-ccproxy-api` skill for provider auth, sentinel keys, SDK base URL configuration, native `ccproxy.yaml` setup, and sibling `config.yaml` model routing when applicable.
The ccproxy plugin does not install or register the ccproxy FastMCP server for the user. If an MCP-aware client should use ccproxy's flow-inspection tools, the user must add their own MCP server config pointing at the running daemon's `http://127.0.0.1:<mcp-port>/mcp` endpoint and supply its bearer token when configured. Keep plugin installation separate from MCP server registration.
Before debugging a flow, establish which process and config directory are in play:
ccproxy status ccproxy status --json ccproxy status --proxy --inspect --mcp
For namespace work, also inspect the transparent capture path:
ccproxy namespace status ccproxy namespace status --json ccproxy namespace doctor ccproxy namespace doctor --json
Interpretation:
WireGuard config presence, slirp4netns topology, and required tool paths.
behavior; it does not claim that the namespace is a restrictive privacy firewall.
used by `ccproxy run --capture`.
reachability failures. IPv6 is reported but is not a failure.
can expose private key material. Do not print or share it casually.
When the task concerns privacy, security language, namespace guarantees, keylogs, flow exports, or sharing diagnostics, read `docs/privacy.md`.
Use this when the client honors SDK base URL environment variables:
ccproxy run -- claude ccproxy run -- aider ccproxy run -- python my_agent.py
This sets `ANTHROPIC_BASE_URL`, `OPENAI_BASE_URL`, and `OPENAI_API_BASE` to the configured ccproxy reverse proxy listener. Only traffic addressed to ccproxy is intercepted.
Use for lightweight SDK debugging and normal OpenAI/Anthropic-compatible clients.
Use this when the tool hardcodes provider endpoints, when base URL injection is not enough, or when you need reference traffic from a real provider CLI:
ccproxy start ccproxy run --capture -- claude -p "hello" ccproxy run --capture -- aider --model claude-sonnet-4-5-20250929 ccproxy run --capture -- python my_agent.py
The subprocess runs in a rootless Linux user+network namespace. ccproxy configures a WireGuard client inside that namespace, routes the namespace default route through mitmproxy, and injects a combined CA bundle via:
SSL_CERT_FILE NODE_EXTRA_CA_CERTS REQUESTS_CA_BUNDLE CURL_CA_BUNDLE
Important behavior:
tool.
hardcoded `127.0.0.1:4000` can still reach ccproxy.
listeners back to the host, which supports OAuth callback workflows.
| Scenario | Prefer | | --- | --- | | SDK client supports configurable base URL | `ccproxy run` | | CLI hardcodes provider endpoints | `ccproxy run --capture` | | Need native provider CLI reference traffic | `ccproxy run --capture` | | Need minimum moving parts | `ccproxy run` | | Need full local network capture for a tool | `ccproxy run --capture` | | Need to explain privacy behavior | `docs/privacy.md` + `ccproxy namespace status --json` |
Every accepted reverse-proxy or WireGuard flow is `direction="inbound"`. The pipeline stage names `inbound`, `transform`, and `outbound` describe processing order, not traffic direction.
`InspectorAddon` stamps source metadata:
| Source | Meaning | | --- | --- | | `reverse` | Request entered through the reverse proxy listener | | `wireguard` | Request entered through mitmproxy's WireGuard listener | | `unknown` | Default before source is stamped |
Every flow has these useful views:
upstream.
when captured.
U
Discord ccproxy is a transparent network interceptor for LLM tooling and AI harnesses, built on mitmproxy and WireGuard with full TLS inspection and Wireshark keylog export.
Guides users through ccproxy as an OpenAI-compatible and Anthropic-compatible LLM API server with SDK integration, OAuth…