dhoelzgen

dhoelzgen

I created a MCP server for Hex package versions

I am currently giving Cursor another try to code Elixir apps. Although I am quite happy with how it evolved, I kept getting annoyed by the agent adding outdated packages, which I manually had to set to the latest version from hex.pm.

To solve this, I wrote a tiny MCP server, which allows the editor to retrieve the correct versions before adding packages to the project, and it works quite well:

If you have the same issue and want to give it a try, I deployed it to fly: https://hex-mcp.9elements.com/

Be sure to activate agent mode; at least for me, Cursor seems to ignore this function when in normal chat or composer mode.

Most Liked

dhoelzgen

dhoelzgen

I did not try, but during the discussion of my post on social media, zoedsoupe mentioned their project, which seems to be an Elixir library for building both server and client MCP apps, might be worth a look:

https://github.com/cloudwalk/hermes-mcp

Just to be clear, this is not the package I have built my server on, I used:

josefrichter

josefrichter

I am experimenting with local MCP server fed with PDF books I own, like Sasa Juric’s Elixir in Action and others. The idea is plug them into editor and use them in a sort of RAG fashion. I’m mostly using Windsurf with Sonnet 3.7 these days.

Anyone else and more experienced running similar setup? I’m still in trial & error stage, so looking for inspiration and trying to avoid reinventing the wheel.

josefrichter

josefrichter

For now, I ended up using R2R locally in docker GitHub - SciPhi-AI/R2R: SoTA production-ready AI retrieval system. Agentic Retrieval-Augmented Generation (RAG) with a RESTful API. · GitHub

I had to write a simple python bridge (LLMs helped with that). I filled it with 10 important elixir books and I regularly use that during coding to consult various topics. It seems to work fairly nicely and I find it pretty helpful.

Next step would probably be ingesting some important blogs’ content. So far I am using web search & fetch mcps to access these resources.

Where Next?

Popular in Discussions Top

AstonJ
Are there any Elixir or Erlang libraries that help with this? I’ve been thinking how streaming services like twitch have exploded recentl...
New
und0ck3d
Hello everyone! A few days ago I’ve created a topic here about how people were creating CMSs with Elixir and Phoenix. I’ve been studying...
New
PragTob
Hey everyone, this has been brewing in my head some time and it came up again while reading Adopting Elixir. GenServers, supervisors et...
New
PragTob
Hello everyone, I know we had quite some threads (read through lots of them) about background job processing but it remains a hotly deba...
New
lucaong
Hello Elixir and Nerves community, I have been working for a while on an open-source embedded key-value database for Elixir, that I call...
230 14350 124
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
fireproofsocks
I’ve been working on an Elixir project that has required a lot of scripting. I usually reach for Elixir because I like it more (and in th...
New

Other popular topics Top

electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement