name: mcp-setup description: MCP server configuration, troubleshooting, and Todoist REST API workarounds
MCP Server Configuration
Configuration Locations
- User-level config:
~/.claude/settings.json(required for VSCode extension) - Project-level config:
.mcp.json(may not be loaded by VSCode extension) - Environment file:
~/.claude/.env(copy from project.env)
Important Setup Notes
-
Node.js Required: Install via
brew install node(needed for all MCP servers using npx) -
Use Full Paths: VSCode may not have Homebrew in PATH, so use
/opt/homebrew/bin/npxinstead of justnpx -
No Variable Interpolation: The
${VAR}syntax does NOT work in~/.claude/settings.json. You must hardcode actual token values. -
Restart Required: After changing
~/.claude/settings.json, fully quit VSCode (Cmd+Q) and reopen. A simple reload may not pick up changes. -
OAuth for Google Services: First run of gdrive/gcal will open browser for authentication. Tokens cached in
~/.mcp-gdrive/or similar.
MCP Server Packages
| Server | Package | Env Variable |
|---|---|---|
| todoist | @abhiz123/todoist-mcp-server | TODOIST_API_TOKEN |
| notion | @notionhq/notion-mcp-server | NOTION_TOKEN |
| ccg-bot | @modelcontextprotocol/server-slack | SLACK_BOT_TOKEN |
| astra-bot | @modelcontextprotocol/server-slack | ASTRA_SLACK_BOT_TOKEN |
| gdrive | @isaacphi/mcp-gdrive | GOOGLE_OAUTH_CREDENTIALS (path to OAuth keys) |
| gcal | @anthropic/mcp-gcal | GCAL_OAUTH_PATH (path to OAuth keys) |
| github | @modelcontextprotocol/server-github | GITHUB_TOKEN |
Note: The gdrive package is @isaacphi/mcp-gdrive, NOT @anthropic/mcp-gdrive (that one doesn't exist on npm).
Example ~/.claude/settings.json
{
"mcpServers": {
"gdrive": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "@isaacphi/mcp-gdrive"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/Users/terrytong/Documents/CCG/ToolProj/gcp-oauth.keys.json"
}
},
"todoist": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "@abhiz123/todoist-mcp-server"],
"env": {
"TODOIST_API_TOKEN": "your-actual-token-here"
}
},
"notion": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "your-actual-token-here"
}
}
}
}
Troubleshooting MCP
| Error | Solution |
|---|---|
| "Failed to connect" | Check Node.js: /opt/homebrew/bin/node --version |
| 401 Unauthorized | Tokens cached from old config. Fully restart VSCode |
| Package not found | Search npm: /opt/homebrew/bin/npm search mcp <service> |
| OAuth issues | Run manually: GOOGLE_OAUTH_CREDENTIALS=<path> /opt/homebrew/bin/npx -y @isaacphi/mcp-gdrive |
Pre-install packages globally: /opt/homebrew/bin/npm install -g @isaacphi/mcp-gdrive @abhiz123/todoist-mcp-server
Todoist REST API Workaround
The Todoist MCP tool often returns 401 errors. Use the REST API directly via curl instead:
# Create a task (source .env first to get TODOIST_API_TOKEN)
source /Users/terrytong/Documents/CCG/ToolProj/.env && curl -s -X POST "https://api.todoist.com/rest/v2/tasks" \
-H "Authorization: Bearer $TODOIST_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content": "Task title here",
"project_id": "2363714490",
"due_string": "today"
}'
# Delete a task
source /Users/terrytong/Documents/CCG/ToolProj/.env && curl -s -X DELETE "https://api.todoist.com/rest/v2/tasks/{task_id}" \
-H "Authorization: Bearer $TODOIST_API_TOKEN"
# Get tasks
source /Users/terrytong/Documents/CCG/ToolProj/.env && curl -s "https://api.todoist.com/rest/v2/tasks?project_id=2363714490" \
-H "Authorization: Bearer $TODOIST_API_TOKEN"
Key: Always source .env before curl commands since MCP servers don't pick up bash exports.