Time to make Claude actually use what you built.
Build the server
npm run build
This compiles your TypeScript to build/index.js. You need the built file for Claude Desktop — it can't run TypeScript directly.
Get the absolute path to your built file:
# Mac/Linux
pwd
# Combine with /build/index.js
# Example: /Users/yourname/my-mcp-server/build/index.js
# Windows
cd
# Example: C:\Users\yourname\my-mcp-server\build\index.js
Update Claude Desktop config
Open claude_desktop_config.json and add your server:
{
"mcpServers": {
"my-first-mcp-server": {
"command": "node",
"args": ["/Users/yourname/my-mcp-server/build/index.js"]
}
}
}
Replace the path with your actual absolute path. The key "my-first-mcp-server" is just a label — it can be anything.
If you already have other MCP servers in the config, add yours inside mcpServers alongside them.
Restart Claude Desktop
Claude Desktop only reads the config on startup. Fully quit and reopen it — don't just close the window.
Mac: Cmd+Q then reopen
Windows: Right-click taskbar icon → Quit, then reopen
Verify it connected
After restarting, look for the hammer icon (🔨) in the Claude Desktop chat input. Click it — you should see your tools listed:
say_helloread_filefetch_urllist_directory
If you see them, your server is connected. Try it:
"Say hello to Deepak"
"Read the file at /Users/yourname/Desktop/notes.txt"
"List the files in my Downloads folder"
Watch Claude call your tools in real time. The tool call appears inline in the response before Claude uses the result.
Claude Desktop shows the tool being called inline — you can see exactly what it passed and what came back.