v0.2.0
Added
- Download sqlite-vec extension on startup to ensure it's available
- Add
--forceoption to re-fetch and update embeddings for existing packages - Add cache support for embeddings (skips re-fetching if already exists)
- Add behavior interfaces for better mocking in tests
- Added fetch command to MCP server to automatically fetch package documentation when needed
Changed
- Removed need to manually add hexdocs_mcp to your project
- Project is still available on hex but now includes pre-built binaries for each platform using burrito
- Added checksums and GPG signing for binary security
- No need to worry about Elixir version or maintaining project dependencies
- MCP server can be used across multiple projects easily
- Migrated all vector search logic from TypeScript to Elixir binaries
- TypeScript server now acts as a wrapper for the Elixir binary for improved portability
- Refactored codebase for improved readability, testability, and maintainability
Migration Guide
Upgrading to 0.2.0
The main change in 0.2.0 is that you no longer need to add hexdocs_mcp as a dependency in your project's mix.exs. Instead, the functionality is now provided through pre-built binaries that are automatically downloaded when using the MCP server.
- Remove the following from your
mix.exs:
{:hexdocs_mcp, "~> 0.1", only: :dev, runtime: false}-
If you've updated any dependencies to be available in
:dev(like:floki), you can revert those changes if they're no longer needed for other purposes. -
Ensure your MCP client configuration is set up correctly (this should already be the case if you were using version 0.1.x):
{
"mcpServers": {
"hexdocs-mcp": {
"command": "npx",
"args": [
"-y",
"hexdocs-mcp"
]
}
}
}That's it! The MCP server will now automatically handle downloading and using the appropriate binary for your platform.