A Model Context Protocol (MCP) server for accessing Raindrop.io bookmarks via HTTP/SSE transport. Deploy to Railway with automatic GitHub Actions CI/CD.
Provides AI assistants access to:
- Search and retrieve bookmarks
- Browse collections and tags
- Create new bookmarks
- Manage your bookmark library
To use this MCP, add the following configuration:
"raindrop": {
"disabled": false,
"headers": {
"Authorization": "Bearer YOUR_RAINDROP_TEST_TOKEN"
},
"url": "https://raindrop.darshanpania.me/mcp"
}Replace YOUR_RAINDROP_TEST_TOKEN with your Raindrop API token
To use this with AI Agents like Poke by Interaction, add the following: Poke Settings >> Connections >> Add Integration >> Create Custom Integration
Name: Raindrop IO
URL: https://raindrop.darshanpania.me/mcp
API Key: Bearer YOUR_RAINDROP_TEST_TOKEN
See SETUP.md for detailed instructions.
# Local development
npm install
cp .env.example .env
# Add RAINDROP_API_TOKEN to .env
npm run dev:http
# Production deployment
# 1. Add RAILWAY_TOKEN to GitHub secrets
# 2. Push to master
# GitHub Actions deploys automatically- Node.js 18+
- Raindrop API token
- Railway account (for production)
src/
├── http-server.ts # HTTP/SSE server
├── server.ts # MCP protocol logic
├── raindrop.ts # Raindrop API client
└── core.ts # Logger, config, errors
npm install # Install dependencies
npm run build # Build TypeScript
npm run dev:http # Start local server
npm test # Run tests
npm run type-check # Type checkingEnvironment Variables:
RAINDROP_API_TOKEN- Your Raindrop.io API token (required for local dev)PORT- Server port (default: 3000)LOG_LEVEL- Logging level (default: info)DEFAULT_COLLECTION- Default collection ID (default: -1)MAX_RESULTS- Max results per query (default: 50)
See .env.example for all options.
Push to master or main branch → GitHub Actions deploys to Railway automatically.
See SETUP.md for detailed deployment instructions.