Skip to content

v0.2.0

Choose a tag to compare

@bradleygolden bradleygolden released this 14 Apr 14:54
· 67 commits to main since this release

Added

  • Download sqlite-vec extension on startup to ensure it's available
  • Add --force option 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.

  1. Remove the following from your mix.exs:
{:hexdocs_mcp, "~> 0.1", only: :dev, runtime: false}
  1. 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.

  2. 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.