Skip to main content
Glama

Automated arXiv research paper discovery and AI-powered summarization system with MCP (Model Context Protocol) integration for Claude Desktop. Built as a vibe-coding project, we keep the tooling lightweight and the feedback loop fast so you can stay in flow while shipping research insights.

Features

  • Daily Automation: Automatically searches arXiv for papers matching your topics

  • AI Summaries: Claude-powered intelligent paper summarization with cost optimization

  • Multi-User: Support for multiple users with independent topic configurations

  • MCP Integration: Direct integration with Claude Desktop via Model Context Protocol

  • RSS Feeds: Per-user RSS/Atom feeds for any feed reader

  • Web Dashboard: Optional SvelteKit dashboard (coming soon)

  • Cost-Effective: Runs mostly on Cloudflare free tier (~$3/month for 2 users)

Architecture

  • MCP Server: TypeScript Worker handling MCP protocol and tool execution

  • Daily Automation: Cron-triggered Worker for paper collection and summarization

  • Storage: Cloudflare D1 (SQLite), R2 (PDFs), KV (cache)

  • AI: Claude 3.5 Sonnet with Haiku triage for cost optimization

Quick Start

Prerequisites

  • Cloudflare account with Workers, D1, KV, and R2 enabled

  • Anthropic Claude API key (console.anthropic.com)

  • Bun 1.1+ (package manager - install from bun.sh)

  • Wrangler CLI (installed automatically via bun)

Installation

# Clone the repository git clone https://github.com/jeffaf/kivv.git cd kivv # Install dependencies with bun (our vibe-coding default) bun install # Set up environment variables cp .env.example .env # Edit .env with your API keys and Cloudflare credentials

Deployment

For complete deployment instructions, see DEPLOYMENT.md.

Quick deployment:

# Set secrets for automation worker cd automation wrangler secret put CLAUDE_API_KEY wrangler secret put CRON_SECRET # Deploy automation worker wrangler deploy # Deploy MCP server cd ../mcp-server wrangler deploy # Configure Claude Desktop (see DEPLOYMENT.md for details) # Add MCP server URL and API key to Claude Desktop config

Verification

# Test automation worker curl https://kivv-automation.<username>.workers.dev/health # Test MCP server curl https://kivv-mcp.<username>.workers.dev/health # Check database wrangler d1 execute kivv-db --command "SELECT COUNT(*) FROM users" # Or use the automated health check script ./scripts/health-check.sh

See TROUBLESHOOTING.md if you encounter any issues.

Automated Deployment Script

For one-command deployment:

# Run the automated deployment script ./scripts/deploy.sh # This will: # - Verify prerequisites # - Check infrastructure # - Configure secrets # - Deploy both workers # - Provide Claude Desktop config

Project Structure

kivv/ ├── mcp-server/ # MCP Server Worker (Claude integration) ├── automation/ # Daily automation Worker (cron) ├── shared/ # Shared types and utilities ├── tests/ │ ├── security/ # Security tests (auth, injection, XSS) │ ├── integration/ # MCP tool integration tests │ └── unit/ # Unit tests ├── .checkpoint/ # Development checkpoints └── package.json # Monorepo root with workspaces

Documentation

CI & Automation

  • Tests & Type Checks: GitHub Actions run bun run type-check and bun test on pushes and pull requests to keep the vibe coding fast without breaking the build.

  • Deployments: Cloudflare Workers deploy pipelines trigger when mcp-server/ or automation/ change, using wrangler with your configured Cloudflare credentials.

Development

# Run type checking bun run type-check # Run all tests bun test # Run security tests specifically bun run test:security # Run tests in watch mode bun run test:watch # Run MCP server locally bun run dev:mcp # Run automation worker locally bun run dev:automation # Build all workspaces bun run build

Testing

The project includes comprehensive test coverage:

  • Security Tests (100% coverage required):

    • Authentication (API key validation)

    • Authorization (user data isolation)

    • SQL injection prevention

    • XSS prevention in RSS feeds

    • Rate limiting enforcement

  • Integration Tests: End-to-end MCP tool workflows

  • Unit Tests: Isolated utility function testing

# Run with coverage report bun run test:coverage

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jeffaf/kivv'

If you have feedback or need assistance with the MCP directory API, please join our Discord server