I've had aot of issues with AI hallucinating the API surface for libraries, to the point where I kinda gave up using it for a lot of purposes.
But I got back on the horse & broke out Zed this weekend, deciding that I'd give it another shot, and this time be more deliberate about providing context.
My first thought was that I'd just use Zed's /fetch and slam some crates.io docs into context. But there were dozens and dozens of pages to cover the API surface, and I decided that while this might work, it wasn't a process I would ever be happy repeating.
So, I went looking for some kind of Crates.io or Rust MCP. Pretty early looking effort, but I found cratedocs-mcp. It can search crates, lookup docs for crates,lookup specific members in crates; that seems like maybe it might be sufficient, maybe it might help. Pulled it down, built it...
https://github.com/d6e/cratedocs-mcp
Then check the Zed docs for how to use this MCP server. Oh man, I need to create my own Zed extension to use an MCP service? Copy paste this postgres-context-extension? Doesn't seem horrendous, but I was pretty deflated at this side-quest continuing to tack on new objectives & gave up on the MCP idea. It feels like there should be some kind of builtin glue that lets Zed add MCP servers via configuration, instead of via creating a whole new extension!!
On the plus side, I did give DeepSeek a try and it kicked out pretty good code on the first try. Definitely some bits to fix, but pretty manageable I think, seems structurally reasonably good?
I don't know really know how MCP tool integration works in the rest of the AI ecosystem, but this felt sub ideal.
You can use MCP servers without the need to use an extension. You can either add it in the settings.json or use the "Add custom server..." button on the agent 3-dot menu.
The extensions are just for more ease of use as they install the server as well. A one click solution.
But I got back on the horse & broke out Zed this weekend, deciding that I'd give it another shot, and this time be more deliberate about providing context.
My first thought was that I'd just use Zed's /fetch and slam some crates.io docs into context. But there were dozens and dozens of pages to cover the API surface, and I decided that while this might work, it wasn't a process I would ever be happy repeating.
So, I went looking for some kind of Crates.io or Rust MCP. Pretty early looking effort, but I found cratedocs-mcp. It can search crates, lookup docs for crates,lookup specific members in crates; that seems like maybe it might be sufficient, maybe it might help. Pulled it down, built it... https://github.com/d6e/cratedocs-mcp
Then check the Zed docs for how to use this MCP server. Oh man, I need to create my own Zed extension to use an MCP service? Copy paste this postgres-context-extension? Doesn't seem horrendous, but I was pretty deflated at this side-quest continuing to tack on new objectives & gave up on the MCP idea. It feels like there should be some kind of builtin glue that lets Zed add MCP servers via configuration, instead of via creating a whole new extension!!
On the plus side, I did give DeepSeek a try and it kicked out pretty good code on the first try. Definitely some bits to fix, but pretty manageable I think, seems structurally reasonably good?
I don't know really know how MCP tool integration works in the rest of the AI ecosystem, but this felt sub ideal.