dhoelzgen
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.
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
:warning: Security advisory: Decimal DoS vulnerability
A vulnerability has been published for decimal where very large exponents can cau...
New
What IDE or editor are you using for Elixir development?
Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New
Other Trending Topics
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
cpursley
This is great. Has me thinking about building an MCP that grabs the full Ecto schema and Elixir types so that cursor is more aware of the type system.
dhoelzgen
Hmm, not exactly sure what you mean - Grab it just from the files in the project?
If yes, did you try to add specific cursor rules to do this, or increase the allowed context size (although this consumes more premium requests)?
Or do you want to provide this info in a different way / directly from the DB?
cpursley
One of the reasons Cursor is amazing with TypeScript is the editor itself is typesmart, making the feedback cycle quick.
What I want is Cursor to be aware of is the specific Ecto schemas and their relationships, not just general Cursor rules.
I haven’t had a chance to try this yet but something like this, which would be injected into the Composer chat:
https://www.perplexity.ai/search/which-function-can-i-run-to-se-qM433VKGS7q0ujxwolA1Tg
dhoelzgen
It would be interesting to see if this would work better than Cursor just checking the code by itself. I am quite happy with how Cursor understands my schema and validations, but this might be due to the ‘Large context’ setting I have enabled, so it might just take more of the schema files into account.
Having an MCP running could, of course, guide the chat/composer; would be worth a try.
catethos
This is a great help when I am trying to write Elixir code using LLM. I am wondering how hard it would be to write MCP client in Elixir? Either from scratch or wrap another Rust crate (crates.io: Rust Package Registry) using Rustler?
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
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.
eadz
@josefrichter I have had exactly this thought.
What are you using for RAG?
I think given that elixir is not as popular as react/js/python, some extra documentation may help. Giving the AI RAG access to locally stored books and HEX Documentation for packages should help it with accuracy.
I am also using Windsurf, and from what I can see, it only supports STDIO MCP.
I think extending one of the Elixir MCP libs to do STDIO would be a good first step. hermes-mcp seems to have STDIO transport as a client so maybe a good starting place to try to add on that?
The other thing is elixir has the great language server, with really good compile time errors and ideally any errors after an AI save should be fed back in as soon as it saves the file.
bradley
I really love this idea! After a quick search, I couldn’t find any MCP servers that embed PDFs or other documents and make them searchable. It seems like this could be something really useful that’s currently missing from the MCP ecosystem. A general-purpose MCP server that can fetch documents, parse them into embeddings, and make them searchable would be pretty cool.
I imagine the solution would have to be local only because otherwise there would maybe be some legal issues? Or are there legal issues with putting out an MCP server that does local only processing? I’d imagine not but messing with books is a little scarier of a thought for me. At least, I’d be nervous to put out an MCP server without first thinking about the legal aspect of it.
See GitHub - bradleygolden/hexdocs-mcp: Semantic search for Hex documentation, right in your editor ✨ · GitHub. This is my first pass, it could definitely be improved.
The general workflow I’m imagining is that first I could use hex-mcp to lookup the latest package version and then feed that version into hexdocs-mcp to fetch the relevant docs.
Now if we could add the whole pdf/book thing, that would be amazing.
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.