AndyL
With this week’s release, ElixirLS bundles an experimental MCP Server. (see CHANGELOG)
Highlights
- Added Call hierarchy provider implementing LSP textDocument/prepareCallHierarchy, callHierarchy/incomingCalls and callHierarchy/outgoingCalls
- ElixirLS now bundles a number of experimental LLM oriented tools exposed as custom commands and a builtin MCP server. The tools focus on model friendly text interface instead of typical IDE oriented LSP API methods. Refer to README.md on how to connect to the MCP server. The tools include:
find_definition- Find and retrieve the source code of symbols.get_environment- Retrieve environment at location with aliases, imports, requires and more.get_docs- Aggregate and return comprehensive documentationget_type_info- Extract typespecs and contracts.find_implementations- Find all implementations of behaviours and protocols.get_module_dependencies- Analyze module dependency relationships- Unofficial support for elixir 1.19
Thanks to @lukaszsamson for this new feature. I’m curious to hear user reports!
- configuring to use with Claude Code, OpenCode, etc.
- compare/contrast with Tidewave
- integration with UsageRules or other coding aids
- pro-tips, benefits, drawbacks, opportunities, concerns, etc.
Trending in Dev Env & Tools
Hey, have you seen this? It looks better than tmux—what do you think?
Herdr is the runtime your coding agents live on — laptop, desktop...
New
Hi all, I am writing Elixir using Zed. Often times I like to “Go to definition” on standard libraries code and check out documentation an...
New
Hey!
I’ve found, reproduced and made a fix for a mildly annoying bug in Renovate.
It created redundant ~> 0.x or 0.x+1 in mix.exs, e...
New
Other Trending Topics
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
There are three potential reasons for members of this forum to have a look at https://vutuv.de
You are tired or annoyed of LinkedIn.
Yo...
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
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixir-ls
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 7- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
garrison
Interesting. Looks like it’s enabled by default so for those of us who want to turn it off
elixirLS.mcpEnabled = falsewill take care of it.I’m curious how many here are now using these agentic tools. Do we have a rough percentage?
arcanemachine
Shouldn’t this be an opt-in feature?
Personally, I just started playing with MCP very recently. I’m working with Ollama and Open Web UI. I tried getting Tidewave to work… I got to respond to my requests, but I couldn’t actually get anything useful out of it. It wouldn’t even eval my “hello world” function.
sodapopcan
Could always start a poll!
arcanemachine
The newest patch release makes MCP opt-in, not opt-out:
Tyson
I recently went down this road, too. My gut said agents could benefit from language server tools just like us humans. Every time I asked the LLM whether “semantic tools” offered a benefit over their built-in “text tools”, the agent (okay, it was Claude) responded enthusiastically that, “yes, they are much more powerful than simple text-based tools!”
But in actual usage I rarely saw Claude using them effectively. Often it would try the LS tools, fail to get a good result, then fall back to its built-ins.
So I finally asked Claude to perform some refactor tasks with and without the LS tools, and to give an honest report on the comparative advantages, and it told me the semantic tools were a cool idea but were “optimized for human cognitive limitations and offer no benefit in an agentic AI context.”
I have since abandoned this approach and have seen no dip in the quality of Claude’s output. I would love to be convinced that the problem was my implementation, not the underlying concept. But so far my conclusion is this is not a productive direction for leveraging the strengths of AI in a dev environment.
[edit: Clarification that I was trying to use my own MCP tools during this exploration, not the ElixirLS MCP tools.]
cvkmohan
Thanks. My experience is something similar. When I am using claude cli - firstly, it does not use the tools all that much - and - repeated nudging does not help much. In fact, if we are using plain claude cli - there will be zero difference between having any MCP or completely raw setup.
However, I have realized things change dramatically once we change the agent. Two examples that I can readily show:
Again both these tools (Zed, OpenCode) are using LSP or some semantic tool as part of the prompt. And it is showing its impact. How can it be enhanced is the question. That is where everyone is still in exploratory mode.
I can say with reasonable conviction that these graph databases, vector embeddings etc. are not that useful - atleast for code generation.
Tyson
Yes! We all, including the folks developing coding agents, are figuring this out at the same time!
Interesting about your improved results with Zed/OpenCode–they must have more clever system prompts? I will try some side-by-side comparisons vs. Claude Code…
[edit: Sorry for somewhat hijacking this ElixirLS thread; I will try your MCP tools too!]