sfba.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance for the San Francisco Bay Area. Come on in and join us!

Server stats:

2.3K
active users

#Claude

16 posts16 participants0 posts today

MCP Servers, Claude Desktop and fun with PATHs - Emmanuel Bernard emmanuelbernard.com/blog/2025/
#mcp #claude #genai

Emmanuel Bernard · MCP Servers, Claude Desktop and fun with PATHsIf you are playing with AI as a developer, you might has heard of Model Context Protocol (MCP) which is a way for an app to connect an LLM with some capabilities like an API, a file explorer, a database etc. The primary app is Claude Desktop today even though there are others like Goose. One problem you might have stumbled upon is that Claude Desktop cannot connect to your MCP server(s) because the environment to run docker or npx is different between your terminal and Claude Desktop. Maybe you use homebrew, asdf, mise or any other environment isolator. How MCP servers are run by Claude Desktop? Many are local servers running alongside Claude Desktop (on the same machine). Claude Desktop does start these processes and the command to start them is defined in Claude Desktop’s JSON config file. On macOS, it is at /Users/username/Library/Application Support/Claude/claude_desktop_config.json. Many servers are writen as nodejs apps and use npx to start. Alternatively, you can use a container image to run the server. In both case, Claude Desktop starts them when the Claude app starts. Environment problem This means that you need docker (or podman in my case) and npx to be available by Claude Desktop. As a developer I try to isolate environments, so my nodejs version is installed per directory thanks to asdf. And unfortunately, this environment is not inherited by Claude Desktop, and it failed to start my MCP servers. Setting environment to the rescue Luckily you can set the proper environment variables in the Claude Desktop configuration file. Look out for PATH and ASDF_* in the following example { "globalShortcut": "Ctrl+Space", "mcpServers": { "brave-search": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-brave-search" ], "env": { "BRAVE_API_KEY": "<your API key>", "PATH": "/Users/username/.asdf/shims:/usr/bin:/bin", "ASDF_DIR": "/opt/homebrew/opt/asdf/libexec", "ASDF_DATA_DIR": "/Users/username/.asdf", "ASDF_NODEJS_VERSION": "22.10.0" } }, "github": { "command": "podman", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "mcp/github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<Your access token>", "PATH": "/opt/homebrew/bin:/usr/bin:/bin" } } } } And voilà! Claude Desktop now starts and connects to the MCP servers. A few things to notice: I use homebrew so I set it up in the main PATH use podman and not docker as the alias is not set up in the Claude Desktop environment it is unfortunate but you need to set the nodejs version which makes the setup a bit brittle I imagine the configuration ergonomics of so called MCP hosts will get better over time.

✍️ How to enjoy writing in spite of the lure of generative AI

Over the last year I’ve been working on a book How to Enjoy Writing exploring the implications of generative AI for academic writing. I felt I had something important to say about the personal reflexivity involved in working with large language models, but in recent months I’ve realised that I lost interest in the project. Given the book was about cultivating care for our writing, as opposed to rushing through it with the assistance of LLMs, I’ve decided to break it up into blog posts which I’ll share here:

  1. The lure of machine writing and the value of getting stuck
  2. The Eeriness of Writing With Claude: When AI Mirrors Your Voice
  3. Thriving in Creative Darkness: Free Association and LLM Collaboration
  4. The Ethical Grey Areas of Machine Writing in Higher Education
  5. Machine writing and the challenge of a joyful reflexivity
  6. The Ebb and Flow of Writing: From Struggle to Unconscious Fluency
  7. Will Claude tell you if your writing is crap? The danger of LLMs for wounded academic writers
  8. Generative AI and the creative confusion of academic writers
  9. Using Generative AI for functional rather than expressive writing
  10. The Joy of Academic Writing in the Age of AI
  11. The Objects With Which We Write: The Materiality of Academic Writing in a Digital Age
  12. How LLMs change the relationship between thinking and writing
  13. Machine writing and keeping your inner world awake
  14. Finding Joy in the Creative Darkness: Reflections on Writing and Stuckness
  15. The subtle pleasures of LLM’s psuedo-understanding
  16. We urgently need to talk about the temptations of LLMs for academics
  17. Generative AI and thriving in creative darkness
  18. Academic writing has always been in flux

This is Claude’s summary of the core argument which unites these posts into a coherent project. One of the reasons I lost my enthusiasm for the project was the manner in which its capacity to imitate my style, sometimes doing it when I hadn’t asked, disrupted the psychology of my enthusiasm for what I was doing:

The core argument of the book is that generative AI forces academics to confront fundamental questions about why we write and what writing means to us beyond mere productivity. While machine writing offers tempting solutions to the difficulties inherent in academic writing, these difficulties are actually integral to the creative process and intellectual development. If we embrace AI tools primarily as efficiency mechanisms to produce more outputs more quickly, we risk losing the joy and meaning that make writing worthwhile in the first place. Instead, we should approach AI as a conversational partner that enhances our thinking rather than replacing it, staying with the productive "trouble" of writing rather than seeking to escape it. This reflexive approach to writing technology allows us to resist the instrumental acceleration of academic life while still benefiting from AI's creative potential.

However I’ve used Claude to support the editing of these blog posts based on the 80% complete draft of the book, simply because I wouldn’t get round to it otherwise. It has copy edited extracts, condensed them at points, chosen some titles and generally polished the text. There’s a few bridging sentences it provided but nothing more than this. I’m glad it’s given this project a public life because I feel like I was saying something valuable here. But I wasn’t willing to produce a second book on generative AI in two years, as it felt like I was stuck in a performative contradiction which was increasingly uncomfortable.

Instead my plan is to focus on doing my best intellectual work by focusing, for the first time in my career really, on one thing at a time. I’ll still be blogging in the meantime as the notepad for my ideas, but I’d like to take a more careful and nuanced approach to academic writing going forward. I’m not sure if it will work but it’s a direct outcome of the arguments I developed in this book. It was only when I really confronted the rapid increase in the quantity of my (potential) output that I was able to commit myself in a much deeper way to the quality of what I wanted to write in future.

https://www.youtube.com/watch?v=6IytEOXamsk

And this is how we rise - by taking a fall
Survive another winter on straight to the thaw
One day you'll learn to strain the tea through your teeth
And maybe find the strength to proceed to the peak
You press on into the thin again and cannot breathe
Swallow so much of my damn pride that it chokes me
The real risk is not a slipped grip at the edge of the peak
The real danger is just to linger at the base of the thing

This is a follow up to the 23 part series I did last summer on How To Enjoy Writing. In fact it emerged directly from “I have something to say here” to “I should write another book”, which is exactly the transition I’m now questioning in myself 🤔

  1. Be rigorous about capturing your fringe thoughts
  2. Placing limits on your writing practice
  3. Being realistic about how long you can spend writing
  4. Embracing creative non-linearity
  5. Keep trying to say what you’re trying to say
  6. Procrastination is your friend, not your enemy
  7. Knowing when (and why) to stop writing
  8. Initial reflections from my AI collaborator
  9. Identifying and valuing your encounters with ideas
  10. A poetic interlude from Claude
  11. Cultivating an ecology of ideas
  12. Claude’s ecology of ideas self-assessment tool
  13. Only ideas won by walking have any value
  14. Using generative AI as an interlocutor
  15. Word acrobatics performed with both harness and net
  16. Don’t impose a shape on things too quickly
  17. Creative confidence means accepting the tensions in how you think
  18. Understand where the ideas which influence you come from
  19. Not everything you write has to become something
  20. Being a writer means being good at AI
  21. Make your peace with the fact you don’t have creative freedom
  22. Confront the creepiness of LLMs head on
  23. Be clear about why you are writing

How University Students Use Claude
anthropic.com/news/anthropic-e
news.ycombinator.com/item?id=4

Aside: been trialing SoTA LLM 😯 😀

ChatGPT, Gemini, Claude ...
counterpunch.org/2025/04/07/th

* particularly impressed w. Claude (3.7 Sonnet), DeepSeek
* most SoTA free (ChatGPT higher performing paywalled): still amazing!
* chain-of-thought reasoning / augmented responses (web retrieval: RAG) 👍
* very impressive!!
* Firefox users: try the AI Toolbox extension 👍