Auth is a big one for us, and we're working really hard to provide a robust auth experience that is easy to use for both LLM agents and human users. One of our goals is to help mold the shape that the community takes with MCP. We’ll be launching our auth solution around end of September. I’m personally really excited to tackle this problem.
I’ve been writing Go for the past 4 years, and I’d strongly suggest avoiding Stainless for auto-generating Go SDKs. Some of the issues I’ve run into: - Awkward package naming (e.g., githubcomdedaluslabsdedalussdkgo) - Methods with unnecessary complexity, including excessive use of reflection for JSON handling - Other codegen quirks that make the SDK harder to use and maintain
From experience, I’d recommend either using another code generator or hand-writing the Go SDK for a cleaner and more idiomatic developer experience.
The current SOTA, e.g. OpenAI’s Responses API or Anthropic’s Computer Use API, basically mandates that server-side tool results return directly, while client-side tool results have to be manually parsed and executed by the user (for obvious security reasons). As a result, it was extremely unclear how a user would be able to chain together tool calls that mixed local and remote tools.
We wanted to close this DX gap, which surprisingly had no real incumbent solution. Users should be able to just define tools and get back clean responses. For power users, we still support manual JSON parsing for full low-level control, but our belief is simple: developers should spend their time building, not doing plumbing work like post-processing tool results.
However, it's highly extensible, and we can support stateful logic if we wanted to. For instance, we have a cool concept called "Policy" in our SDKs, which is basically a user-defined callback function that is run after each runner step (see our docs for more info). You can build some pretty advanced use cases with this, e.g. executing conditional database calls on a per-step basis.
The code for the runner is open source, in case you wanted to check out how we did it: https://github.com/dedalus-labs/dedalus-sdk-python/blob/main...