{"id":1415,"date":"2026-06-10T21:46:18","date_gmt":"2026-06-10T19:46:18","guid":{"rendered":"https:\/\/pletzenauer.com\/2026\/06\/10\/configuring-mcp-servers-for-claude-desktop\/"},"modified":"2026-06-10T21:46:18","modified_gmt":"2026-06-10T19:46:18","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 \u2013 and you connect mail, calendar, or filesystem directly, instead of by copy-paste.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Understanding the configuration file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A single file controls which servers Claude Desktop knows: <code>claude_desktop_config.json<\/code>. It lives on macOS under <code>~\/Library\/Application Support\/Claude<\/code>, on Windows under <code>%APPDATA%Claude<\/code>, on Linux under <code>~\/.config\/Claude<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One entry per server with name, command, and arguments. Optional environment variables, optional a different transport. After every change the app has to be restarted completely \u2013 on macOS, closing the window is not enough.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run a JSON lint before activating. A single missing comma makes the entire server list disappear.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Six servers I most often start with<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Filesystem server.<\/strong> Claude reads and writes in a clearly bounded folder. Only grant access to one explicitly chosen path.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GitHub or GitLab server.<\/strong> Repository context, pull requests, issues \u2013 a dedicated bot account with minimal rights is mandatory here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Notion or Confluence server.<\/strong> Read and fill the knowledge base. Clarify page permissions beforehand, otherwise Claude overwrites sections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gmail or Outlook server.<\/strong> Search the mailbox and place drafts. Start read-only, send only once the rules are in place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Google Drive or OneDrive server.<\/strong> Summarize PDFs, query tables, compare versions. Never expose the entire drive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>JIRA or Linear server.<\/strong> Bring tickets along as context. Prefer read tokens, write only for clearly defined tasks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When the hammer icon stays empty<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Four error patterns make up 90% of cases in practice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>JSON syntax error.<\/strong> A forgotten comma or a doubled bracket is enough. Throw it into a JSON linter before saving.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Wrong path to the executable.<\/strong> Use absolute paths, not relative ones. On macOS and Linux, check execution rights.<\/p>\n\n\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 the shell profile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Server hangs on start.<\/strong> Check the log file for whether the process is waiting for input. Common cause: an interactive OAuth flow that has to be run once.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MCP is the power-socket standard between Claude and your tools. I explain how the configuration file is built and which six servers deliver the most in practice.<\/p>\n","protected":false},"author":1,"featured_media":1464,"comment_status":"","ping_status":"open","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":0,"href":"https:\/\/pletzenauer.com\/en\/wp-json\/wp\/v2\/posts\/1415\/revisions"}],"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}]}}