Claude + MCP: Setting Up Your First Custom Tool Connection
The Model Context Protocol (MCP) is an open standard introduced by Anthropic that enables structured, two-way connections between AI assistants and external data sources. Rather than copying content into Claude manually, MCP allows Claude Desktop to interact directly with filesystems, databases, APIs, and other tools through a server-client architecture.
This post walks through the configuration of a first MCP server connection in Claude Desktop, covering prerequisites, common configuration patterns, and the troubleshooting steps for issues we encounter frequently in client environments.
Architecture overview
MCP follows a client-server model. Claude Desktop acts as the MCP client, connecting to one or more MCP servers that expose specific capabilities — file access, database queries, API calls, or custom tools. Each server runs as a local process, communicating with Claude Desktop over stdio. This means data stays on your machine; MCP servers do not route through Anthropic's infrastructure.
The configuration lives in a JSON file that Claude Desktop reads on startup. Adding or modifying servers requires editing this file and restarting the application.
Prerequisites
Before configuring MCP servers, verify the following:
- Claude Desktop installed and updated to the latest version (MCP support was introduced in late 2024; older versions will not recognize the configuration).
- Node.js 18 or later installed and accessible from your system PATH. MCP servers distributed via npm require this runtime. Verify with
node --versionin your terminal. - Terminal familiarity. The configuration involves editing JSON files and potentially running commands to test server connectivity.
Configuration
The Claude Desktop configuration file is located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
If this file does not exist, create it. The structure for adding a filesystem MCP server:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/your/directory"
]
}
}
}
Replace /path/to/your/directory with the absolute path to the directory you want Claude to access. After saving the file, quit Claude Desktop completely (not just close the window — fully quit the application) and reopen it.
On successful configuration, a tools icon appears in the Claude Desktop input area. You can verify connectivity by asking Claude to list files in the connected directory.
Available MCP servers
The MCP ecosystem includes servers for a range of integrations. Commonly deployed options:
- Filesystem: Read and write access to specified directories
- SQLite / PostgreSQL: Direct database queries from within Claude
- GitHub: Repository access, issue management, pull request review
- Slack: Message search and channel interaction
- Google Drive: Document access and search
Each server has its own configuration requirements and permission model. The official MCP servers repository documents the available options and their configuration parameters.
Troubleshooting
Server not connecting: The most common cause is Node.js not being accessible from the context in which Claude Desktop launches. On macOS, applications launched from the Dock may not inherit terminal PATH modifications. Verify by running the npx command manually in a terminal window. If it works there but not in Claude Desktop, the PATH configuration needs adjustment.
Permission errors: Ensure the specified directory path exists and that your user account has read (and write, if needed) permissions. Relative paths are not supported — use absolute paths only.
Tools icon not appearing: This typically indicates a JSON syntax error in the configuration file. Validate the JSON structure (missing commas, unclosed braces) before restarting. Claude Desktop does not surface configuration parse errors in the UI.
Multiple servers: Additional servers are added as sibling entries in the mcpServers object. Each server runs as an independent process. Be aware that running many servers simultaneously increases memory usage.
Security considerations
MCP servers run with the permissions of your user account. A filesystem server configured with access to your home directory gives Claude read/write access to everything in that directory tree. For team deployments, scope server access to the minimum necessary directories and consider the implications of write access before enabling it.
Getting help
MCP configuration is straightforward for single-server setups but becomes more involved when connecting multiple tools, managing team-wide deployments, or building custom servers for internal APIs. If you'd like assistance with your Claude + MCP setup, book a free 15-minute call and we'll scope the work together.