HNHacker News
TopNewBestAskShowJobs

AMeckes

53 karma · joined February 6, 2025

submissionscomments
AMeckes··on Show HN: mcpd – manage MCP servers with a single config file
We built mcpd to make MCP servers easier to work with. It's a daemon that runs MCP servers as subprocesses and exposes a unified HTTP API. Write your config once in .mcpd.toml and it works everywhere. Let us know what you think!
AMeckes··on Show HN: Any-LLM – Lightweight router to access any LLM Provider
Both approaches work well for standard text completion. Issues tend to be around edge cases like streaming behavior, timeout handling, or new features rolling out.

You're absolutely right that any router reimplements interfaces for normalization. The difference is what layer we reimplement at. We use SDKs where available for HTTP/auth/retries and reimplement normalization.

Bottom line is we both reimplement interfaces, just at different layers. Our bet on SDKs is mostly about maintenance preferences, not some fundamental flaw in LiteLLM's approach.

AMeckes··on Show HN: Any-LLM – Lightweight router to access any LLM Provider
I didn't even need to click the link to know what this comic was. LiteLLM is great, we just needed something slightly different for our use case.
AMeckes··on Show HN: Any-LLM – Lightweight router to access any LLM Provider
Python only for now. Most providers have official TypeScript SDKs though, so the same approach (wrapping official SDKs) would work well in TS too.
AMeckes··on Show HN: Any-LLM – Lightweight router to access any LLM Provider
That's true. We traded API compatibility work for SDK compatibility work. Our bet is that providers are better at maintaining their own SDKs than we are at reimplementing their APIs. SDKs break less often and more predictably than APIs, plus we get provider-implemented features (retries, auth refresh, etc) "for free." Not zero maintenance, but definitely less. We use this in production at Mozilla.ai, so it'll stay actively maintained.
AMeckes··on Show HN: Any-LLM – Lightweight router to access any LLM Provider
To clarify: any-llm is just a Python library you import, not a service to run. When I said "put it behind a proxy," I meant your app (which imports any-llm) can run behind a normal proxy setup.

You're right that archgw handles routing at the infrastructure level, which is perfect for centralized control. any-llm simply gives you the option to handle routing in your application code when that makes sense (For example, premium users get Opus-4). We leave the architectural choice to you, whether that's adding a proxy, keeping routing in your app, or using both, or just using any-llm directly.

AMeckes··on Show HN: Any-LLM – Lightweight router to access any LLM Provider
Good points! any-llm handles the LLM routing, but you can still put it behind your own proxy for centralized control. We just don't force that architectural decision on you. Think of it as composable: use any-llm for provider switching, add nginx/envoy/whatever for rate limiting if you need it.