{"id":1415,"date":"2026-06-10T21:15:23","date_gmt":"2026-06-10T19:15:23","guid":{"rendered":"https:\/\/pletzenauer.com\/2026\/06\/10\/configuring-mcp-servers-for-claude-desktop\/"},"modified":"2026-08-22T01:07:32","modified_gmt":"2026-08-21T23:07:32","slug":"configuring-mcp-servers-for-claude-desktop","status":"publish","type":"post","link":"https:\/\/pletzenauer.com\/en\/2026\/06\/10\/configuring-mcp-servers-for-claude-desktop\/","title":{"rendered":"Configuring MCP servers for Claude Desktop: what I actually use"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">MCP is the power-socket standard between Claude Desktop and your tools. Instead of ten proprietary integrations, app and tool speak the same protocol, and you connect mail, calendar or the file system directly instead of copying and pasting.<\/p>\n\n<h2 class=\"wp-block-heading\">Understanding the configuration file<\/h2>\n\n<p class=\"wp-block-paragraph\">A single file controls which servers Claude Desktop knows about: <code>claude_desktop_config.json<\/code>. On macOS it lives under <code>~\/Library\/Application Support\/Claude<\/code>, on Windows under <code>%APPDATA%\\Claude<\/code>, on Linux under <code>~\/.config\/Claude<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">One entry per server, with a name, a command and arguments. Environment variables are optional, as is a different transport. After every change the app has to be restarted completely, on macOS, closing the window is not enough.<\/p>\n\n<p class=\"wp-block-paragraph\">Run a JSON lint before you activate anything. A single missing comma makes the entire server list disappear.<\/p>\n\n<h2 class=\"wp-block-heading\">Six servers I most often start with<\/h2>\n\n<p class=\"wp-block-paragraph\"><strong>Filesystem server.<\/strong> Claude reads and writes inside a clearly bounded folder. Only ever grant access to one explicitly chosen path.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>GitHub or GitLab server.<\/strong> Repository context, pull requests, issues, a dedicated bot account with minimal rights is mandatory here.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Notion or Confluence server.<\/strong> Read from and write to the knowledge base. Sort out page permissions first, otherwise Claude will overwrite areas it should not touch.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Gmail or Outlook server.<\/strong> Search the mailbox and file drafts. Start read-only, and enable sending only once the ground rules are in place.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Google Drive or OneDrive server.<\/strong> Summarize PDFs, query spreadsheets, compare versions. Never expose the whole drive.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Jira or Linear server.<\/strong> Bring tickets along as context. Prefer read tokens, and allow writing only for clearly scoped tasks.<\/p>\n\n<h2 class=\"wp-block-heading\">When the hammer icon stays empty<\/h2>\n\n<p class=\"wp-block-paragraph\">Four failure patterns account for 90 % of cases in practice.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>A JSON syntax error.<\/strong> One forgotten comma or one duplicated bracket is enough. Run the file through a JSON linter before saving.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>The wrong path to the executable.<\/strong> Use absolute paths, not relative ones. On macOS and Linux, check the execute permissions.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Missing environment variables.<\/strong> Tokens and paths belong in the env block of the server configuration. The app does not rely on your shell profile.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>The server hangs on startup.<\/strong> Check the log file for a process waiting on input. A common cause is an interactive OAuth flow that has to be completed once.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Which MCP servers in Claude Desktop are actually worth it: my proven selection, safe setup and what I really use day to day.<\/p>\n","protected":false},"author":1,"featured_media":1464,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-1415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatisierung"],"_links":{"self":[{"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/posts\/1415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/comments?post=1415"}],"version-history":[{"count":5,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/posts\/1415\/revisions"}],"predecessor-version":[{"id":3304,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/posts\/1415\/revisions\/3304"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/media\/1464"}],"wp:attachment":[{"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/media?parent=1415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/categories?post=1415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/tags?post=1415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}